maretzke.com
English version of maretzke.de Deutsche Version von maretzke.com
JAIN™ & JAIN™ SLEE FAQ

Valid HTML 4.01!

JAIN™ SLEE FAQ

Frequently Asked Questions -  31.05.2005

Some questions remain open in context of JAIN™, JAIN™ SLEE and associated Technologies. Some of them are answered in this FAQ.



Question: What does JAIN™ mean?

The acronym "JAIN™" stands for "Java™ APIs for Intelligent Networks". If JAIN™ talks about networks mostly communication networks in telecommunication are meant. JAIN™ is a registered trademark of SUN Microsystems. SUN also owns the rights on the programming language Java™
The JAIN™ initiative was originally founded by SUN Microsystem and aimed for Java™ programming API's into the network. Aim is to create and operate services and application close to the network. JAIN™ evolved to an industry initiative and advances through the collaboration of partners and software experts.
JAIN™ aims especially for these typical Java™ goals in the domain of networks:

  • Service Portability - Write Once, Run Anywhere
  • Network Convergence - Any Network
  • Service Provider Access - By Anyone
These days it's quite quiet around the JAIN™ initiative. SUN Microsystems drops many ideas in the network domain - including the JAIN™ SLEE initiative. The ex-founding members of the SUN JAIN™ initiative were released some time ago. Let's see what happens next!

Question: What covers JAIN™?

JAIN™ encompasses a variety of aktivities on various layers: definitions of protocol abstractions, definitions of call control functions, definitions of approaches to create services, definitions to manage and access ENUM directories and finally the definition of a service execution environment for the network (JAIN™ SLEE).
Protocol Abstraction Status Latest Activity
TCAP [JSR-11] Final Oct 2001
ISUP [JSR-17] Withdrawn -
Megaco [JSR-79] Final Dec 2004
MAP [JSR-29] Withdrawn -
MAP [JSR-137] Withdrawn -
SIP [JSR-32] Final Nov 2006
SIP Lite [JSR-125] Withdrawn -
INAP [JSR-35] Final Mar 2002
MGCP [JSR-23] Final Oct 2001
H.323 [JSR-81] Withdrawn -

Call Control Status Latest Activity
JCC [JSR-21] Final Jul 2002
JCAT [JSR-122] In Progress Aug 2003

Service Creation Status Latest Activity
SCE [JSR-100] In Progress Oct 2002
SCE [JSR-192] Withdrawn -

Misc Status Latest Activity
OAM [JSR-18] Final Sep 2000
OAM [JSR-132] Withdrawn -
ENUM [JSR-161] In Progress May 2004

Execution Environment Status Latest Activity
SIP Servlet [JSR-116] Final Mar 2003
SIP Servlet v1.1 [JSR-289] In Progress Jan 2007
JAIN™ SLEE [JSR-22] Final Mar 2004
JAIN™ SLEE v1.1 [JSR-240] In Progress Feb 2007


Question: Where does JAIN™ work? Who defines the JAIN™ features?

JAIN™ works in the context of the Java Community Process (JCP). A number of Java Specification Requests (JSRs) allow companies and industry experts to collaborat on JAIN™ related topics.

Question: What does JAIN™ SLEE stand for?

SLEE stands for "Service Logic Execution Environment". SLEES are synonyms for platforms in the network domain of the telecommunication industry executing generic logic which is triggered through network events. After processing the event in the service logic an answer is generated triggering again an activity in the network. Today, typical examples of these platforms are "Intelligent Network" - IN - nodes.
New with JAIN™ SLEE is the fact that the platform utilizes the Java™ programming language.
BTW - "JSLEE" is a typically used acronym for JAIN™ SLEE.


Question: What is JAIN™ SLEE?

JAIN™ SLEE is a new, standardised, technology designed to provide a flexible service platform for running end-user applications aimed for telecommunication operators. It extends the Intelligent Network service development concept that has been deployed by many mobile telecommunication operators to reduce application development times. Main design goal is a low latency and high throughput environment, based on a componentoriented and transacted execution environment. JAIN™ SLEE contains an eventdriven and -optimized runtime model that borrows well-established and proven concepts from the enterprise domain (J2EE™). JAIN™ SLEE allows the decoupling of services and the underlying network - or communication infrastructure through the concept of Resource Adaptors.
However, designed explicitly for the needs of telecommunication operators and environments, JAIN™ SLEE could be applied wherever the features of this application environment may fit - e.g. Online Games servers or Robot control.
JAIN™ SLEE is a standard, which allows portable services and applications. This allows the same service to execute on various vendor's JAIN™ SLEE platforms.

More information and an extensive tutorial is availabel here: JAIN™ SLEE Tutorial.

Question: Why JAIN™ SLEE?

The main reasons for JAIN™ SLEE solutions are:

  • JAIN™ SLEE is standardized, not proprietary
  • JAIN™ SLEE allows reduced time-to-market for services through standardized and component oriented architectures allowing for re-use of existing components, functions and enablers
  • JAIN™ SLEE allows cost reduction through multi-vendor environments

The introduction of JAIN SLEE is motivated by telecommunication industry trends towards component-based architectures and open, standardized off-the-shelf platforms. Furthermore, JAIN SLEE provides network abstraction to hide the complexity of the legacy network and enabling services from application developers.


Question: Is JAIN™ SLEE mature enough?

Currently, JAIN™ SLEE is perceived as an emerging technology. However, there are projects deploying this technology commercially (small, medium and large scale) by various mobile operators. There is also a selection of companies in the market offering JAIN™ SLEE products. A selection of vendors is located on the SUN Homepage.

Question: What happens in standards?

JSR-22 is finalized since 3rd of March 2004. The specification for JAIN™ SLEE Version 1.0 is available for download on the JCP homepage.
The specification is not easy to read and addresses mainly companies or individuals with the intention to implement a JAIN™ SLEE platform. On the 300 pages of the specification is almost everything of the runtime environment covered. Almost everything, despite a unique Resource Adaptor Architecture.
Companies participating in JSR-22 were: 8x8, Fujitsu, IBM, Incomit, Motorola, Nortel Networks, NTT, OpenCloud, Personeta, Telcordia Technologies, TrueTel, Siemens, Sun and Vodafone.

Since 14th of January 2005, the specification for JAIN™ SLEE Version 1.1 is available for download as "Early Draft Review" version. Aim of the expert group is to finalize JSR-240 end 2005. Main topics of interest are Resource Adaptor and the integration of J2EE™ and JAIN™ SLEE.
Companies in JSR-240 are: AePONA, BEA Systems, Cingular Wireless, Instituto de Telecomunicacoes, JBoss, jNETx, Lucent, Net4Call, NIST, Nokia, Nortel Networks, NTT Data, Mobilkom Austria, Telecom Italia, TrueTel, OpenCloud, Personeta, Sun and Vodafone.

One part of the standard is the Technology Compatibility Kit (TCK) and even more imporant the Reference Implementation (RI). The TCK is applied by manufacturers and companies who implement a JAIN™ SLEE compliant server and want to verify their compliancy. The RI is implemented by the company leading the JSR. The intention of the RI is to prove the specification is really feasible to do.
The RI for JAIN™ SLEE is available for download here.

Question: Where to apply JAIN™ SLEE?

JAIN™ SLEE is discussed as generic application- and service platform in the domain of telecommunication networks. Areas of application are typically the replacement of existing IN systems. JAIN™ SLEE is designed to replace IN systems and picks up the basic idea of the IN network - call state models. The are to apply this technology dervies very much from the very network focused view.

Question: Where NOT to apply JAIN™ SLEE?

JAIN™ SLEE application server utilize the traditional IN network model and represent usually service creation points for service switching points. This view angle represents very much the old IN model. The application server reacts on event triggered by the network and generates answers.
These answers could be synchronized via service interaction within the SLEE. Unfortunately, this approach works only for services inside the container. More sophisticated approaches into the direction of a SCIM have to be implemented utilizing the JAIN™ SLEE programming model.
Following the standard, JAIN™ SLEE's are not optimally applied in this context:

  • IMS Application Server, too complex programming modell
  • Network abstraction, no support for synchronous invocations
  • Gateway, only complex means to implement external interfaces available

Related info at maretzke.com 

Links into the Web