"A Service Logic Execution Environment (SLEE) is a high throughput, low latency event processing application environment". "JAIN SLEE is the Java open standard for a SLEE and is designed to allow implementations of the standard to meet the stringent requirements of communications network signaling applications".
The above two definitions explain the SLEE and JAIN SLEE. JAIN SLEE stands for Java API for Intelligent Network Service Logic Execution Environment. The basic purpose of it is, achieving scalability and availability in cluster systems.
JAIN SLEE is the only implementation which targets the portable communication. That is a "Write once, Run anywhere" situation. It allows telco applications to access resources and protocols of wide range of networks which are originating from JAIN SLEE environment. At the same time component based architecture helps in solving complex problems.
Fundamental concepts of Jain SLEE diverse into many areas including JAVA Community process, Service, Profile, Service building block, Event, Resources and Resource adaptors.
JAVA Community process
SLEE architecture implements in such a way that it supports component based model with defining the agreement between components and the container which holds them at run time. The management interface definition for administration of application environment and extension framework definition for adoption of new protocols.
Profiles
Profiles are used to store subscriber data and handle subscriber profiles. In service delivery platforms subscriber profiling would be easy with profiling concept of SLEE. Application would be capable of accessing subscriber profiles as part of their application logic.
Service Building Blocks (SBB)
Service building blocks are the software units which send and receive data in between them. Since, in SLEE components, they are viewed as services message parsing in between them is achieved through Service Building Blocks (SBBs).
Resources and Resource Adaptors
Resource adaptors provide the interface, for resources to connect to the container of the components, via JAIN SLEE architecture.
Since JAIN SLEE architecture supports many telco application developments by nature, it has many factors which influence the continuous improving performance, availability and the operational requirements demanded by the applications.
Importance of reliable software
Most of the time when it comes to system implementations, only hardware reliability is concerned. But it is a well known fact that the software reliability accounts to roughly 40% of the system downtimes. Because of that using reliable software will significantly enhance the application performance.
Next generation services
Next generation service offering such as Service portability, Network convergence and secure network access supportability affects the demand of the jain slee architecture which will eventually lead to continuous improvement.
Application development
For the developers who are willing to develop on top of the jain slee architecture, JAIN SLEE should provide a set of APIs to make the application developers' lives easy by making the application logic;
- Simple
- Functional through host process failures
- Executable independent of particular computing nodes
- Executable concurrently
The JAIN SLEE specification implications being favorable on application software architecture, software server would encourage application developers in producing telecom applications using the component based architecture with easy to use APIs.
Use a best breed of programming model
In application programming, developers using best practices and conceptual methods would also would have an effect on JAIN SLEE architecture as well. Object oriented programming model usage; modularized architecture would facilitate continuous performance improvement expected by the application on top of JAIN SLEE.
Standards based, Network independence and Portability some more factors which would affect the performance of the jain slee architecture in its implementations.
Different implementations of JAIN SLEE provide different availability guarantees, have different cluster architectures, provide different ACID semantics, and exhibit different latency and throughput performance. Following table is a comparison of well known "Event driven applications" and Enterprise applications".