Jainslee.org
       

whitepapers  >  other technology  >  slee and sip servlet

   
 

JAIN SLEE and SIP Servlet

   
 

printer friendly version

 

Abstract

JAIN SLEE and SIP Servlets are both standards defined through the Java Community Process that address the development of applications. Both standards define a container based model for applications, define how applications may be built and deployed in the respective containers and the services and features supplied by the containers.

In this paper objectives of the two standards are outlined. A number of application characteristics are then identified which are subsequently used to compare and contrasts JAIN SLEE and SIP Servlets.

JAIN SLEE and SIP Servlet

JAIN SLEE defines an application environment suited for network orientated applications. It defines a protocol agnostic, component and object orientated and transacted programming model. A JAIN SLEE is adapted to use a partcular resource by a resource adaptor, so the SLEE is inherently extensible. The nature of the programming model and the services that the JAIN SLEE provides have been designed to address typical requirements of tier one carriers.

SIP Servlets defines a container based model that is an extension of the well understood Servlet model. It was designed to simplify the development of SIP based applications and thereby enhance the adoption of the SIP protocol.

Comparison

A number of features of applications may be considered in order to compare and contrast these two models to better understand the benefits of each and how they might best be used. The following concepts may be considered:
 - Application Architecture: The way in the business logic of an application is structured
 - Application State: The way application state may be represented, accessed and protected
 - Concurrency Control: The way the multiple threads of execution may be controlled
 - Facilties Availible to Applications: Ultilities made availible to applications by the container
 - Availibility Mechanisms: How the features and concepts of the model may be leveraged to support continuous availibity
 - Management: The mechanisms provided by the container to manage applications and the container itself

SIP Servlets

JAIN SLEE

Application Architecture

Based on HTTP Servlets

Unit of application logic is the Servlet

No standard model for composition and reuse

Component based, Object Orientated architecture

Unit of logic is the Service Building Block (SBB)

Support for composition and reuse

Application State

Servlets are stateless

Shared state may be stored in a separate session object as name value (String, Object) pairs

Shared state is visible to all Servlets with access to the session

SBBs may be stateful (or stateless)

SBB state is private, type safe, transacted and a property of the SBB itself (i.e. an SBB is an object)

Shared state may be stored in a separate ActivityContext via a type safe interface

Access to shared state may be specified at deploy time

Concurrency Control

Application managed only, i.e. use of Java monitors

System Managed, i.e. isolation of concurrent transactions

Protocol Support

SIP and HTTP

Protocol agnostic

Can be extended to support additional protocols and external resources

Consistent event model, regardless of protocol/resource

Facilities (Utilities for Applications)

Timer

Timer

Trace

Alarm

Statistics and Usage

Profiles

Availability Mechanisms

Container managed state (session object) that can be replicated

No transaction context for SIP message processing

Non transacted state operations

Facilities are non transacted

No defined failure model

Container managed state (SBB CMP, ActivityContext, facility state etc) that can be replicated

Transaction context for event delivery

Container managed state operations are transacted

Facilities, e.g. timers, are transacted

Well defined and understood failure model via transactions

Management

No standard management mechanisms defined

Standard management interfaces are defined based on JMX (Java for Management Extensions)

Independent of Management protocol

Interface for managing applications, including life cycle, upgrades, profiles, tracing etc

Interface for managing SLEE life cycle

Summary

JAIN SLEE is a more complex specification that SIP Servlets. JAIN SLEE has standardised the High Availability and Fault Tolerance mechanisms of the programming model and of the lifecycle of the application. SIP Servlets is a programming model, JAIN SLEE is an application environment.

 
 

 

 

 

 
 

printer friendly version

 
 

Home . Downloads . Whitepapers . FAQs . News . Sponsors . About jainslee.org . Contact Us