java.sun.com/javaone/sf
| 2004 JavaOne
SM
Conference | Session TS-1172
1
JAIN
™
SLEE and
J2EE
™
Technologies
Ramon Garcia, Service Architect
Michael Maretzke, Technology Manager
Vodafone
http://www.vodafone.com
Exposing Core Network Capabilities
| 2004 JavaOne
SM
Conference | Session TS-1172
2
Goal of the Talk
Learn the roles of JAIN™ SLEE and
Java™ 2 Platform, Enterprise Edition
(J2EE™) technologies and how combined
they help the successful development of
Vodafone network services
| 2004 JavaOne
SM
Conference | Session TS-1172
3
Agenda
Part 1
Benefits of a JAIN SLEE Platform
Java Performance in Core Network Services
JAIN SLEE Platform Trials Review
Part 2
Vodafone’s Network—An Overview
JAIN SLEE and J2EE Technologies—
A Comparison
Solving Problems
| 2004 JavaOne
SM
Conference | Session TS-1172
4
Agenda
Part 1
Benefits of a JAIN SLEE Platform
Java Performance in Core Network Services
JAIN SLEE Platform Trials Review
Part 2
Vodafone’s Network—An Overview
JAIN SLEE and J2EE Technologies—
A Comparison
Solving Problems
| 2004 JavaOne
SM
Conference | Session TS-1172
5
Service Control Layer
AAA
Charging
BSS
JAIN SLEE
IP Network
SS7 Network
•
JAIN SLEE platform asynchronous programming model
allows optimized used of resources
•
Through the Resource Adapter concept,
JAIN SLEE platform offers a variety of
adapters to access both SS7 and IP networks
| 2004 JavaOne
SM
Conference | Session TS-1172
6
Software Portability
Routing
SBB
Service
Logic 1
Service
Logic 2
Send
SMS
Billing
Request
User
Data
JSLEE
Container
•
JAIN SLEE platform uses a component based
programming model
•
SBB’s can be developed once and execute on
a number of different JAIN SLEE containers
•
Applications execute independent of network provider
•
However: Requires standardized RA’s
| 2004 JavaOne
SM
Conference | Session TS-1172
7
Gateway for Content Providers
•
Efficient transaction handling is required:
─
Allow a high number of simultaneous transactions
─
Interface to a variety of systems (both BSS
and network based) very different in nature
─
Have a significant low latency in end-to-end delivery
3
rd
Party
Domain
Core Network
JAIN
SLEE
Web Service
Endpoint
J2EE
EXISTING SYSTEMS
FW
| 2004 JavaOne
SM
Conference | Session TS-1172
8
Intelligent Network Applications
•
Higher reusability of components with SLEE
•
Optimised service execution via Activity concept
•
Example with a Call Assistant
(CA) feature of a VPN service:
VPN SBB
ACT. 1
(CC)
JCC RA
CA SBB
ACT. 2
(IVR Flow)
UI RA
Profile
Table
startCA
| 2004 JavaOne
SM
Conference | Session TS-1172
9
Agenda
Part 1
Benefits of a JAIN SLEE Platform
Java Performance in Core Network Services
JAIN SLEE Platform Trials Review
Part 2
Vodafone’s Network—An Overview
JAIN SLEE and J2EE Technologies—
A Comparison
Solving Problems
| 2004 JavaOne
SM
Conference | Session TS-1172
10
Event Routing Capabilities
•
Network events (call received, call answered, ...)
are directly mapped to JAIN SLEE platform
events
•
Event Router asynchronously notifies event
consumers and event producers do not have to
wait for response
•
SBB instances perform service logic and fire an
event (BNR_LOC_GET), possibly on another
activity
HLR
MSC
Event
Router
SBB
Initial_DP
CALL_CREATED
OnCALL_CREATED()...
FireBNR_LOC_GET()...
BNR_LOC_GET
AnyTime Interrogation
BNR_LOC_RES
OnBNR_LOC_RES()
| 2004 JavaOne
SM
Conference | Session TS-1172
11
SS7 stack
SS7 stack
SS7 stack
JSLEE
JSLEE
JSLEE
Impact of the Underlying Middleware
•
JAIN SLEE platform vendors provide
clustering software which implements:
─
Persistence state of the services
─
Load sharing among the nodes in the cluster
•
Similar capabilities can be obtained at the
SS7 level with some commercial stacks:
One
single
SPC
Incoming SS7 traffic
| 2004 JavaOne
SM
Conference | Session TS-1172
12
Influence of the Java
™
Virtual Machine
•
Current JVM’s allow GC tuning, so this
is not a barrier for performance today
•
Practical examples of GC potential issues:
─
Long running call services (avg. 2 to 3 minutes)
─
Delivery Report (may even take days...)
Source:
Open Cloud Ltd.
| 2004 JavaOne
SM
Conference | Session TS-1172
13
In Memory Database
•
Use of in memory distributed database
for performance reasons:
─
Use of the JAIN SLEE platform Profile facility
─
JAIN SLEE platform allows online
data updates in running applications
─
Need to keep state consistency
across nodes in the cluster
JSLEE
IMDB
JSLEE
IMDB
JSLEE
IMDB
RDBMS
RDBMS
Master
database
Profile Management
SBB attributes consistency
| 2004 JavaOne
SM
Conference | Session TS-1172
14
Resource Adapter Capabilities
•
The design of an RA shall
address the following aspects:
─
Asynchronous handling of events
─
Fault tolerant capabilities
─
Provide protocol abstraction for app. developers
─
Handle potential issues between Java (JAIN SLEE)
and C/C++ (SS7 stack) components
─
Event Filtering in overflow situations:
MAX
MIN
Event Input Rate
1)
Analyse Event Type
2)
Reject events based on RA Type
| 2004 JavaOne
SM
Conference | Session TS-1172
15
Agenda
Part 1
Benefits of a JAIN SLEE Platform
Java Performance in Core Network Services
JAIN SLEE Platform Trials Review
Part 2
Vodafone’s Network—An Overview
JAIN SLEE and J2EE Technologies—
A Comparison
Solving Problems
| 2004 JavaOne
SM
Conference | Session TS-1172
16
Virtual Private Network Service
•
CDR’s in SCP (including call
duration, hence similar
signalling flow to Prepaid)
•
BNR Location Retrieval
(ATI to HLR)
•
Implemented RA’s:
─
Java Call Control
─
INAP CS-1 (home scenario)
─
CAP v2 (visiting scenario)
─
MAP v3
IN
A
P
C
S
-1
C
A
P
V
2
MAP V3
JCC RA
INAP CAP
MAP
RA
JAIN SLEE
VPN
SBB’s
Service
DB
HLR
MSC/ SSF
SCP Configuration
| 2004 JavaOne
SM
Conference | Session TS-1172
17
Messaging Manager Service
•
Messaging Gateway between
a mobile user and a third party
•
Both SMS and MMS supported
•
Notification of Delivery required to complete transaction
MM
JAIN SLEE
RATING &
CHARGING
ENGINE
CONTENT
PROVIDER
SMSC
Session ID
Server
MMSC
SMS SOAP
MM7
SMPP
MM7
HTTP
HTTP
| 2004 JavaOne
SM
Conference | Session TS-1172
18
Overall Trial Results
•
The limit to required functionality
was in the implementation, not in
the JAIN SLEE specification itself
•
Portability requires standard (higher level)
API’s, but this may show constraints
in terms of available functionality
•
VPN: Similar performance levels to those obtained with
SS7 legacy platforms
•
MM: Specialized handling of large objects
(e.g. a MMS with a medium/ large size picture)
•
Scalability (up to 3 nodes), load sharing and failover
tests were carried out successfully
| 2004 JavaOne
SM
Conference | Session TS-1172
19
Type of API’s
Graphical SCE
High Level
Low Level
(e.g. JCC)
(e.g. JAIN SIP)
Ease of Design
High
Medium
Low/ Medium
Performance
Low/ Medium
Medium
High
Functionality
Medium
Medium/ High
High
Portability
Low
High
(*)
Medium
JAIN SLEE SDK Characteristics
Different approaches depending on the API level:
(*): Provided that these are widespread API’s.
| 2004 JavaOne
SM
Conference | Session TS-1172
20
JAIN SLEE Platform
Vendor Differentiation
•
Competence among different vendors’
containers will come through:
─
Abstraction layers for call state management
─
Optimised use of resources (runtime memory,
garbage collector, etc.)
─
High throughput in execution of simultaneous
and asynchronous transactions
─
Scalability and availability strategies
through clustering software
─
Extent of compliance to the standard specification
Are all JAIN SLEE compliant containers the same?
| 2004 JavaOne
SM
Conference | Session TS-1172
21
Agenda
Part 1
Benefits of a JAIN SLEE Platform
Java Performance in Core Network Services
JAIN SLEE Platform Trials Review
Part 2
Vodafone’s Network—An Overview
JAIN SLEE and J2EE Technologies—
A Comparison
Solving Problems
| 2004 JavaOne
SM
Conference | Session TS-1172
22
Vodafone’s Network—An Overview
RNC
BSC
BTS
BTS
SGSN
MGW
GGSN
MSC
EIR
AuC
HLR
VLR
IN
SCP
SCP
SMSC
…
MMSC
| 2004 JavaOne
SM
Conference | Session TS-1172
23
Problem 1: Applications
RNC
BSC
BTS
BTS
SGSN
MGW
GGSN
MSC
EIR
AuC
HLR
VLR
SMSC
…
MMSC
IN
SCP
SCP
Applications today
•
Closed box
•
Vendor lock-in
•
Few experts
•
Strong relation between
application and platform
Vertical Solutions!
| 2004 JavaOne
SM
Conference | Session TS-1172
24
Problem 2: Enabler Access
RNC
BSC
BTS
BTS
SGSN
MGW
GGSN
MSC
EIR
AuC
HLR
VLR
IN
SCP
SCP
SMSC
…
MMSC
Enabler Access today
•
Different protocols per
enabler
•
Complex access
•
Too network centric
•
No unique process to
access the enablers
Too complex!
| 2004 JavaOne
SM
Conference | Session TS-1172
25
Agenda
Part 1
Benefits of a JAIN SLEE Platform
Java Performance in Core Network Services
JAIN SLEE Platform Trials Review
Part 2
Vodafone’s Network—An Overview
JAIN SLEE and J2EE Technologies—
A Comparison
Solving Problems
| 2004 JavaOne
SM
Conference | Session TS-1172
26
The J2EE Technology World
•
Mostly synchronous invocations
•
Heavy weight data access objects/components
•
Databases as primary information stores
•
Transactions follow database transactions
•
Database access intensive computation
•
No real-time behaviour
•
Small number of nodes in clusters
For Heavy Business Logic!
| 2004 JavaOne
SM
Conference | Session TS-1172
27
The JAIN SLEE Technology World
•
Mostly asynchronous events,
messages, triggers
•
Light weight objects with short lifetime
•
Multiple data sources
•
Fast completing light weight transactions
•
State transition intensive computation
•
Soft-real-time behaviour
•
Distributed deployment throughout network
For Low Latency and High Throughput!
| 2004 JavaOne
SM
Conference | Session TS-1172
28
JAIN
SLEE Technology
Relationship to J2EE
Technology
•
JAIN SLEE platform is a component model
specialized for event driven applications
•
JAIN
SLEE platform builds upon the strong
concepts tried and tested in the enterprise
domain, namely evident in EJB
™
architecture
•
JAIN
SLEE platform is not one
of the J2EE component models
•
JAIN
SLEE platform is designed
for low-latency and high-throughput
event orientated applications
| 2004 JavaOne
SM
Conference | Session TS-1172
29
JAIN
SLEE and EJB Architectures—
Specifications
FACT:
•
The JAIN
SLEE specification
does not
ensure high performance
•
The EJB specification
does not
ensure high performance
Performance is a characteristic of implementation
relevant to a specific network environment, which
defines the transaction and persistence layer
specific to that environment
| 2004 JavaOne
SM
Conference | Session TS-1172
30
JAIN SLEE and EJB Architectures—
Implementations
•
J2EE implementations by design exhibit high
performance in enterprise networks,
─
yet
do not
meet performance characteristics
specified by communication networks
•
JAIN
SLEE implementations by design exhibit
high performance in communication networks,
─
yet
do not
meet performance characteristics
specified by enterprise networks
Applications characteristics
drive Container Design!
| 2004 JavaOne
SM
Conference | Session TS-1172
31
JAIN
SLEE Component
Model Value-Add
•
Powerful component model
for event processing
•
Asynchronous support
•
Event processing components
with strongly typed interfaces
•
JAIN
SLEE container understands relationship
between event producer and event consumer
•
Remote reference are forbidden
to avoid performance overheads
and dangling references
| 2004 JavaOne
SM
Conference | Session TS-1172
32
Agenda
Part 1
Benefits of a JAIN SLEE Platform
Java Performance in Core Network Services
JAIN SLEE Platform Trials Review
Part 2
Vodafone’s Network—An Overview
JAIN SLEE and J2EE Technologies—
A Comparison
Solving Problems
| 2004 JavaOne
SM
Conference | Session TS-1172
33
Synchronous
Asynchronous
Integration of JAIN SLEE
and J2EE Technologies—Why?
80%
20%
Vodafone Group R&D internal analysis of converged applications
Analysis of converged applications
Content Rendering
Browsing
Heavy Business Logic
Network Signaling
Call Control
Communication
| 2004 JavaOne
SM
Conference | Session TS-1172
34
J2EE
Integration of JAIN
SLEE
and J2EE Technologies—How?
Applications characteristics drive Architecture Design!
JAIN SLEE
Network Integration
JCA
Network
EJB invocation
| 2004 JavaOne
SM
Conference | Session TS-1172
35
JAIN
SLEE and EJB
Technologies Are Interoperable
•
SBB invokes EJB architecture
like a remote client
─
A SBB invokes an EJB architecture
through its home interface
─
The home interface is gained through JNDI
─
The type of local interface is specified
in the SBB’s deployment descriptor
•
EJB architecture fires events to the SLEE
via the SleeConnection interface
─
The Interface is implemented by a J2EE Connector
─
Connector sends events to a Resource Adaptor
─
The RA passes these events into
the event processing sub-system
| 2004 JavaOne
SM
Conference | Session TS-1172
36
Code Sample
public abstract class InvokerSBB extends BaseSbb {
private BLejb bl;
public void setSbbContext(SbbContext ctx) {
...
Object obj = ic.lookup("java:…/ejb/BLejbHome");
BLejbHome blHome = (BLejbHome) obj;
bl = blHome.create();
...
}
public void onStartEvent(…) {
...
bl.runHeavyBusinessLogic();
...
}
}
SBB invokes EJB archictecture
Code snippets provided by Open Cloud Ltd
| 2004 JavaOne
SM
Conference | Session TS-1172
37
Code Sample
public abstract class Init implements SessionBean {
private SleeConnectionFactory factory;
public void setEntityContext(EntityContext ctx) {
...
factory = (SleeConnectionFactory) ic.lookup
("java:…/slee/SleeConnectionFactory");
...
}
...
}
EJB architecture fires event to SBB—Part I
Code snippets provided by Open Cloud Ltd
| 2004 JavaOne
SM
Conference | Session TS-1172
38
Code Sample
public void sendEvents() {
SleeConnection connection =
factory.getConnection();
EventTypeID typeID =
Connection.getEventTypeID("IntegrationEvent",
"Open Cloud Ltd", "0.1");
ExternalActivityHandle handle =
connection.createActivityHandle();
IntegrationEvent ie = new IntegrationEvent(0);
connection.fireEvent(ie, typeID, handle, null);
}
EJB architecture fires event to SBB—Part II
Code snippets provided by Open Cloud Ltd
| 2004 JavaOne
SM
Conference | Session TS-1172
39
JAIN
SLEE Platform
and Network Abstraction
Network Enabler Access
JAIN SLEE
Network Integration
Network
SMSC
MMSC
Vodafone External Access
through e.g. Web Services
Vodafone Internal Access
through optimized
protocols/technologies
| 2004 JavaOne
SM
Conference | Session TS-1172
40
Summary
•
JAIN
SLEE and J2EE technologies solve
different problems for Network Operators
•
Both containers integrated fulfil Network
Operator’s end-to-end platform requirements in
Java programming language
•
Java containers can perform in
event processing core networks
| 2004 JavaOne
SM
Conference | Session TS-1172
41
For More Information
•
Sun Booth 1020—JAIN SLEE
•
JSR websites
http://jcp.org/en/jsr/detail?id=22
http://jcp.org/en/jsr/detail?id=240
•
Resource websites
http://java.sun.com/products/jain
http://jainslee.org
•
JSLEE Discussion List:
http://archives.java.sun.com/jain-slee-
interest.html
| 2004 JavaOne
SM
Conference | Session TS-1172
42
Q&A
42
java.sun.com/javaone/sf
| 2004 JavaOne
SM
Conference | Session TS-1172
43
JAIN
™
SLEE and
J2EE
™
Technologies
Ramon Garcia, Service Architect
Michael Maretzke, Technology Manager
Vodafone
http://www.vodafone.com
Exposing Core Network Capabilities