1 / 51

JavaPolis 2004

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.

muriel
Download Presentation

JavaPolis 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JavaPolis 2004 Java Technologies for Telecom • Gerard Maas Software Architect • Bert Van Vlerken Research Engineer Alcatel Bell

  2. 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 IMPLEMENTING REAL ICT!

  3. Speaker’s Qualifications • 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

  4. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions

  5. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions

  6. Socket NIO JAIN SIP SIP Servlets JAIN MEGACO JAIN INAP HTTP JCC Java loves Telecom, does Telecom love Java ? • Java has had a hard time getting into the telecom space, now 2 technologies are going to change that !

  7. IT Client/Server Application Server Carrier Grade Application Server J2EE Softswitch JAIN SLEE IntelligentNetwork Telecoms IT/Telecom Convergence Next Generation Services Next Generation Services

  8. IP Convergence is Happening

  9. High Level 3rd Party Itf Basic Services WebServices J2EE Servlets JSP Supporting Components Service Logic Component Container JMX Agent SLEE Service Primitives Nw Tx Timer Facility SBB SBB SLEE & Service Management Interfaces Alarm Facility JAIN SLEE Connector Network Element Connector SBB Trace Facility Usage Facility SBB SBB Event Dispatcher Positioning Gerard Bert

  10. Convergence Requires … • Operators want • Integrated OSS/BSS • Single mode of operation • Single subscriber concept • Faster time to market for their services • Easier development • Increase developer base • Open Standards • Increased service portability • More ‘shopping’ possibilities • Common services & capabilities across all networks • Leading to • AService Environmentthat bridges the gap between OSS/BSS and various network technologies • Converged platforms supporting existing and new services

  11. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions

  12. Resource Adapter Resource Adapter Existing System Existing System Java Connector Architecture 1.5 J2EE 1.4 System Level Contracts Application Server Connection Management Work Management Security Contract Container Connector Services Lifecycle Management Transaction Management

  13. Resource Adapter ManagedConnection ManagedConnection ManagedConnection ManagedConnection ManagedConnection ManagedConnection ManagedConnection ManagedConnection ManagedConnection Java Connector Architecture 1.5 J2EE 1.4 System Level Contracts ResourceAdapterImpl bootstrap Application Server Connection Conn. Factory Connection Management Work Manager Work Management ManagedConnectionFactory Work Work Security Contract Container Connector Services Endpoint Factory Lifecycle Management Message Endpoint Transaction Management Message Endpoint Message Endpoint Existing System

  14. ConnectionFactory factory = < JNDI Lookup > Managed Connection Pool Resource Adapter Application Server Container Connector Services X X X result = conn.send(request); JCA 1.5: Connection Contract/Sync J2EE 1.4 Connection conn = factory.getConnection(…); Connection Management EJB X Existing System Same address space

  15. EndpointActivation • endpoint factory • activationSpec Resource Adapter Application Server Container Connector Services X X X MDB’s endpoint factory JCA 1.5: Connection Contract/Async J2EE 1.4 bootstrap Connection Management X Existing System Same address space Bootstrap phase

  16. Resource Adapter Application Server X X Container Connector Services MessageEndpointFactory.createEndPoint() X X X X X JCA 1.5: Connection Contract/Sync J2EE 1.4 Connection Management X endPoint.onMessage(message); public void onMessage(MyMessageType message) { data = otherBean.process(message); report.create(data); store(data); } Existing System Same address space

  17. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions • Use Case 1: Bulk file import

  18. Timer Service JCA 1.5: UC1. File Based Bulk Upload. (OSS Integration.) Standalone JVM J2EE JMS Queue File parser Record processor JMS Client X X X X MDB flowManagement.deliver( ) X • 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

  19. JCA 1.5: UC1. File Based Bulk Upload. (OSS Integration.) Issues with this solution • Management & monitoring is complex • Involves several disparate systems • Lifecycle management must be custom developed • Extra configuration needed • On the App server • On the standalone VM • Resources are not used optimally • No service re-usability (eg. Scheduler, File reader) • Extra VM • Implies static memory allocation, threads • Difficult to scale & cluster; fragile • Problem tracking involves several disparate systems

  20. File Adapter Timer Service JCA 1.5: UC1. File Based Bulk Upload. JCA Solution J2EE 1.4 Application Server RecordMDB Container Connector Services processor X Record pre-processor X flowManagement.deliver( ) File Reader Worker (Scheduled) File System

  21. CSV File Adapter JCA 1.5: UC1. File Based Bulk Upload. JCA Solution J2EE 1.4 Application Server RecordMDB Container Connector Services processor Record pre-processor X flowManagement.deliver( ) File Reader Worker (Scheduled) File System

  22. CSV File Adapter JCA 1.5: UC1. File Based Bulk Upload. JCA Solution J2EE 1.4 Application Server RecordXMDB processor Container Connector Services X flowManagement.deliver( ) Record pre-processor RecordYMDB File Reader Worker (Scheduled) processor Y flowManagement.deliver( ) File System X Y

  23. JCA 1.5: UC1. File Based Bulk Upload. JCA Solution In this solution: • Management & monitoring are standardized and handled by the Application Server • Resources (threads, memory, file system) are managed, shared and used optimally It is: • Integrated, robust, scalable, extendable On top of that… • The connector is a reusable and generic component : Architecturally SOUND!

  24. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions • Use Case 2: Real Time Rating

  25. WebService JSP/Servlets J2EE Rating UserProfile Provisioning Third PartyCall Accounting MultimediaMessage Call notification Payment Terminal Location ShortMessage User Status JCA 1.5: UC2. Real Time Rating. APPLICATION TIME CRITICAL DPE BUS NETWORK TIME CRITICAL DPE BUS OSP RatingEngine Stats &alarms ….. PSE Loc. Server

  26. APPLICATION TIME CRITICAL DPE BUS NETWORK TIME CRITICAL DPE BUS OSP RatingEngine Stats &alarms ….. PSE Loc. Server JCA 1.5: UC2. Real Time Rating. WebServices JSP/Servlets J2EE Rating Rating UserProfile Provisioning Third PartyCall Accounting MultimediaMessage Call notification Payment Terminal Location ShortMessage User Status

  27. APPLICATION TIME CRITICAL DPE BUS Rating Rating Rating Rating NETWORK TIME CRITICAL DPE BUS OSP RatingEngine Stats &alarms ….. PSE Loc. Server JCA 1.5: UC2. Real Time Rating. WebServices JSP/Servlets J2EE Rating

  28. High Level 3rd Party Itf Basic Services WebServices APPLICATION TIME CRITICAL DPE BUS J2EE Servlets JSP Supporting Components Service Logic Service Primitives Nw Tx NETWORK TIME CRITICAL DPE BUS OSP DPE BUS Connector RatingEngine Stats &alarms ….. PSE Loc. Server JCA 1.5: UC2. Real Time Rating.

  29. DPE Conn getBalance(Account) { Connection = ConnectionFactory.getConnetion(); DPEMessage = Connection.createMessage(Service); DpeMessage.setRequestType(BALANCE_OP); DpeMessage.setAccount(Account); result = Connection.request(DpeMessage); Connection.close(); return result; } JCA 1.5: UC2. Real Time Rating. J2EE 1.4 Application Server Rating EJB Message primitives request, send(Async) APPLICATION TIME CRITICAL DPE BUS Container Connector Services getBalance(Account) adviceOfCharge(Account, item) reserveAmount(Account,€$) chargeAmount(Account, €$) releaseAmount(Account, €$) sync async Protocol Impl NIO NIO

  30. JCA 1.5: UC2. Real Time Rating. Performance Comparison Normalized on JAR-Based Communication (legacy)

  31. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions

  32. JAIN SLEE Application Server • 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 Low Latency High Throughput Event Processing

  33. Management Application Component Container JMX Agent Timer Facility SBB SBB SLEE & Service Management Interfaces Alarm Facility SBB Trace Facility Usage Facility SBB SBB Event Dispatcher JAIN Application Interfaces N e t w o r k A d a p t e r s CAP, WIN SMS, WAP HTTP, SIP HTTP, SIP INAP, AIN IP/LAN/WAN/3G DSL/WLL PLMN PSTN JAIN SLEE SLEE

  34. JAIN SLEE Features • Event based component infrastructure • Event router: routes events to interested event consumers • Dynamic event channels: Activities & ActivityContexts • Event filtering support • Designed for performance • Lightweighttransactions for low latency • In memory profile data • Garbage Collection linked to life cycle management • Standard Profile Facility • Makes provisioning easy & consistent • The usual container stuff… • Life cycle management, pooling, threading, …

  35. Profile Tables Service SBB SBB SBB RA RA Component architecture • 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 • The SBBs contain the application logic • The Profile Tables represent provisioned data • The Resource Adaptors are the external interfaces

  36. Resource Adapter SBB Container Resource Adaptor Framework Framework.activityCreated(activity); X Dynamic Event ChannelsActivities & Activity Contexts JAIN SLEE 1.0 X public void onEventA(EventA e, AcitivtyContextInterface aci) { doWork(e); } SBB X Framework.sendEvent(activity, eventA); Framework.sendEvent(activity, eventB); SBB public void onEventB(EventB e, AcitivtyContextInterface aci) { doWork(e); } Network Element Same address space

  37. Asynchronism in J2EE • Implemented through message driven beans Get State from DB MD-EJB Custom Message event channel Message Message Queue MD-EJB JMS Message Database Relation to Queue or Topic is fixed in deployment descriptor MD-EJB Message Topic Create State in DB … MD-EJB Do I have to process this event ?

  38. Dynamically attach or detach from Activity Context Handled by JAIN SLEE SBB Dynamic creation of Activity Contexts Activity Context Event Mapping of JAIN SLEE Concepts Activity Context Event SBB SBB State SBB Activity Context Event SBB Creation of SBB State is handled automatically

  39. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions • Use Case: Prepaid Charging

  40. Usage scenario’s for JAIN SLEE • 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)

  41. Lookup Tarif Arm Timer Fetch Workmoney Call Control API AccountManager API Profile Table Start Call Start Call A Mobile PSTN JAIN SLEE Contains for each phone number a tarif scheme & account info SLEE Timer Facility Periodic Timer Events Component Container PrePaid Charging Service SBB Instance A SBB Instance B A B AccountManager RA Mobile CC RA Fixed CC RA AccountManager

  42. Cancel Timer Call Control API AccountManager API Profile Table Stop Call B Stop Call Mobile PSTN JAIN SLEE Contains for each phone number a tarif scheme & account info SLEE Timer Facility Component Container PrePaid Charging Service SBB Instance A SBB Instance B A B AccountManager RA Mobile CC RA Fixed CC RA AccountManager

  43. Refund Leftover Call Control API AccountManager API Profile Table Mobile PSTN JAIN SLEE Contains for each phone number a tarif scheme & account info SLEE Timer Facility Component Container PrePaid Charging Service SBB Instance A SBB Instance B A B AccountManager RA Mobile CC RA Fixed CC RA AccountManager

  44. Call Control API AccountManager API Profile Table Mobile PSTN JAIN SLEE Contains for each phone number a tarif scheme & account info SLEE Timer Facility Component Container PrePaid Charging Service SBB Instance A A AccountManager RA Mobile CC RA Fixed CC RA AccountManager

  45. Call Control API AccountManager API Profile Table Mobile PSTN JAIN SLEE Contains for each phone number a tarif scheme & account info SLEE Timer Facility Component Container PrePaid Charging Service SBB Instance A A AccountManager RA Mobile CC RA Fixed CC RA AccountManager

  46. Call Control API AccountManager API Profile Table Mobile PSTN JAIN SLEE Contains for each phone number a tarif scheme & account info SLEE Timer Facility Component Container PrePaid Charging Service AccountManager RA Mobile CC RA Fixed CC RA AccountManager

  47. Outline • Java & Telecom • Java Connector Architecture 1.5 • JAIN Service Logic Execution Environment • Conclusions

  48. Summary • 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

  49. Socket NIO JAIN SIP SIP Servlets JAIN MEGACO JAIN INAP HTTP JCC YES, Telecom loves Java ! Socket NIO JAIN SIP SIP Servlets JAIN SLEE JCA 1.5 JAIN MEGACO JAIN INAP HTTP JCC If You Only Remember One Thing… … does Telecom love Java ?

More Related