Monday, April 28, 2008

Sip-Servlets and JAIN-SLEE : working hand in hand, is the war over ?

As you might know, there is a constant war raging between Sip Servlets and JAIN-SLEE and most see them as competing specifications/products and try to choose between one or the other.

My take is that they don't need to compete since they complete each other very well and it has been one of the leitmotiv behind building Mobicents Sip Servlets.

JAIN SLEE is a more complex specification than SIP Servlets, and it has been know as heavyweight and with a steep learning curve. However JAIN SLEE has standardized a high performing event driven application server, an execution environment with a a good concurrency model and powerful protocol agnostic capabilities thus covering a variety of telco protocols.
SIP Servlets on the other is way much simple and easier to get started with. Its focus is currently on SIP + HTTP/JEE only and is more of a programming model while JAIN SLEE is more of an application environment, a platform.
The fact that Sip Servlets is focused on SIP+JEE makes it a natural fit to build JEE converged applications and way much simpler than JAIN SLEE. To me it feels like JAIN SLEE and Sip Servlets target different audiences, different needs.

It's been a long time since I wanted to leverage the power of both and make them work hand in hand to leverage standards all the way for an application. It is now possible since the Mobicents Platform provides both JAIN SLEE and Sip Servlets implementation within the same VM.

So I hacked away, helped by my Mobicents fellows and here it is the JAIN-SLEE/Sip Servlets Interoperability Demo.

This converged application leverages the power of the Mobicents Platform and shows how JAIN-SLEE and Sip Servlets can be used together to leverage standards for protocols outside of the scope of JSR 289 specification in using JAIN-SLEE.

In this example, Mobicents Sip Servlets is used to handle the SIP protocol for which it is a natural fit, JEE is used as a gateway to communicate between Sip Servlets and JAIN SLEE worlds, Mobicents JAIN-SLEE is used to control Media through Media and Text to Speech Resource Adaptors and Mobicents Media Server is used to handle Media and DTMF signals.

Media has been used here as a proof of concept of a typical need for sip servlets applications that is outside of the Sip servlets Spec and support for it is really up to vendors thus the application, if built using only Sip Servlets, would be non portable between vendors and application servers.
The same kind of application could be built for accessing other standards (such as Diameter offered by most vendors in the same proprietary way) or legacy protocols through JAIN-SLEE in a PORTABLE way without to resort to vendor proprietary extensions.

One of the logical next steps Mobicents is already taking is to drive and create a unified model that leverages the simplicity and tight JEE integration of Sip Servlets with the power of concurrency control and protocols abstraction of JAIN-SLEE. Feel free to join us if you're interested in it !

3 comments:

  1. Do you know if Mobicents has a SOAP Resource Adaptor or an RA for Web Services intereactions.

    Thanks!!

    ReplyDelete
  2. Do you know if Mobicents has a SOAP Resource Adaptor or any other RA for Web Services Interactions?

    Thanks!!

    ReplyDelete
  3. @ximena : we have a parlay resource adaptor but not sure how stable it is. Feel free to try it http://code.google.com/p/mobicents/source/browse/branches/servers/jain-slee/1.x.y/resources/parlay and remember any contributions are welcome :-)

    ReplyDelete