51

JavaPolis 2004

  • Upload
    muriel

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

JavaPolis 2004. Java Technologies for Telecom. Gerard Maas Software Architect Bert Van Vlerken Research Engineer Alcatel Bell. Overall Presentation Goal. Illustrate how JCA 1.5 and JAIN SLEE 1.0 offer a new and better way to create, integrate, and support telecom-scale services. - PowerPoint PPT Presentation

Citation preview

Page 1: JavaPolis 2004
Page 2: JavaPolis 2004

JavaPolis 2004

Java Technologies for Telecom

•Gerard MaasSoftware Architect

•Bert Van VlerkenResearch Engineer

Alcatel Bell

Page 3: JavaPolis 2004

Illustrate how JCA 1.5 and JAIN SLEE 1.0 offer a new and better way to create, integrate, and support telecom-scale services

Overall Presentation Goal

IMPLEMENTING REAL ICT!

Page 4: JavaPolis 2004

• Gerard Maas – is a Software Architect at Alcatel, creating a J2EE based

Telecom integration product – presented his recent work on J2EE and Telecom integration

at JavaOne 2004

• Bert Van Vlerken – is a Research Engineer at Alcatel, investigating Java based

Service Delivery and Execution Platforms– is lecturer on JAIN SLEE at the Alcatel University

Speaker’s Qualifications

Page 5: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

Page 6: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

Page 7: JavaPolis 2004

• Java has had a hard time getting into the telecom space, now 2 technologies are going to change that !

Java loves Telecom, does Telecom love Java ?

Socket

HTTP

SIP ServletsJAIN SIP

JCC

JAIN INAP

NIO

JAIN MEGACO

Page 8: JavaPolis 2004

IT

Client/Server

ApplicationServer

J2EE

Telecoms

Intelligent Network

Softswitch

JAINSLEE

IT/Telecom Convergence

CarrierGrade

ApplicationServer

Page 9: JavaPolis 2004

IP

Convergence is Happening

Page 10: JavaPolis 2004

SLEE

SLEE & Service Management

Interfaces

JMX AgentComponent

Container

SBB

SBB SBB

SBBSBB

Timer Facility

Alarm Facility

Trace Facility

Usage Facility

Event Dispatcher

JAIN SLEEConnector

Positioning

NetworkElement

Connector

J2EENw Tx

ServicePrimitives

SupportingComponents

Servlets JSP WebServicesBasic Services High Level 3rd Party Itf

ServiceLogic

Gerard

Bert

Page 11: JavaPolis 2004

• Operators want– Integrated OSS/BSS

o Single mode of operationo Single subscriber concept

– Faster time to market for their serviceso Easier developmento Increase developer base

– Open Standardso Increased service portabilityo More ‘shopping’ possibilities

– Common services & capabilities across all networks

Convergence Requires …

• Leading to1. A Service Environment that bridges the gap between OSS/BSS and

various network technologies2. Converged platforms supporting existing and new services

Page 12: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

Page 13: JavaPolis 2004

J2EE 1.4System Level Contracts

ApplicationServer

Conta

iner

Con

nect

or

Serv

ices

Transaction Management

Lifecycle Management

Security Contract

Work Management

Connection Management

ExistingSystem

Resource Adapter

ExistingSystem

Resource Adapter

Java Connector Architecture 1.5

Page 14: JavaPolis 2004

J2EE 1.4System Level Contracts

ApplicationServer

Conta

iner

Con

nect

or

Serv

ices

Transaction Management

Lifecycle Management

Security Contract

Work Management

Connection Management

ExistingSystem

Resource AdapterM

an

ag

ed

Co

nn

ectio

nM

an

ag

ed

Co

nn

ectio

nM

an

ag

ed

Co

nn

ectio

n

Ma

na

ge

dC

on

ne

ction

Ma

na

ge

dC

on

ne

ction

Ma

na

ge

dC

on

ne

ction

Ma

na

ge

dC

on

ne

ction

Ma

na

ge

dC

on

ne

ction

Ma

na

ge

dC

on

ne

ction

ManagedConnection

Factory

ConnectionConn. Factory

MessageEndpoint

Endpoint Factory

Work Work

Work Manager

bootstrap

ResourceAdapterImpl

MessageEndpoint MessageEndpoint

Java Connector Architecture 1.5

Page 15: JavaPolis 2004

JCA 1.5: Connection Contract/Sync

J2EE 1.4

ApplicationServer

Conta

iner

Con

nect

or

Serv

ices

Connection Management

EJB

ExistingSystem

Resource Adapter

X

ManagedConnection Pool

ManagedConnection Pool

X

X

X

result = conn.send(request); result = conn.send(request);

ConnectionFactory factory = < JNDI Lookup >ConnectionFactory factory = < JNDI Lookup >

Connection conn = factory.getConnection(…);Connection conn = factory.getConnection(…);

Same address space

Page 16: JavaPolis 2004

J2EE 1.4

ApplicationServer

Conta

iner

Con

nect

or

Serv

ices

Connection Management

ExistingSystem

Resource Adapter

X

X

X

X

bootstrap

Same address space

EndpointActivation- endpoint factory- activationSpec

EndpointActivation- endpoint factory- activationSpec

endpoint factoryendpoint factory

MDB’sMDB’s

Bootstrap phase

JCA 1.5: Connection Contract/Async

Page 17: JavaPolis 2004

J2EE 1.4

ApplicationServer

Conta

iner

Con

nect

or

Serv

ices

Connection Management

ExistingSystem

Resource Adapter

X

X

X

X

X

X

XX

Same address space

MessageEndpointFactory.createEndPoint()MessageEndpointFactory.createEndPoint()

endPoint.onMessage(message);endPoint.onMessage(message);

public void onMessage(MyMessageType message) { data = otherBean.process(message); report.create(data); store(data);}

public void onMessage(MyMessageType message) { data = otherBean.process(message); report.create(data); store(data);}

JCA 1.5: Connection Contract/Sync

Page 18: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

• Use Case 1: Bulk file import

Page 19: JavaPolis 2004

J2EE

StandaloneJVM

MDB

Timer Service

Fileparser

JMS Queue

Recordprocessor

JMSClient

OSS Interface Contract:• X times/day a new file comes in

• The CSV format should be parsed & converted into records

• The records should be passed to the app server for processing

• The records must be ‘dosed’ to avoid undesired peak loads

flowManagement.deliver( )flowManagement.deliver( )

X

X XX

X

JCA 1.5: UC1. File Based Bulk Upload. (OSS Integration.)

Page 20: JavaPolis 2004

• Management & monitoring is complex– Involves several disparate systems– Lifecycle management must be custom developed– Extra configuration needed

o On the App servero On the standalone VM

• Resources are not used optimally– No service re-usability (eg. Scheduler, File reader)– Extra VM

o Implies static memory allocation, threads

• Difficult to scale & cluster; fragile– Problem tracking involves several disparate systems

JCA 1.5: UC1. File Based Bulk Upload. (OSS Integration.)

Issues with this solution

Page 21: JavaPolis 2004

J2EE 1.4Application

Server

Conta

iner

Con

nect

or

Serv

ices

File System

File Adapter

File Reader Worker(Scheduled)

Timer Service

Record pre-processor

RecordMDB

processor X

flowManagement.deliver( )flowManagement.deliver( )X

JCA 1.5: UC1. File Based Bulk Upload. JCA Solution

Page 22: JavaPolis 2004

J2EE 1.4Application

Server

Conta

iner

Con

nect

or

Serv

ices

File System

CSV File Adapter

File Reader Worker(Scheduled)

Record pre-processor

RecordMDB

processorflowManagement.deliver( )flowManagement.deliver( )X

JCA 1.5: UC1. File Based Bulk Upload. JCA Solution

Page 23: JavaPolis 2004

J2EE 1.4Application

Server

Conta

iner

Con

nect

or

Serv

ices

File System

