Softwired iBus

iBus is a pure Java messaging product family offering the JMS abstraction atop a variety of operating system platforms and transport protocols. iBus products are available for free download from http://www.softwired-inc.com.iBus consists mainly of three products:

  • iBus//MessageServer
    A JMS implementation supporting both the PTP and Pub/Sub model, as well as message persistence, transactions, HTTP tunneling, access control to JMS destinations, and SSL security.

  • iBus//MessageBus
    A fully distributed message bus middleware implementing the JMS Pub/Sub model atop reliable IP multicast communication. This product is typically used on trading floors and in data centers.

  • iBus//Mobile
    A JMS add-on product allowing the seamless integration of mobile devices into a JMS infrastructure. This product is typically used for wireless portals and wireless ASP (WASP) solutions.

iBus Features

iBus offers an end-to-end JMS platform in that it runs not only on server platforms and workstations, but also on mobile phones, PDAs, and communicator devices. A list of the main features provided by the iBus product family is shown below:

  • High scalability, performance, and reliability

  • Hierarchical access control, client authentication, and data encryption

  • Administration GUI and administration API

  • Built-in integration with XML parsers

  • XML message type

  • Built-in integration with LDAP and other JNDI providers

  • JMS message delivery via TCP, HTTP, SSL, and reliable IP multicast

  • JMS message delivery via wireless bearers (GPRS, UMTS, SMS) using an optimized transmission protocol

  • JMS message transformation to and from WML and other formats, using XML Style Sheets

  • Light-weight JMS client library suitable for mobile devices and Applets

  • Run-time library allowing applications written in C and C++ to produce and consume JMS messages

iBus//MessageServer Binaries

iBus//MessageServer comes with a set of applications for running the message server, administering the server, configuring JMS destinations, etc. These applications are available in the Start menu for Windows installations.

startserver

This batch file is used for starting the iBus message server. For Windows installations, a shortcut is provided in the iBus//MessageServer program group:

click to expand

The message server accepts messages from, and delivers messages to, the JMS client applications. Persistent JMS messages are stored in an embedded database, which is part of the iBus//MessageServer product offering. Optionally, iBus//MessageServer can be configured to store JMS messages in an Oracle database.

The screenshot below shows the iBus//MessageServer server up and running:

click to expand

configwizard

iBus//MessageServer can be configured for various transport protocols (notably TCP, HTTP, and SSL), to use an Oracle database instead of the default database that is bundled with iBus//MessageServer, for using thread pools internally, and so on. The Config Wizard allows you to easily create customized configurations of the message server:

click to expand

Administration Client

This graphical user interface allows you to create administered topics and queues, to manage access control lists, to track JMS message flows, and to perform other message server administration tasks. Note that this must be downloaded separately from the message server. The screenshot overleaf shows the Administration Client with the screen for monitoring and administering message flows:

click to expand

The Administration Client is also provided in a text-based version, allowing message server administration to occur also on console terminals:

click to expand

Other Utilities

iBus//MessageServer further provides a wizard for configuring an external Oracle database, a Client Shell tool for compiling and running JMS client applications easily, and an administration API for performing iBus//MessageServer administration tasks programmatically in Java.

iBus//MessageServer can be combined with iBus//MessageBus as well as with iBus//Mobile, leading to an end-to-end JMS platform for wired and wireless systems.

Running the Portable JMS Client

We will be storing the administered JMS objects in the internal JNDI namespace provided by iBus//MessageServer and later look them up using JNDI.

Configuring the Administered Objects

First start the iBus//MessageServer by selecting the Start Server shortcut located in the iBus//MessageServer program group on Windows, or by executing the startserver.sh shell script on Unix. The shell script is located in the server/bin subdirectory of the iBus//MessageServer installation.

Next, start the iBus//MessageServer Admin Client by selecting the Start Admin shortcut located in the iBus//MessageServer Admin Client program group on Windows, or by executing the startAdmin.sh shell script on Unix. The shell script is located in the adminClient/bin subdirectory of the Admin Client installation.

Click on the Messages button, select Topics in the tree panel on the left-hand side. A form appears into which you can enter the topic name, myTopic, and click Create:

click to expand

iBus//MessageServer comes configured with a topic and a queue connection factory under the names TopicConnectionFactory and QueueConnectionFactory. Further factories can be set up and bound by the user using LDAP, but it is very rarely that an iBus//MessageServer user needs to carry out this task. Change the following line in the code to run PortableJMSClient.java on iBus//MessageServer:

     public static final String TOPIC_FACTORY = "TopicConnectionFactory"; 

Running the Client

For running JMS clients, iBus//MessageServer provides a Client Shell tool in the iBus//MessageServer Windows program group. The Client Shell opens a Windows command tool with the Java classpath set up correctly for running iBus//MessageServer clients. So there is no need to include any extra JAR files in the classpath.

The following command-line arguments should be passed to the program for running the client:

  • ch.softwired.jms.naming.IBusContextFactory - This is the initial context factory for the JNDI lookup

  • localhost - This is the JNDI service provider URL

The figure below shows the JMS client running against iBus//MessageServer:

click to expand

The warnings occur because iBus//MessageServer prefers a client to set a client ID when it creates a topic or queue connection, as we saw in the code in Chapter 11.



Professional JMS
Professional JMS
ISBN: 1861004931
EAN: 2147483647
Year: 2000
Pages: 154

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net