jain0503-150007.pdf
TRANSCRIPT
-
JAINJAIN TechnologyTechnologyServing the Developer CommunityServing the Developer Community
[email protected]@[email protected]@sun.comhttp://http://http://http://java.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jain
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Introduction
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN APIs: Java Technology for Communications
Service Portability - Write Once, Run Anywhere
Network Independence - Any Network
Open Developer Interfaces - By Anyone
The JAIN community is an industry framework designed andThe JAIN community is an industry framework designed andThe JAIN community is an industry framework designed andThe JAIN community is an industry framework designed andspecified collaboratively by groups of industry partners andspecified collaboratively by groups of industry partners andspecified collaboratively by groups of industry partners andspecified collaboratively by groups of industry partners andexperts.experts.experts.experts.
JAIN technology is:JAIN technology is:JAIN technology is:JAIN technology is:Java Application Servers for CommunicationsJava Application Servers for CommunicationsJava Application Servers for CommunicationsJava Application Servers for CommunicationsJava Application Interfaces for CommunicationsJava Application Interfaces for CommunicationsJava Application Interfaces for CommunicationsJava Application Interfaces for Communications
-
2003 Sun Microsystems, Inc. All Rights Reserved.
New Service Driven Network
Content &Services
Content &Services
Development and Integration ServicesDevelopment and Integration Services
OSS & ManagementOSS & Management
PortalServices
PortalServices
CoreServices
CoreServices
AccessNetworkAccessNetwork
Client/DeviceClient/Device
WirelessNetwork
WirelessNetwork
Broadband Network
Broadband Network
MultiMulti--Channel BackChannel Back--End Wireline NetworkEnd Wireline NetworkJAINJAIN
-
2003 Sun Microsystems, Inc. All Rights Reserved.
The Open API Premise
APIs that are
Open
Industry standard
Distributed
Flexible
Extensible
will enable an abundance of diverseservice offerings to enrich the way wecommunicate.
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Why Standard APIs ? Standard APIs enable software developers to create portable
services and applications
Standard APIs provide an opportunity for abstraction
Standard APIs enable a Write Once, Profit Often world
Standard APIs will enable the Next Generation of TelecomApplication Solutions
Inside the Network
At the Network Edge
The Consumer Space
Customer in Control of the Programmable Network
-
2003 Sun Microsystems, Inc. All Rights Reserved.
The Java Specification Process Java Specification Request (JSR)
Formed by consensus
By a group of industry experts
By a Specification Lead
Four major steps:
Initiation
Community Draft
Public Draft
Final Release & Maintenance
For more information
http://jcp.org
-
2003 Sun Microsystems, Inc. All Rights Reserved.
1. Test implementation using TCK
2. Complete successful self assessment
3. Publish TCK results on vendors website
4. Notify JAIN Program Manager
5. Certified product is published on JAIN website
Spec
RI
TCK
Develop TestIn-housePublish
results onwebsite
CompatibleProducts
Go toMarket
JAIN Certification Process
For further details on the Certification Process, visit:http://java.sun.com/products/jain/certification.html
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Execution Environments
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIPServlet
Execution Environments
Servlet
SIPServlet
HTTPServlet
EJB
JAINSLEE
JSP
JAINSLEE
JVM
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Why are Communications ApplicationsConverging on Java Containers?
Telco apps moving to component based architectures
Desire to use Standard, Off-the-shelf container
Write-once, run-anywhere
Container provides important infrastructure services
Higher level abstractions for State management, Transactions, Security,Resource pooling,
Focus on core value-add application logic
Leverage large community of Java developers
Leverage enterprise development tools, test suites,
Time to market and reduced development cost
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Communications Containers
SLEE
SBB App
EJB
JSP App EJB App
HTTP ServletSIP ServletSIP, Content-based Charging, Call Control,
Presence, Messaging, Mobility
SIP App
SLEEINAP, TCAP, SIP
SBB App SBB App
SIP ServletSIP
SIP App SIP App
Operator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesCall Control Servers, Proxy Servers,Call Control Servers, Proxy Servers,Location, Presence and MessagingLocation, Presence and Messaging
Open Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged Services
Containers inContainers inContainers inContainers in
orange boxesorange boxesorange boxesorange boxes
-
2003 Sun Microsystems, Inc. All Rights Reserved.
J2EE
JAIN SLEEJAIN SLEEJAIN SLEEJAIN SLEE
Application Servers, OMA & OSA
Web Service
OSAFunction
SIPFunction
PresenceFunction
OtherFunction
Web ServiceProvider
SOAP
SOAP
SOAP
SOAP
Protocols
SIP
Protocols
Protocols
Web ServiceRequester
J2SE, J2EEor J2ME
AppSOAP
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN Service LogicExecution Environment
(SLEE)
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SLEE (JSR 22) Low latency and high throughput application
server for event processing
Latency < 100 ms
100s to 1000s of events per second
Event optimized component model
Designed for stringent requirements of eventprocessing applications
Distributed component model like EJB
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SLEE ArchitectureManagement Application
Network Functions
SLEE ComponentContainercomponent
instance
componentinstance
componentinstance
componentinstance
componentinstance
JMX Agent
Trace Facility
Timer Facility
Alarm Facility
Usage Facility
JAIN Application Interfaces
Event Dispatcher
SLEE and ServiceManagement
Interfaces
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Benefits of JAIN SLEE High performing platform for event driven applications
Supports simple and complex telecommunications applications
Applications deal with service logic only
System issues handled by container i.e. threading, transactions
Simplified application development through decoupled event consumers and event providers
Standard application framework
Defined programming model
Object Orientated, asynchronous, robust and distributable
Event routing integrated to component model
Independent of underlying networks
Asynchronous support
Elaborate event distribution mechanism (with priority)
Maps events to method invocations on components
Creates component instances in response to initial events
SLEE reduces cost and improves time-to-market
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SLEE Application Characteristics
Course-grained events
Low Frequency
Fine-grained events
High Frequency
Event GranularityEvent GranularityEvent GranularityEvent Granularity
Heavy weight data accessobjects
Long persistent lifetimes
Light-weight fine-grained objects
Short transient lifetimes- Rapid creation, deletion
ComponentsComponentsComponentsComponents
Database servers- Definitive master copy
Back-end systems
Multiple data sources- Location, context information- Provisioned data, cached from master copy
Data SourcesData SourcesData SourcesData Sources
Database transactions- Slower completion and less frequent
Light-weight transactions- For state replication demarcation- Faster completion and more frequent
TransactionsTransactionsTransactionsTransactions
Typically synchronous- Database, EAI systems- RPC Calls
Typically asynchronous- Events such as protocol triggers- Events occurrences mapped to method invocations
InvocationsInvocationsInvocationsInvocations
Database access intensiveCompute-intensive- Processing is resource invocations & events
ComputationComputationComputationComputation
EnterpriseEnterpriseEnterpriseEnterpriseCommunicationsCommunicationsCommunicationsCommunications
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SLEE Applications Characteristics
2 to 32 CPUs1 to 4 CPUsNodesNodesNodesNodes
2 to 4 nodes2 to 16 nodesClustersClustersClustersClusters
Centralized deploymentin small number of datacenters
Distributed deploymentthroughout network
DeploymentDeploymentDeploymentDeploymentDistributionDistributionDistributionDistribution
Soft real-timeRealRealRealReal----timetimetimetime
2 to 3 9s3 to 5 9sAvailabilityAvailabilityAvailabilityAvailability
EnterpriseEnterpriseEnterpriseEnterpriseCommunicationsCommunicationsCommunicationsCommunications
Applications characteristics driveApplications characteristics driveApplications characteristics driveApplications characteristics driveContainer Design!Container Design!Container Design!Container Design!
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Application Requirements
Low latency Time to setup a call < 500 ms
High throughput 1,000,000 Busy Hour Call Attempts (Operator specific)
High availability, 99.999% expected < 6 minutes downtime per year (planned and unplanned)
Different notion of availability
Small partial failures (< 5%) count against availability
Graceful handling of load spikes above maximumsystem capacity
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Low Latency RequirementsWhat is required to set up a call in 500 ms?
Traverse 25 network nodes or application servers
Minimum 2 protocol messages events per node(application dependant)
1 transaction per event
Approx 4 10 events to process within 500 ms(excluding propagation delay, some processing overlapped with propagation)
50 125 ms per transaction(for simple transactions with redundancy for single failure tolerance)
-
2003 Sun Microsystems, Inc. All Rights Reserved.
High Throughput Requirements
What does 1,000,000 BHCA require?
2 10 protocol messages or events per call(application dependant)
1 transaction per event
Approx 280 call attempts per second
560 2800 transactions per second
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SLEE in Communications Networks
2G and 2.5G Networks Service Control Point Service Node (2G to 3G
using a Media Gateway)
3G Networks Service Switching
Control Point Service Switching Point SIP Proxy 3GPP IMS CSCFs
Convergent Networks Gatekeeper Common Service
Delivery Platform
Convergent SCP, SSCP,SSP
OSA Gateway
-
2003 Sun Microsystems, Inc. All Rights Reserved.
PacketNetwork
JAIN CC
JAIN SLEE
ApplicationExecutionPlatform
PSTN or PacketNetwork
PSTNNetwork
JAIN SIP JAIN TCAP
IndustryStandardInterfaces
ProprietaryNetworkElements
NetworkResourceAdaptor
AppAppApp
JAIN SLEE & Integrated Networks
-
2003 Sun Microsystems, Inc. All Rights Reserved.
PSTN IPNetworksWireless2G/3G
Service CreationE
nvironment
Service Logic Execution Environment
WebCollaboration
Converged Service Portal
TrueConvergeTM
Services
PDA
PC
MobilePhone
IPAppliance
POTS
Gaming
VirtualReality
Applications
Service Managem
ent E
nvironment
UnifiedMessaging
Network Adaptation Layer
JAIN Parlay JTAPI OSA VXML
2002 TrueTel Communications Inc, All Rights Reserved
TrueTel: First live deployment in Taiwan Eastern Broadband Telecom
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIP ServletExecution Environment
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIP Servlet (JSR 116) SIP Servlets typically reside on network servers
make routing decisions
Supported RFCs:
RFC 3261, 3262, 3265, 3428, 2976
Utilizes http servlet model as foundation
builds on http generic part for SIP request and response functionality
Applications perform a complete set of SIP signalingactions
User agent client (UAC)
User agent server (UAS)
Proxy server
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIP Servlet Goals
Simplicity for the application developer Containers handle non-essential complexity
Containers support converged applications Applications that span multiple protocols and media types
Third party application development An XML DD is used to communicate application information from
the application developer to deployers
Application composition Several applications can execute on the same incoming or
outgoing request or response
Each application has its own set of rules and executesindependently
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Extension to HTTP Servlet Model
HTTP is not a peer-to-peer protocol like SIPtherefore SIP Servlet extensions include:
Initiate requests
Receive responses as well as requests
Generate multiple Responses
one or more 1xx followed by a final response
Proxying requests, possibly to multiple destinations
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Protocol and Application Sessions
SIP Servlet defines two types of sessions:
SipSession (Protocol Session)
Equivalent to HTTP Session and represents a Dialog in SIP
SipApplicationSession
Provides storage for application data
Enables different protocol sessions to share state i.e., HTTPand SIP
Defined by SIP Servlet but is expected to be adopted by theHTTP Servlet specification in a future release.
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Message Hierarchy
SipServletResponseSipServletRequest
SipServletMessage
ServletRequest ServletResponse javax.servlet
javax.servlet.sip
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Application Interfaces
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN Application Interfaces
Open DeveloperService
Elements
Network Elements
Application LayerApplication LayerApplication LayerApplication Layer
Network LayerNetwork LayerNetwork LayerNetwork Layer
Operator ApplicationsOperator ApplicationsOperator ApplicationsOperator Applications Open Developer ApplicationsOpen Developer ApplicationsOpen Developer ApplicationsOpen Developer Applications
OperatorService Elements
JAIN ApplicationJAIN ApplicationJAIN ApplicationJAIN ApplicationInterfacesInterfacesInterfacesInterfaces
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Network Functions & ApplicationInterfaces
Call ControlFunction
SIPFunction
PresenceFunction
PaymentFunction
JCC
JAIN SIP
JAIN PAM
JPay
Protocols
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Application Interfaces & OMA WebServices
Web Service
Call ControlFunction
SIPFunction
PresenceFunction
PaymentFunction
JCC JAIN SIP JAIN PAM JPay
Web ServiceProvider
Protocols
SIP
Protocols
Protocols
SOAP
SOAP
SOAP
SOAPWeb ServiceRequester
AppSOAP
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Session InitiationProtocol (SIP)
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Java-standard interface to a SIP signaling stack
Standardizes the interface to the stack
Standardizes the events and event semantics
Application portability - verified via the TCK
Designed for the developer who requires powerful access tothe SIP protocol
JAIN SIP can be utilized in a user agent, proxy, or embeddedinto a service container
Supported RFCs:
RFC 3261, 2976, 3262, 3265
RFC 3311, 3428, 3515
JAIN SIP (JSR 32)
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SIP Architecture
Network
Listener
Provider
Stack
SIP EventsSIP Messages
Application
Listening Point
Provider
Stack
Listener
SIP EventsSIP Messages
Listening Point
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Features provided by JAIN SIP
Provide methods to format and send SIP messages
Parse incoming messages
enables application to access fields via standardized interface
Invoke appropriate application handlers when protocolsignificant
message arrivals, Transaction time-outs
Provide Transaction support
manage Transaction state and lifetime on behalf of application
Provide Dialog support
manage Dialog state and lifetime on behalf of application
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SIP & Instant Messaging
Suitable for IM and PresenceClients and Servers
Supports required methods andHeaders
Creates and manages Dialogs forSUBSCRIBE and MESSAGEmethods
JAIN IM Client SipListener is about1100 LOC
Interoperates with Microsoft IMand packaged with RI
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SIP in Proxy Servers
Facilitates construction of ProxyServers
Stateless, Transaction-stateful, andDialog-stateful operation
Access to Dialog/Transaction stateand route tables
Extensibility and applicationcontrolled Routing
Deep copy semantics for cloning
Proxy (including presence server) isabout 3500 LOC and is includedwith RI
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SIP Support in JAIN SLEE
JAIN SLEE represents network resources as resource adaptorsand each resource adaptor has a type
Resource adaptor type for JAIN SIP is javax.sip
JAIN SLEE identifies Event by Event types JAIN SIP Events are classified RequestEvents, ResponseEvents and
TimeoutEvents, each of these classifications contains numerous types
For example the event type of a Request message of type INVITE isjavax.sip.RequestEvent.Request.INVITE
JAIN SLEE represents the flow of events as activities
Activity Objects in JAIN SIP are ClientTransactions (locally initiated) andServerTransactions (remotely initiated)
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SIP Support in J2EE
JCA Connector
SIP EJB
JAIN SIP
A
p
p
S
e
r
v
e
r
J2EE
A
p
p
S
e
r
v
e
r
-
2003 Sun Microsystems, Inc. All Rights Reserved.
App
SIP Execution Environments
JAIN SIP
SIPServlet EJB JAINSLEE
JVM
AppAppApp
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIP
Packet Network
Message Layer
Transaction Layer
Dialog Layer
JAIN SIP
JCC JAIN SLEE SIP Servlet IndustryStandardInterfaces
ProprietaryInterfaces
Relative SIP Network Interfaces
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIP for J2ME is the standardized SIP interface formobile handsets
SIP for J2ME is an optional package for the J2MEplatform
enables resource limited devices to send and receive SIPmessages
Designed for the CLDC profile, however can be usedwith the CDC profile
Gives transactional control over the SIP protocol
Client devices must support SIP for Rel5.0 of the UMTSarchitecture.
SIP for J2ME is the perfect platform for these client devices
SIP for J2ME (JSR 180)
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Enables terminals supporting CLDC to run SIP enabledMIDlets
Builds upon CLDC Generic Connection framework
Specifically targeted at mobile phone handsets
Retains the look and feel of the HTTP API
Ensures small API size and keeps the number of createdobjects low
Provides developers with helper functions
RefreshHelper for Register and Subscribe
SIP for J2ME Goals
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Connection
InputConnection OutputConnectionSipConnection DatagramConnection
StreamConnection
ContentConnection
HttpConnection
SipConnectionNotifier
SipClientConnection
SipServerConnection
SIP for J2ME & the GenericConnection Framework
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIP for J2ME Architecture
-
2003 Sun Microsystems, Inc. All Rights Reserved.
J2EE Business TierTelecomJAIN SIP & JAIN SLEE RA
J2MEDeviceSIP for J2ME
J2EE Web TierEnterpriseSIP Servlet
J2EE Business TierEnterpriseJAIN SIP & J2EE Connector
J2SEDesktopJAIN SIP
Target Java PlatformTarget Java PlatformTarget Java PlatformTarget Java PlatformDeveloper CommunityDeveloper CommunityDeveloper CommunityDeveloper CommunitySpecificationSpecificationSpecificationSpecification
Application Development Options
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Presenceand
Instant Messaging
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN Presence & JAIN IM
JAIN Presence (JSR 186)
A client-side API for Presence
Watcher and Publisher modes
J2ME (thin clients) and J2SE (thick clients) based
Receives and publishes presence information to presence (andavailability management) servers
JAIN IM (JSR 187)
A client-side API for Instant Messaging
J2ME (thin clients) and J2SE (thick clients) based
Receives and publishes instant messages to IM servers
Orthogonal yet complementary to JAIN Presence
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN PAM (JSR 123)
A server-side API for Presence and Availability Management
J2EE (network servers) based
Receives presence information from a variety of devices
location servers, presence servers, mobile terminals, etc.
Publishes presence information to a variety of devices
presence servers, mobile terminals, etc.
Manages the availability of users based on the identity of thepresence requestor and the communications mode
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Presence & Instant Messaging
JAIN Presence
JAIN PAM
J
A
I
N
I
M
SIP, WV,Jabber, etc..
JAIN PAM
JAIN Presence
J
A
I
N
I
M
-
2003 Sun Microsystems, Inc. All Rights Reserved.
CLDC
MIDP
SIP and IM Interfaces for J2ME
JAINSIMPLE
SIP forJ2ME
KVM
JAINPIM
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Call Control
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN Call Control JCC (JSR 21)
Call manipulation
observing, initiating, answering and processing
Enables unified call control for multimedia, multiparty,multi-protocol sessions over underlying integrated networks
SimpleSimpleSimpleSimple yet provides a reasonably rich set of functions
Supports first-party as well as third-party calls
Service drivers include:
800/900 Number Translation, Wake-up Call
Voice Activated Dialing, Click to Dial
Copyright 2001 Telcordia Technologies. All Rights Reserved.
-
2003 Sun Microsystems, Inc. All Rights Reserved.
NetworkAdaptor
NetworkAdaptor
JAIN Call Control Realization
IP Network SS7 Network
JAINSIP
NetworkAdaptor
JCC Implementation
JCC App JCC App
JAININAP
JAINTCAP
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN CAll control exTensions JCAT (JSR 122)
A rich call model to address extended call control
Extends JAIN Call Control v1.1 with concepts to model and control terminalcapabilities
Addresses end-office environment
Class 5, local exchange
Supports first-party as well as third-party calls
Introduces richer FSM, Terminal and TerminalConnection objects
Explicitly models terminals (unlike JCC)
JCC's state transitions models are enriched and more control is providedover its processing
Copyright 2001 Telcordia Technologies. All Rights Reserved.
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JCAT Architecture
Requirements drivenby a list of ServiceDriversAddress those Services
not supported by JCC
Provider
Call
Connection Connection
TerminalConnection
TerminalConnection
Address Address
Terminal Terminal
-
2003 Sun Microsystems, Inc. All Rights Reserved.NTT Network Service Systems Laboratories NTT 2001
Application Portability across NGNApplication Portability across NGN--CAsCAs using JAINusing JAINTMTM
HighHigh--speed Broadband Internet Backbonespeed Broadband Internet Backbone
NGNNGN--CACA(NEC)(NEC)
Open APIPlatform
Open APIPlatform
APLAPL
NGNNGN--CACA(Fujitsu/Lucent)(Fujitsu/Lucent)
Open APIPlatform
Open APIPlatform
APLAPLApplicationApplicationSoftwareSoftware
(NTT)(NTT)
JAINJAINTMTMCall ControlCall ControlAPIAPI
BroadbandInternet Access
Dialup,Mobile High-Speed BroadbandInternet Access
JAINJAINTMTMCall ControlCall ControlAPIAPI
NGN-CA realizesthe efficient development and deployment of new services
and stimulate the network service market.
NGN-CA realizesthe efficient development and deployment of new services
and stimulate the network service market.
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Summary
-
2003 Sun Microsystems, Inc. All Rights Reserved.
S-CSCFMGCF
MGW
HSS
ApplicationServer
SIP for J2ME
JAIN SIP
SIP for J2ME
JAIN SIP
JAIN PIM
JAIN SLEE
JAIN SLEE
SIP ServletJAIN PAM
I-CSCF
CoreNetwork
VisitedNetwork
P-CSCF
JAIN SLEE
ApplicationServer
HomeNetwork
ApplicationServer
Sample Network Architecture
UntrustedNetwork
OSA/OMAFramework Node
OSA/OMAFramework Node
J2EEJAIN SLEE
IMS, OMA, OSA
-
2003 Sun Microsystems, Inc. All Rights Reserved.
SIP network
NIST: JAIN SIP stack, JsPhone, IM UA & Proxy
Open Cloud: JAIN SLEE 3GPP IMS network elements
Siemens: SIP Servlet Application Server
OSA network
jNETx: JAIN SLEE OSA Platform
Presence network
Teltier: JAIN PAM Presence Server
See further JAIN vendor solutions at:http://java.sun.com/products/jain/certified_products.html
Sample vendor solutions
-
2003 Sun Microsystems, Inc. All Rights Reserved.
Telco-specific development will be facilitated by using off-the-shelf middleware platforms, along with component-centricsoftware platforms and architectures, such as J2EE and JAINSLEE. With this we can see a reduction in infrastructure costsand opportunities for new revenue-generating services.
Elmar Weber, Vodafone
Open network interface is the thrust of our whole NextGeneration Services environment. While we may choose to gowith a vendors proprietary API that meets an internal businessneed, JAIN will be the minimal entry requirement.
Chris Shaw, Orange
Feedback from the OperatorsUnless we talk about what we want, were not going to get it.
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN SIP (JSR 32) Maintenance Review
SIP Servlet (JSR 116) Final Release
JAIN SLEE (JSR 22) Proposed Final Draft 2
JAIN PAM (JSR 123) Completed Public Review
SIP for J2ME (JSR 180) Public Review
JAIN Call Control (JSR 21) 2nd Maintenance Review
JAIN JCAT (JSR 122) Community Review
JAIN Presence (JSR 186) Community Review soon
JAIN IM (JSR 187) Community Review soon
SAMS (JSR 212) New JSR approved
For a complete listing of JAIN JSRs, visit:http://java.sun.com/products/jain/api_specs.html
Key JAIN JSRs
-
2003 Sun Microsystems, Inc. All Rights Reserved.
JAIN technology is being specified as a communityextension to the Java 2 Platforms
Development is being carried out under the termsof the Java Community Process (JCP)
Visit http://jcp.org/en/participation/overview
JCP Participants must sign either:
the Java Specification Participation Agreement (JSPA)
Individual Expert Participation Agreement (IEPA)
How to Get Involved
-
2003 Sun Microsystems, Inc. All Rights Reserved.
For More InformationThe JAIN APIs:The JAIN APIs:The JAIN APIs:The JAIN APIs:
http://java.sun.com/products/jain
Certification:Certification:Certification:Certification:
http://java.sun.com/products/jain
JAIN Products:JAIN Products:JAIN Products:JAIN Products:
http://java.sun.com/products/jain
JAIN Discussion Lists:JAIN Discussion Lists:JAIN Discussion Lists:JAIN Discussion Lists:
http://archives.java.sun.com
Java Community Process:Java Community Process:Java Community Process:Java Community Process:
http://jcp.org
Contact:Contact:Contact:Contact:
-
[email protected]@[email protected]@sun.comhttp://http://http://http://java.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jain
JAINJAIN TechnologyTechnologyServing the Developer CommunityServing the Developer Community
Slide 1IntroductionJAIN APIs: Java Technology for ...New Service Driven NetworkThe Open API PremiseWhy Standard APIs ?Standard APIs enable software de...Standard APIs provide an opportu...Standard APIs enable a Write Onc...Standard APIs will enable the Ne...Inside the NetworkAt the Network EdgeThe Consumer SpaceCustomer in Control of the Progr...
The Java Specification ProcessJava Specification Request (JSR)Formed by consensusBy a group of industry expertsBy a Specification LeadFour major steps:InitiationCommunity DraftPublic DraftFinal Release & MaintenanceFor more informationhttp://jcp.org
JAIN Certification ProcessExecution EnvironmentsExecution EnvironmentsWhy are Communications Applicati...Telco apps moving to component b...Desire to use Standard, Off-the-...Write-once, run-anywhereContainer provides important inf...Higher level abstractions for St...Focus on core value-add applicat...Leverage large community of Java...Leverage enterprise development ...
Communications ContainersApplication Servers, OMA & OSAJAIN Service Logic Execution En...JAIN SLEE (JSR 22)Low latency and high throughput ...Latency < 100 ms100s to 1000s of events per se...Event optimized component modelDesigned for stringent requireme...Distributed component model like...
JAIN SLEE ArchitectureBenefits of JAIN SLEEHigh performing platform for eve...Supports simple and complex tele...Applications deal with service l...System issues handled by contain...Simplified application developme...Standard application frameworkDefined programming modelObject Orientated, asynchronous,...Event routing integrated to comp...Independent of underlying networ...Asynchronous supportElaborate event distribution mec...Maps events to method invocation...Creates component instances in r...
SLEE Application CharacteristicsSLEE Applications Characteristic...Application RequirementsLow latencyTime to setup a call < 500 msHigh throughput1,000,000 Busy Hour Call Attempt...High availability, 99.999% expec...< 6 minutes downtime per year (p...Different notion of availabilitySmall partial failures (< 5%) co...Graceful handling of load spikes...
Low Latency RequirementsHigh Throughput RequirementsJAIN SLEE in Communications Netw...2G and 2.5G NetworksService Control PointService Node (2G to 3G using a M...3G NetworksService Switching Control PointService Switching PointSIP Proxy3GPP IMS CSCFsConvergent NetworksGatekeeperCommon Service Delivery PlatformConvergent SCP, SSCP, SSPOSA Gateway
JAIN SLEE & Integrated NetworksSlide 25SIP Servlet Execution Environme...SIP Servlet (JSR 116)SIP Servlets typically reside on...make routing decisionsSupported RFCs:RFC 3261, 3262, 3265, 3428, 2976Utilizes http servlet model as f...builds on http generic part for ...Applications perform a complete ...User agent client (UAC)User agent server (UAS)Proxy server
SIP Servlet GoalsSimplicity for the application d...Containers handle non-essential...Containers support converged app...Applications that span multiple ...Third party application developm...An XML DD is used to communicate...Application compositionSeveral applications can execute...Each application has its own set...
Extension to HTTP Servlet ModelHTTP is not a peer-to-peer proto...Initiate requestsReceive responses as well as req...Generate multiple Responsesone or more 1xx followed by a fi...Proxying requests, possibly to m...
Protocol and Application Session...SIP Servlet defines two types of...SipSession (Protocol Session)Equivalent to HTTP Session and r...SipApplicationSessionProvides storage for application...Enables different protocol sessi...Defined by SIP Servlet but is ex...
Slide 31Application InterfacesJAIN Application InterfacesNetwork Functions & Application ...Application Interfaces & OMA Web...Session Initiation Protocol (SI...JAIN SIP (JSR 32)Java-standard interface to a SIP...Standardizes the interface to th...Standardizes the events and even...Application portability - verifi...Designed for the developer who r...JAIN SIP can be utilized in a us...Supported RFCs:RFC 3261, 2976, 3262, 3265RFC 3311, 3428, 3515
JAIN SIP ArchitectureFeatures provided by JAIN SIPProvide methods to format and se...Parse incoming messagesenables application to access fi...Invoke appropriate application h...message arrivals, Transaction ti...Provide Transaction supportmanage Transaction state and lif...Provide Dialog supportmanage Dialog state and lifetim...
JAIN SIP & Instant MessagingSuitable for IM and Presence Cli...Supports required methods and He...Creates and manages Dialogs for ...JAIN IM Client SipListener is ab...Interoperates with Microsoft IM ...
JAIN SIP in Proxy ServersFacilitates construction of Prox...Stateless, Transaction-stateful,...Access to Dialog/Transaction sta...Extensibility and application co...Deep copy semantics for cloningProxy (including presence server...
JAIN SIP Support in JAIN SLEEJAIN SLEE represents network res...Resource adaptor type for JAIN S...JAIN SLEE identifies Event by Ev...JAIN SIP Events are classified R...For example the event type of a ...JAIN SLEE represents the flow of...Activity Objects in JAIN SIP are...
JAIN SIP Support in J2EESIP Execution EnvironmentsRelative SIP Network InterfacesSIP for J2ME (JSR 180)SIP for J2ME is the standardized...SIP for J2ME is an optional pack...enables resource limited devices...Designed for the CLDC profile, h...Gives transactional control over...Client devices must support SIP ...SIP for J2ME is the perfect plat...
SIP for J2ME GoalsEnables terminals supporting CLD...Builds upon CLDC Generic Connect...Specifically targeted at mobile ...Retains the look and feel of t...Ensures small API size and keeps...Provides developers with helper ...RefreshHelper for Register and S...
SIP for J2ME & the Generic Conne...SIP for J2ME ArchitectureApplication Development OptionsPresence and Instant MessagingJAIN Presence & JAIN IMJAIN Presence (JSR 186)A client-side API for PresenceWatcher and Publisher modesJ2ME (thin clients) and J2SE (th...Receives and publishes presence ...JAIN IM (JSR 187)A client-side API for Instant Me...J2ME (thin clients) and J2SE (th...Receives and publishes instant m...Orthogonal yet complementary to ...
JAIN PAM (JSR 123)A server-side API for Presence a...J2EE (network servers) basedReceives presence information fr...location servers, presence serve...Publishes presence information t...presence servers, mobile termina...Manages the availability of user...
Presence & Instant MessagingSIP and IM Interfaces for J2MECall ControlJAIN Call Control JCC (JSR 21)Call manipulationobserving, initiating, answering...Enables unified call control for...Simple yet provides a reasonably...Supports first-party as well as ...Service drivers include:800/900 Number Translation, Wake...Voice Activated Dialing, Click t...
JAIN Call Control RealizationJAIN CAll control exTensions ...A rich call model to address ext...Extends JAIN Call Control v1.1 w...Addresses end-office environmentClass 5, local exchangeSupports first-party as well as ...Introduces richer FSM, Terminal ...Explicitly models terminals (unl...JCC's state transitions models a...
JCAT ArchitectureRequirements driven by a list of...Address those Services not suppo...
Slide 61SummarySample Network ArchitectureSample vendor solutionsSIP networkNIST: JAIN SIP stack, JsPhone,...Open Cloud: JAIN SLEE 3GPP IMS ...Siemens:SIP Servlet Application...OSA networkjNETx: JAIN SLEE OSA PlatformPresence networkTeltier: JAIN PAM Presence Ser...See further JAIN vendor solution...
Feedback from the OperatorsUnl...Telco-specific development will...Open network interface is the t...
Key JAIN JSRsJAIN SIP (JSR 32) Maintenan...SIP Servlet (JSR 116) Final ...JAIN SLEE (JSR 22) Proposed...JAIN PAM (JSR 123) Complete...SIP for J2ME (JSR 180) Publ...JAIN Call Control (JSR 21) 2n...JAIN JCAT (JSR 122) Communi...JAIN Presence (JSR 186) Commu...JAIN IM (JSR 187) Community...SAMS (JSR 212) New JSR appr...For a complete listing of JAIN J...
How to Get Involved JAIN technology is being specif...Development is being carried out...Visit http://jcp.org/en/particip...JCP Participants must sign eithe...the Java Specification Participa...Individual Expert Participation ...
For More InformationSlide 69