Comments
litl_phil wrote: While it's nice that Google and Acer share the vision of cloud-based computing, it's also worth noting that we at litl already have a webbook on the market (available at litl.com) that runs our own cloud-based OS. Unlike Chrome, litlOS is focused on creating a new and better web experience for the home, so we don't have the usual browser interface, we have our own innovative UI. In conjunction with easel mode (litl's inverted-V position) and our growing cohort of litl channels (special apps t...
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


Java Feature — The Evolution of SIP Servlets for Converged Voice and Data Applications
Upgrading the SIP Servlets 1.0 standard

The application composition and routing mechanism developed in SIP Servlet 1.1 is vastly different from the model in SIP Servlet 1.0. The new mechanism introduces a new logical entity called an Application Router (AR). Instead of dispatching SIP requests to servlet applications as a result of complex XML files, the container uses the new AR. A common API is provided so the container can interact appropriately with the AR.

Figure 2 provides a simplified example of how the new application composition mechanism operates in SIP Servlets 1.1. The container gets a SIP request (1) as in the previous example. The SIP request is then passed to the SIP servlet container (2) for further processing. The container uses the common Application Router API to request which SIP Servlet application should get the request (3). In Figure 2, "App 1" is returned and the request is then serviced. It should be noted that the XML mappings for requests are no longer used as the primary selection mechanism. Instead, a default SIP servlet in the application is always triggered. Once App 1 has finished with the request the process is repeated (4-8) until no more applications want to make use of the SIP request. At this point the request can be routed externally (9).

The AR is an interesting concept that lets implementations be flexible in how they select and compose services (e.g., a push-to-talk service could consist of several SIP servlet applications, say conferencing, presence, and floor control). The decision as to exactly what is returned by the AR to the SIP servlet container could be very simple or based on profile information from a Home Subscriber Server (HSS) or some other data store. As long as the AR exposes the standardized API interface to the container, it's free to do what it wants when making decisions. With the new standards definition, service providers will most likely be able to tailor an AR to act in an appropriate manner based on any number of required variables. This approach provides an extremely powerful alternative to the static XML mappings provided in SIP Servlet 1.0.

It's fact that a B2BUA is the most popular form of SIP servlet application, and yet it's not all that easy to construct. It was obvious that application developers needed a helping hand to produce such functionality easily. A new B2BUA helper class has been introduced in SIP Servlets 1.1 specifically for this purpose.

A B2BUA consists of multiple protocol sessions that have to be linked to mimic a single-network entity. The B2BUA helper class provides convenient methods that enable implicit linking to take place that reduces complexity and eases the flow between linked protocol sessions in a B2BUA application. The B2BUA helper class also provides previously unavailable functionality, including the ability to send multiple SIP provisional response codes when acting as a User Agent Server (UAS). This was an important feature that suffered from limitations in SIP Servlets 1.0 that has now been addressed.

This article has highlighted the weakness of the encode-URI mechanism and the ability to specifically associate new protocol sessions with an existing application session. SIP Servlets 1.1 introduces a new "Session Targeting" feature that lets an application specify a protocol session association with an existing application session. Session Targeting is achieved by including a specialized Java annotation in applications that checks the protocol session associated with a new SIP request and makes a decision on whether to associate or create a new application session. When applied to conferencing, for example, a user dialing into a conference instance can now be part of an existing application session if required.

One of the primary benefits of the new Session Targeting over the previous Encode-URI mechanism is that it has no impact on the application composition chain. Requests containing an encoded URI are immediately directed to the correct application instance, while session-targeted requests traverse the composition path normally until they reach the appropriate application (as denoted using the Java annotation). The ability to traverse the full composition path and not skip vital steps provides a powerful protocol session association mechanism.

Convergence was a key theme introduced in SIP Servlets 1.0 and continues to be important in 1.1. As discussed, a converged HTTP and SIP container doesn't holistically fulfil the requirements of SOA/J2EE-based telecom solutions. The term "convergence" is redefined in SIP Servlets 1.1 to accommodate both a converged HTTP/SIP container and include convergence from a J2EE perspective. For example, an enterprise archive (EAR) that contains both SIP and HTTP servlets that communicate using EJB is now considered a "converged" application. This provides a true holistic definition of convergence.

A number of subtle changes were required to accommodate such a redefinition. First, the primary interface used to create and carry out SIP functions (SipFactory) is now made available via a specific Java annotation (@SipFactory) as well as from the Servlet Context (as defined in SIP Servlet 1.0). The annotation providing SIP functionality can then be used anywhere in a converged application (convergence as previously defined in this paper).

It's also important to note that a converged application can access an existing instance of an application. Each application session is uniquely identified by a key. SIP Servlets 1.1 lets a converged application access an application session using the getAppplicationSession method available via the SipSessionUtil interface. The method call lets a converged application retrieve the session using the unique application session identifier and is returned the appropriate access to a unique Application Session instance. It functions like 'SipFactory' access, so this utility is made available to the converged components of a converged application and can be injected via a specific Java annotation (@SipSessionsUtil).

Clearly, annotations and the resource injection available in Java 5 are needed by the SIP Servlet 1.1 specification. For this reason Java 5 is the mandatory supported platform.

Backwards compatibility has also been a major consideration in designing the next generation of SIP servlet containers. While every effort has been made to maintain legacy applications, there are certain areas that have been clarified in both the API and container behavior. The bottom line is that a well-behaved SIP Servlet 1.0 application can be successfully deployed in a SIP Servlet 1.1-compliant container. In all other cases some small code modifications might be required.

While this discussion isn't a definitive guide to the changes incorporated in JSR 289, it does highlight some of the primary modifications. These changes help to form a more complete picture of the technological direction of SIP servlet containers.

Conclusion
SIP servlet technology was originally created to provide an appropriate platform for rapidly creating telecommunications services and improving the application development infrastructure. It's true to say that the first generation of SIP servlets achieved its objective by establishing a sound technology platform that has seen wide adoption and a high level of implementation from both container and application developers. It's also clear that, as the technology and deployments evolved, those first-generation servlets needed to be revised to take advantage of new innovations and the insights gained by working with SIP Servlets 1.0.

SIP Servlets 1.1 will mark a new departure in telecommunications technology. The ability to provide true convergence in an application and to compose service-level constructs will provide a powerful tool that will aid Java developers and carriers for years to come. In conjunction with other new features such as B2BUA help, an API cleanup, and SIP access from a converged application, SIP servlet technology will now offer the versatility to move SIP application development to the next level.

References
www.jcp.org/en/jsr/detail?id=116
www.jcp.org/en/jsr/detail?id=289

About Chris Boulton
Chris Boulton is part of the CTO’s development team at Ubiquity Software, creators of the Ubiquity SIP Application Server, which is being used for converged applications by more carriers than any other SIP platform throughout the world.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

It's widely recognized that the telecommunications industry is riding the crest of change and evolution on the back of new access technologies such as 3G, GPRS, and Wi-Fi. Such IP-centric access mechanisms must also be considered in conjunction with the emergence of feature-enabling technologies such as VoIP, instant messaging, and presence. A whole new converged telecommunications world is emerging that requires an appropriate complementary IP-based infrastructure as opposed to the legacy, circuit-switched solutions of the past.


Your Feedback
Java Feature wrote: It's widely recognized that the telecommunications industry is riding the crest of change and evolution on the back of new access technologies such as 3G, GPRS, and Wi-Fi. Such IP-centric access mechanisms must also be considered in conjunction with the emergence of feature-enabling technologies such as VoIP, instant messaging, and presence. A whole new converged telecommunications world is emerging that requires an appropriate complementary IP-based infrastructure as opposed to the legacy, circuit-switched solutions of the past.
Enterprise Open Source Magazine Latest Stories . . .
Oracle seems to have divided the open source ranks over the MySQL delay it’s having closing its acquisition of Sun. Eben Moglin, the GPL’s most ardent defender and delineator, the lawyer who has worked hand in glove for years with the Free Software Foundation’s founder Richard Stallman...
Cloud computing is a game changer. The cloud is disrupting traditional software and hardware business models by disrupting how IT service gets delivered. Entrepreneurial opportunities abound as this classic disruptive technology begins to proliferate, so it is no surprise that SYS-CON'...
The irony is that Oracle has advanced MySQL, lost money in the process, and helped its competitors - all at the same time. When Oracle buys Sun and controls MySQL the gift (other than to Microsoft SQL Server) keeps on giving as the existential threat to RDBs is managed by Redwood Shore...
WSO2, the open source SOA company, today announced the launch of the WSO2 Cloud Platform. Available today, the new WSO2 Cloud Platform features a family of WSO2 Cloud Virtual Machines; WSO2 Cloud Connectors for enabling fast, secure cloud services; and the multi-tenant WSO2 Governance-...
Now, the open source Mozilla Thunderbird client software can be used with Open-Xchange collaboration software. The "Community OXtender for Thunderbird" software connector gives users full access to appointments and contacts stored in the Open-Xchange Server and enables them to use Thun...
Morph Labs, a leading provider of enterprise cloud computing technology, today announced an introductory trial of the Morph CloudServer, an open, standards-based server IT organizations can use to rapidly model and evaluate their cloud implementations. A miniature "Cloud Environment in...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE