Status: FinalJCP version in use: 2.1Java Specification Participation Agreement version in use: 1.0

Description:
Descriptions of all interfaces, classes, exceptions and requirements to develop portable telecommunication services and application frameworks so that services once developed will run on any JAINTM SLEE-compliant execution environment.

Original Summary: The specification includes complete descriptions of all the interfaces, classes, exceptions and requirements to develop portable telecommunication services and application framework so that services once developed will run on any JAINTM SLEE compliant execution environment.

This JSR is to develop the JAIN Service Creation Environment (SCE) and
the Service Logic Execution Environment (SLEE) API Specifications. These APIs
will provide service developers, whether independent software vendors, service providers or
network equipment providers, with a common
model and a consistent run-time environment for developing and deploying network services in Java. These network services
encompass AIN/IN services such as number translation or follow-me, voice services such as personal assistant, services in
the mobile network such as location query, as well as services in the future IP based networks.

The main objective of this effort is to provide a framework specification -
what design time components are available for the Service Creation Environment and
what run-time components are supported in the Service Logic Execution Environment,
how these components will exist and interact with each other, how services will be
developed and how services will run. This will allow service providers to either
develop or use service creation or execution platform developed or integrated from
the component factories created by various JAVA groups. The JAIN SCE and SLEE are network architecture neutral: they define the application interfaces available to the service creator, they do not prescribe how the network provides these capabilities.

Target Java Platform

The JAIN Service Creation and Service Logic Execution
Environment Specifications are targeted towards the service providers, equipment
manufactures, software vendors and network providers for the purpose of creating
service creation and execution platform using JAVA component factories.

Why are the APIs needed?

Today, network services are built using proprietary
interfaces. These interfaces are often specific to the hardware and software of
that network. A service such as Internet call waiting is not portable from the
platform where it was developed to an alternate network equipment provider. This
result in single supplier based vertically integrated solutions with high costs to
develop and maintain services. Services are not portable between network
technologies. Services that were developed for the AIN cannot easily be
ported to a Mobile network or to a Voice-over IP network.

Service providers
are looking for ways that will enable them to develop and deploy new services
quickly. The service provider's main focus is how to create and introduce new
services without worrying about the specifics of the framework, network and
interfaces. An open standards based framework makes it possible for network
service providers to create services without rewriting for the different interfaces
in a multi-vendor environment. The JAIN APIs for the service creation and execution
will allow open standard based service creation and service execution platforms using
re-usable components.

The JAIN API specification for service creation will address the following requirements:

Supports a wide range of services.

Supports 3rd party developed service independent building blocks

Enables 3rd party service creation.

Supports service logic portability and reusability.

Supports development of service logic without reference to the infrastructure of the target network (PSTN, IP, mobile etc)

Transparently supports a variety of call models.

The JAIN API specification for the service logic execution environment will address the following requirements:

Deployment on any network platform and on any hardware.

Independence of network architecture, topology and signaling.

Imposes no limitation on configuration, performance and software architecture.

Supports modularity (can provide a small footprint, only what is used is present) and expandability at all levels.

Provides dynamic service download.

The Specification to be developed

The JAIN service creation and service execution specifications
are based upon the APIs that will be defined in other JAIN edit groups such as Java
Call Control (JCC) and JAIN Secure Network Access. In addition to the APIs being
defined in other JAIN application group, additional APIs will be defined as needed.
The JAIN service creation and service execution specifications will use existing JAVA
technologies such as the Java Virtual Machine, Enterprise JavaBeans (EJB), Java
Database connectivity (JDBC) and Java Management (JMX) wherever possible.

Proposed Package names

The package names being considered are:

jain.slee

This package contains the main interfaces, classes and exceptions required supporting service execution.

jain.slee.oam

This package contains the main interfaces, classes and exceptions required for operation, administration and maintenance purpose in service execution.

The following package names are reserved for future use:

jain.sce

This package contains the main interfaces, classes and exceptions required supporting service creation.

jain.sce.oam

This package contains the main interfaces, classes and exceptions required for operation, administration and maintenance purpose in service creation.

Risk assessment

JAIN Service Creation will make it possible to build
generic service creation and execution environment using JAVA and associated
technologies. Risks include failure of the Java platform due to poor performance
or the inability to failover or recover. Since the service creation and execution
part are not integral part of the JAVA platform. Therefore it does not jeopardize
existing Java platform or any other Java standardization projects.