Get Started
    Users Guide
        Overview
        Setting up dojo.E
        Adding Dojo
        Adding dojo.E
        dojo.E Markup
        dojo.E Runtime
        Server-driven UI
        Macros
        Dynamic dojo.E
        Extending dojo.E
        Internet Messaging Bus
        Enterprise Data Services
    Reference

Internet Messaging Bus  
home > documentation > Users Guide > Internet Messaging Bus
Save & ShareSave & Share  SubscribeSubscribe

The Internet Messaging Bus (IMB) gives developers Comet messaging, which can be used to develop any number of real-time applications. Nexaweb first developed it's Comet technology 6 years ago and it has been used in many mission critical applications ranging from Network Management to Foriegn Exchange. Even though the infrastructure it self is very complex, developers work with a very simple API that uses a publish/subscribe metaphor for building their applications.

The following are the list of APIs you will need to interact with the IMB:

  • nexaweb.imb.Session - This is the controller of the IMB and the main interaction point for obtaining IMB Services.
  • nexaweb.imb.RequestService - Provides developers with retrieve and retrieveAsynchronously methods to getting resources from the server.  External resources will automatically be proxied by the server to the actual destination.
  • nexaweb.imb.MessagingService - Provides developers with the function to publish/subscribe messages on the IMB.
  • nexaweb.imb.SynchronizationService - Controls the way in which the IMB maintains connections with the server. The current implementation of the IMB supports the following synchronization methods - One-time Sync, Interval-based Polling, Long Polling, and Piggybacking. WikiPedia has a good writeup on these topic.

Code Samples

 
dojo.addOnLoad(function(){
   var imbSession = new nexaweb.imb.Session({});                        
   imbSession.createSession();    
   imbSession.getMessagingService().subscribe("chat", function(topic, message){
 
       alert(message);
   });
 
 
function onButtonClicked(){
   nexaweb.imb.getSession().getMessagingService().
          publish("chat", dojo.byId("messageBox").value);   
}
 

Server Infrastructure

The Internet Messaging Bus can be completely configured from the server-side to manage the release of connections and how the IMB will be configured at startup. Every aspect of the Server Infrastructure is fully instrumented and configurable.  All thread pools, message policies, and cluster configuration are located in the nexaweb-server.xml and nexaweb-client.xml.  Also provided is a service console that can be used to trouble shoot problems, go to your application and bring up the page

http://<server-address>:<port-number/<application-name>/Nexaweb/Services/index.jsp.

The image below shows a diagram of the topologies the IMB supports as well as some applications, which may take advantage of the topology.

Internet messaging gets struck by a comet

 


home | download | get started | samples
dojo.E is licensed under the Apache 2.0 License
© 2005-2008 Nexaweb Technologies Inc. All Rights Reserved.