CSV File Adapter

File Reader Worker(Scheduled)

Record pre-processor

RecordXMDB

processorflowManagement.deliver( )flowManagement.deliver( )X

X Y

RecordYMDB

processorflowManagement.deliver( )flowManagement.deliver( )Y

JCA 1.5: UC1. File Based Bulk Upload. JCA Solution

Page 24: JavaPolis 2004

• Management & monitoring are standardized and handled by the Application Server

• Resources (threads, memory, file system) are managed, shared and used optimally

• The connector is a reusable and generic component : Architecturally SOUND!

• Integrated, robust, scalable, extendable

JCA 1.5: UC1. File Based Bulk Upload. JCA Solution

In this solution:

It is:

On top of that…

Page 25: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

• Use Case 2: Real Time Rating

Page 26: JavaPolis 2004

JCA 1.5: UC2. Real Time Rating.

PaymentPayment

AccountingAccounting

Terminal LocationTerminal Location

Call notificationCall notification

User ProfileUser Profile

Third PartyCall

Third PartyCall

User StatusUser Status

RatingRating

MultimediaMessage

MultimediaMessage

ShortMessage

ShortMessage

ProvisioningProvisioning

J2EE

WebService

JSP/Servlets

OSP

NETWORK TIME CRITICAL DPE BUSNETWORK TIME CRITICAL DPE BUS

PSE RatingEngine …..

Stats&

alarms

Loc.Server

APPLICATION TIME CRITICAL DPE BUSAPPLICATION TIME CRITICAL DPE BUS

Page 27: JavaPolis 2004

JCA 1.5: UC2. Real Time Rating.

Payment

Accounting

Terminal Location

Call notification

User Profile

Third PartyCall

User Status

RatingRating

MultimediaMessage

ShortMessage

Provisioning

J2EE

WebServices

JSP/Servlets

OSP

NETWORK TIME CRITICAL DPE BUSNETWORK TIME CRITICAL DPE BUS

PSE RatingEngine …..

Stats&

alarms

Loc.Server

APPLICATION TIME CRITICAL DPE BUSAPPLICATION TIME CRITICAL DPE BUS

Rating

Page 28: JavaPolis 2004

JCA 1.5: UC2. Real Time Rating.

OSP

NETWORK TIME CRITICAL DPE BUSNETWORK TIME CRITICAL DPE BUS

PSE RatingEngine …..

Stats&

alarms

Loc.Server

APPLICATION TIME CRITICAL DPE BUSAPPLICATION TIME CRITICAL DPE BUS

J2EE

WebServices

JSP/Servlets

Rating RatingRating

Rating Rating

Page 29: JavaPolis 2004

JCA 1.5: UC2. Real Time Rating.

OSP

NETWORK TIME CRITICAL DPE BUSNETWORK TIME CRITICAL DPE BUS

PSE RatingEngine …..

Stats&

alarms

Loc.Server

APPLICATION TIME CRITICAL DPE BUSAPPLICATION TIME CRITICAL DPE BUS

DPE BUSConnector

J2EENw Tx

ServicePrimitives

SupportingComponents

Servlets JSP WebServicesBasic Services High Level 3rd Party Itf

ServiceLogic

Page 30: JavaPolis 2004

JCA 1.5: UC2. Real Time Rating.

J2EE 1.4Application

Server

Conta

iner

Con

nect

or

Serv

ices

APPLICATION TIME CRITICAL DPE BUSAPPLICATION TIME CRITICAL DPE BUS

DPE Conn

NIO

Rating EJB

NIO

Protocol Impl

Message primitivesrequest, send(Async)

getBalance(Account)adviceOfCharge(Account, item)reserveAmount(Account,€$)chargeAmount(Account, €$)releaseAmount(Account, €$)

getBalance(Account)adviceOfCharge(Account, item)reserveAmount(Account,€$)chargeAmount(Account, €$)releaseAmount(Account, €$)

asyncsync

getBalance(Account) { Connection = ConnectionFactory.getConnetion(); DPEMessage = Connection.createMessage(Service); DpeMessage.setRequestType(BALANCE_OP); DpeMessage.setAccount(Account); result = Connection.request(DpeMessage); Connection.close(); return result;}

getBalance(Account) { Connection = ConnectionFactory.getConnetion(); DPEMessage = Connection.createMessage(Service); DpeMessage.setRequestType(BALANCE_OP); DpeMessage.setAccount(Account); result = Connection.request(DpeMessage); Connection.close(); return result;}

Page 31: JavaPolis 2004

0%

50%

100%

150%

200%

250%

300%

350%

400%

CPU usage CAPS

JAR-Based

Connector

Normalized on JAR-Based Communication (legacy)

JCA 1.5: UC2. Real Time Rating.

Performance Comparison

Page 32: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

Page 33: JavaPolis 2004

• Standardized in the Java Community Process (JCP):

– JSR 22: started in July 1999, R1.0 released Feb 2004

– JSR 240: started March 2004, specifies resource adapter framework

JAIN SLEE

Event ProcessingEvent Processing

Application ServerApplication Server

Low LatencyLow Latency High ThroughputHigh Throughput

Page 34: JavaPolis 2004

DSL/WLL PSTNPLMNIP/LAN/WAN/3G

N e t w o r k A d a p t e r s

HTTP, SIP HTTP, SIPCAP, WINSMS, WAP INAP, AIN

JAIN Application Interfaces

JAIN SLEE

SLEEComponent

Container

SBB

SBB SBB

SBBSBB

Timer Facility

Alarm Facility

Trace Facility

Usage Facility

Event Dispatcher

SLEE & Service Management

Interfaces

JMX Agent

Management Application

Page 35: JavaPolis 2004

• Event based component infrastructure– Event router: routes events to interested event consumers– Dynamic event channels: Activities & ActivityContexts– Event filtering support

JAIN SLEE Features

• The usual container stuff…– Life cycle management, pooling, threading, …

• Designed for performance– Lightweight transactions for low latency– In memory profile data– Garbage Collection linked to life cycle management

• Standard Profile Facility– Makes provisioning easy & consistent

Page 36: JavaPolis 2004

• The main deployable unit in JAIN SLEE is a Service• A Service consists of

– one or more Service Building Blocks (SBBs)– zero or more Profile Table references– zero or more Resource Adaptor references

SBB SBB SBB

RA RA

Service

ProfileTables

Component architecture

• The SBBs contain the application logic• The Profile Tables represent provisioned data• The Resource Adaptors are the external interfaces

Page 37: JavaPolis 2004

SBB Container

Reso

urc

e A

dapto

r Fr

am

ew

ork

NetworkElement

Resource Adapter

X

SBB

SBB

Same address space

X

JAIN SLEE 1.0

Xpublic void onEventA(EventA e, AcitivtyContextInterface aci) { doWork(e);}

public void onEventA(EventA e, AcitivtyContextInterface aci) { doWork(e);}

public void onEventB(EventB e, AcitivtyContextInterface aci) { doWork(e);}

public void onEventB(EventB e, AcitivtyContextInterface aci) { doWork(e);}

Dynamic Event ChannelsActivities & Activity Contexts

Framework.activityCreated(activity);Framework.activityCreated(activity);

Framework.sendEvent(activity, eventA);Framework.sendEvent(activity, eventA);

Framework.sendEvent(activity, eventB);Framework.sendEvent(activity, eventB);

Page 38: JavaPolis 2004

Database

MD-EJB

• Implemented through message driven beans

Custom Message

Message

MD-EJB Message Queue

JMS Message

MD-EJB

Message Topic

…MD-EJB

event channel

Get State

from DB

Do I have to process this

event ?

Relation to Queue or Topic isfixed in deployment

descriptor

Create State in

DB

Asynchronism in J2EE

Page 39: JavaPolis 2004

SBB StateSBB

Activity Context

EventSBB

Handled by JAIN SLEE

Activity Context

EventSBB

SBB

Dynamically attach or detach from Activity

Context

Creation of SBB State ishandled automatically

Mapping of JAIN SLEE Concepts

Activity Context

Event

Dynamic creation of

Activity Contexts

Page 40: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

• Use Case: Prepaid Charging

Page 41: JavaPolis 2004

• Network Services– Prepaid charging– Virtual Private Networks– Instant Messaging & Presence

• Network Control– IP Multimedia Subsystem (IMS) (think SIP and Mobiles)– Call Control– Next Generation Networks (Voice over IP)

Usage scenario’s for JAIN SLEE

Page 42: JavaPolis 2004

Call Control APIAccountManager API

PSTNMobile

AccountManager RA

JAIN SLEE

SLEE

ComponentContainer

SBBInstance A

Timer Facility

SBBInstance B

PrePaidChargingService

Profile Table

Mobile CC RA Fixed CC RA

AccountManager

A B

Contains for each phone number a tarif scheme & account info

Start Call AStart Call

Lookup Tarif

Fetch Workmoney

Arm TimerPeriodic

Timer Events

Page 43: JavaPolis 2004

Call Control APIAccountManager API

PSTNMobile

AccountManager RA

JAIN SLEE

SLEE

ComponentContainer

SBBInstance A

Timer Facility

SBBInstance B

PrePaidChargingService

Profile Table

Mobile CC RA Fixed CC RA

AccountManager

A B

Contains for each phone number a tarif scheme & account info

Stop Call BStop Call

Cancel Timer

Page 44: JavaPolis 2004

Call Control APIAccountManager API

PSTNMobile

AccountManager RA

JAIN SLEE

SLEE

ComponentContainer

SBBInstance A

Timer Facility

SBBInstance B

PrePaidChargingService

Profile Table

Mobile CC RA Fixed CC RA

AccountManager

A B

Contains for each phone number a tarif scheme & account info

Refund Leftover

Page 45: JavaPolis 2004

Call Control APIAccountManager API

PSTNMobile

AccountManager RA

JAIN SLEE

SLEE

ComponentContainer

SBBInstance A

Timer Facility

PrePaidChargingService

Profile Table

Mobile CC RA Fixed CC RA

AccountManager

A

Contains for each phone number a tarif scheme & account info

Page 46: JavaPolis 2004

Call Control APIAccountManager API

PSTNMobile

AccountManager RA

JAIN SLEE

SLEE

ComponentContainer

SBBInstance A

Timer Facility

PrePaidChargingService

Profile Table

Mobile CC RA Fixed CC RA

AccountManager

A

Contains for each phone number a tarif scheme & account info

Page 47: JavaPolis 2004

Call Control APIAccountManager API

PSTNMobile

AccountManager RA

JAIN SLEE

SLEE

ComponentContainer

Timer Facility

PrePaidChargingService

Profile Table

Mobile CC RA Fixed CC RA

AccountManager

Contains for each phone number a tarif scheme & account info

Page 48: JavaPolis 2004

• Java & Telecom

• Java Connector Architecture 1.5

• JAIN Service Logic Execution Environment

• Conclusions

Outline

Page 49: JavaPolis 2004

• JCA 1.5– Communicate with external system. – Reuses basic services for integration code.– Enables real J2EE integration in many domains

• JAIN SLEE 1.0– Low-latency, High Throughput, Event processing – Dynamic event channels: Activities & Activity Contexts– Service Building Blocks

Summary

Page 50: JavaPolis 2004

If You Only Remember One Thing…

Socket

HTTP

SIP ServletsJAIN SIP

JCC

JAIN INAP

NIO

JAIN MEGACO

… does Telecom love Java ?Socket

HTTP

SIP ServletsJAIN SIP

JCC

JAIN INAP

NIO

JAIN MEGACO

JAIN SLEE JCA 1.5

YES, Telecom loves Java !

Page 51: JavaPolis 2004

JavaPolis 2004

•Gerard [email protected]

•Bert Van [email protected]

www.alcatel.be