The Source for Java Technology Collaboration
User: Password:



Bhavani Shankar

Bhavani Shankar's Blog

SailFin : SIP and JavaEE convergence demo

Posted by bhavanishankar on December 03, 2007 at 09:32 PM | Comments (3)

Using the converged container, the SIP component and the JavaEE components (eg., MDB) can share the resources, and the SIP functionality can be used inside the MDB.

The flash demo embedded in this blog illustrates how the SailFin converged container is used for SIP and MDB convergence.

This is what the sample application is all about : The customer can apply for a credit card online. After applying for the credit card, the customer is supposed to receive a phone call (on his SIP phone) from the bank executive. During the conversation, the bank executive will be able to access the details submitted by the customer. The sample is written in a way that, if there is only one bank executive, the simultaneous applications submitted by the different customers will be queued in the JMS Queue (SJSMQ) and processed one by one.

The sample has two web interfaces, one for the customer to apply for the credit card online, and another for the bank executive to access the customer details during the phone conversation.

In terms of the implementation, there is a Java EE application (EAR file) containing the Web component, Message Driven Bean, and a SIP component. The web component serves as the front end for Customer and Bank executive. SIP component serves as a B2B User Agent. The MDB sequentially processes the customer requests placed in the JMS Queue (SJSMQ) and initiates a phone call between the customer and bank executive.

The sample does not demonstrate the convergence between the SIP and HTTP, instead it demonstrates the convergence between SIP and EJB.

Though this sample has not been tried with the cluster topology, it is possible for the MDB running in instanceA to access the SipApplicationSession (& its child sessions) created by the JSP running in instanceB. This is possible using the high availability feature (implemented using in-memory session replication) provided by the SailFin server.

The Flash demo shows the steps of developing this application and running it. The source code of the sample is available in SailFin CVS repository (sailfin/samples/OnlineBank).

Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Bhavani, nice and very informative post.

    Posted by: gmpatil on December 05, 2007 at 04:07 PM

  • Very nice app! I'm facing problems trying to deploy it though. I get the following exception when using the command line to deploy


    "DPL8003: archivist instantiation failure for null; type = org.jvnet.glassfish.comms.deployment.backend.SipArchiveDeployer"
    Exception occured in J2EEC Phasejava.lang.NullPointerException
    com.sun.enterprise.deployment.backend.IASDeploymentException: Error loading deployment descriptors for module [OnlineBank] -- null
    at com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:392)
    at com.sun.enterprise.deployment.backend.AppDeployerBase.loadDescriptors(AppDeployerBase.java:358)

    Is there any easy fix for this? Thanks,

    Rodolfo

    Posted by: rodolfocartas on February 05, 2008 at 09:19 AM

  • Hi Rodolfo,

    I just bootstrapped a fresh SailFin and I am able to deploy this app which is under samples/sipservlet/OnlineBank/OnlineBank.ear of the SailFin installation directory.

    I just ran 'asadmin deploy samples/sipservlet/OnlineBank/OnlineBank.ear' command.

    Thanks,
    Bhavani.

    Posted by: bhavanishankar on February 10, 2008 at 07:16 AM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds