JAIN SLEERio de Janeiro, Brasil
October 2012
1.1 JAIN SLEE: Introduction Low latency and high throughput application/service
environment for event processing
Designed for stringent requirements of core network signalling application, and to support scalability and availability through clustering
The environment provides common behaviour to all services:
Managing component life-cycle (install/activate/deactivate/uninstall,…)
Generating traces & alarms, managing resources, user statistics;
Common behaviour is not re-developed for each and every service, the service developer only cares about service logic
The necessity to introduce SLEE as a standard:
Components cannot be reused / dependency on vendor
Components developed / deployed on one proprietary SLEE can't communicate with components developed/deployed in other proprietary SLEE
JAIN SLEE is the standardized JAVA SLEE
1.2 Mobicents JAIN SLEE 2.x: Overview JAIN SLEE 1.1
JBoss AS 5
High Availability + Fault Tolerance with JBoss Cache 3.x
High Performance (1200+ SIP UAS cps in a low class server)
Low Latency
Fault Tolerant Resource Adaptor API
JAIN SLEE 1.1 Profiles Mapped to JPA on Hibernate
Full control on how the data is persisted / loaded
Management beyond JMX (Web Console, Twiddle CLI, JBoss ON Plugin)
Misc Features
Congesture Control
Event Router Statistics
Simplified Logging Configuration
JAIN SLEE 1.1 Extensions
1.3 Tools JBoss AS JMX Console
GWT Management Console
JBoss Operations Network Console
Twiddle Command Line Interface
1.4 Development Tools Eclipse SLEE Plugin
Apache Maven2 Plugins, Repositories, Dependency Management, Archetypes
Apache Ant Scripts
1.5 Resource Adaptors JAIN SIP (with Early Dialog Failover)
(Apache) HTTP Client
HTTP Servlet (requests on a specific servlet are transformed in JSLEE events)
JAIN MGCP
XCAP Client (proprietary API)
XMPP Component & Client (Extended Smack API)
Diameter Base, Sh Client, Sh Server, CCA, Rf, Ro, Cx/Dx, Gq, Gx, Rx, S6a
SMPP v5
JCC
MAP
JDBC
TFTP Server
MS Control
1.6 Application Enablers
Reusable components (SBBs), which provide high level and easy to use interfaces
HSS Client
REST Client
SIP Event Publication Client
SIP Event Subscription Client
XDM Client
1.7 Added Value Remote SLEE Connection Tool (Java EE event firing into remote
SLEE)
Media Server 2.x
SIP Load Balancer
Fault Tolerant Diameter Stack
SS7 Framework
1.8 Telscale SLEE 6.x Based on Mobicents SLEE 2.x
Only production quality components
Exclusive extras (e.g. SNMP monitoring)
Extensive QA
Better documentation resources
Professional services
Support
Training
Consulting
Choice between JBoss AS and EAP as underlying Java EE
2.1 Achievements Mobicents SLEE 2.x
“Bullet Proof” SLEE Core
1 New JAIN SLEE 1.1 Extension
3 New Resource Adaptors
1 New Application Enabler
2 New Example Applications
EclipSLEE 2.x
Web Console 2.x
20+ Major Features Developed
80+ Minor Features & Fixes
Community involvement on bug fixes
~7000 downloads since Sochi (10 months)
2.2 Shortcomings
Red Hat Telestax transition
Mobicents 3.x No Progress
Only 2 Binary Releases
Code Contributions
Still almost null on new features development
Weak developer documentation does not helps
3.1 Enhanced SLEE Core
Smooth upgrades of SLEE services with zero downtime
Core deploy-config.xml resource, which admins may use to define Resource Adaptor Entities out of deployable units
Support for period purge of canceled timer tasks
Better classloading deadlock prevention
Configurable timeouts for EventContext suspension
Optimized sbb entity ordering when routing events, which prevent transaction timeouts due to locks
Enhanced container state dump logging
Enhanced log4j default configurations
Reworked (AC) event queues
3.2 Enhanced ActivityContextInterface Extension
Allows SBBs to suspend event routing on an AC, feature only available to RAs on JAIN SLEE 1.1
Critical when a SBB attaches to an AC, then interacts with a non tx aware RA, which fires an event on the AC as follow up (which without AC suspension could be routed before SBB attachment is commited, missing delivery).
3.3 Resource Adaptors SIP RA
Several bugs fixed
Faster stack
Easier logging configuration (done through log4j)
New Diameter S6a RA
Stable release of SS7 MAP RA
MGCP RA
Updated stack
RA logic optimizations
New MS Control (JSR 309) Resource Adaptor
Stable release of JDBC RA
3.4 Application Enablers
New REST Client enabler
Easy interaction with web services, including Twitter and Facebook
Stable releases for SIP Subscription Client, SIP Publication Client and XDM Client enablers
3.5 Application Examples
SIP JDBC Registrar
Rework of the old SIP Services example, that demos the usage of the JDBC Resource Adaptor, to manage the state of a SIP Registrar server
MS Control Demo
Example of MS Control Resource Adaptor usage, handy for developers wanting a quick start on the new media control API
3.6 Web Console The reborn of the old but much missed Mobicents SLEE 1.x
GWT based Web Console
SLEE management
SLEE start/stop
DU (un)deploy
Component (de)activation
Component (re)configuration
SLEE monitoring
Usage Parameters
Traces & Alarms
SLEE state monitoring & management
AC list & removal
SBB Entity list & removal
3.7 Enhanced EclipSLEE Support for Fault Tolerant Resource Adaptors
Higher level wizard for project creation
Support for event handler methods with custom SBB ActivityContextInterface
Support for event handler methods with EventContexts
Easy to add project dependencies, such as the platform RAs and Enablers
4.1 Roadmap
3.0.0.BETA1 (Dec 2012)
JBoss AS 7
TCAP & ISUP Ras (along with SS7 2.x)
Media Server 3.x
3.0.0.BETA2 (Mar 2013)
Cluster 3.x (AS7 + Infinispan)
Diameter 2.x
3.0.0.RC1 (Jul 2012)
Annotations
EclipSLEE 3.x
Web Console 3.x
3.0.0.FINAL (Oct 2012)
Sambatime!