Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

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
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
SpiritWave from SpiritSoftA Flexible, Reliable Messaging System Tool
SpiritWave from SpiritSoftA Flexible, Reliable Messaging System Tool

SpiritSoft
100 Medway Road
Suite 203
Milford, MA 01757

Test Environment:
Pentium III, 256Mb RAM, Windows 2000

Price:
$9,700 per developer
Server run-time: $5,500 per CPU

Client run-time:
$5,000 per 50 users
$3,000 per adaptor per server
(Adaptors for IBM MQ series, RV5, RV6, ETX, MSMQ, etc.)

FOR SALES INFORMATION:
Tel: 1 508 473-3227
E-mail: sales@spirit-soft.com

Editor's Note:
SpiritWave 5.0, the newest version of this messaging system, was released after this review was written. SpiritWave 5.0 is the first open JMS framework to provide multi-plug adaptors to integrate any proprietary legacy message-oriented middleware (MOM) system. These multi-plug drivers enable easier development of distributed systems by neutralizing the dependency on vendor-specific interfaces and by managing these proprietary MOM systems so IT managers don't have to. SpiritWave 5.0 includes drivers for all leading proprietary MOM products such as IBM MQSeries, MSMQ, Tibco Rendezvous, and Tibco ETX.

SpiritWave 4.4 from SpiritSoft is a vendor-independent, JMS-compliant messaging system that provides a common interface to heterogeneous messaging systems. It supports the publish/subscribe and point-to-point messaging paradigms. To leverage existing investments in messaging systems, SpiritWave provides transport drivers for IBM's MQ Series, Tibco's Rendezvous, Microsoft's MSMQ, OpenTrade's Orbita, and Active Software's ActiveWorks products. It also provides a pure Java JMS implementation for both queue-based and publish/subscribe messaging. Figure 1, from SpiritSoft's Web site, illustrates the overall architecture in which the SpiritWave messaging system interacts with third party transports.

Working with SpiritWave
Installation and Administration

Installation of SpiritWave is straightforward and is available for both Windows and Unix systems. For this review, I've installed SpiritWave on a Windows 2000 Professional machine, with a Pentium III and 256 Mb of RAM. Once installed, the administration and message queue applications are available along with several sample applications that supplement the documentation.

SpiritSoft provides a common administration architecture for all of its products, called SpiritAdmin. Configuration information is housed in XML data files that may be stored in various formats, including a JDBC-compliant database.

SpiritWave's provided messaging transport comes in two flavors: Standard and Enterprise. The two drivers provide the same services with regards to message transportation, but the Enterprise component adds the capability to validate users and control access to destinations. It's optimized for a distributed enterprise messaging, whether queueing or publish/subscribe. Each messaging transport is fully configurable from the SpiritAdmin console provided.

As mentioned earlier, SpiritWave contains several modules to allow message transport systems to become accessible via the JMS API. For the modules that provide access to the provided message queue, three options or modes exist: Unadministered, Administered, and Enterprise. Under the Unadministered configuration, the messaging system and its communicating clients aren't controlled from a centralized configuration mechanism. Configuration details are set up by the individual application and may be stored independently, often within a JNDI tree. In the Administered mode, the configuration details for the transport module are stored within the repository established for the SpiritAdmin framework. This repository may be, for example, XML files or a JDBC database. In the third option, Enterprise, the modules incorporate the user management and destination access services components of the SpiritAdmin architecture.

Development
For this review, I've created a simple application that can accept XML requests from various external sources through a messaging subsystem. The messaging subsystem will be implemented with SpiritJMQ, a JMS-compliant message transport. I've placed the connection and queue into a JNDI tree inside IBM's WebSphere 3.5.3 application server. SpiritWave also provides integration with BEA's WebLogic application server through predefined registration classes and deployment descriptors.

The first task in working with SpiritWave is to establish and bind the queue connection factory and a default queue into the JNDI tree. To accomplish this, a simple registration servlet executed at server startup will create the necessary objects and perform the binding. Once in the JNDI tree, the objects are available to clients and message-driven EJBs for processing.

If the developer is working with WebLogic, the registration process is straightforward and easy to configure. SpiritSoft provides a startup class that takes no parameters and reads its configuration information from an XML file. The configuration file specifies all communication properties for SpiritWave and the JNDI binding information.

Connections to the SpiritWave messaging system may be obtained in two ways. The first uses the standard JMS connection factories, queue or topic, appropriate for the task at hand. The second incorporates SpiritWave's WaveProfile object that defines the implementation details of the underlying transport. If a developer chooses the WaveProfile approach, it's incorporated in the creation of the connection factory.

WaveProfiles separate the message transportation and storage mechanisms to provide flexibility to the developer and the application environment. For storage, the developer may choose between the object-oriented databases from ODI and Versant, and a standard relational database accessed via JDBC. For this review, I've chosen to use a JDBC connection to Oracle 8i.

After retrieving a JMS connection, a session is created through the standard procedure. The developer must specify the acknowledgement option and whether or not the session is transacted. When using transacted connections, no messages are delivered until specific commits are issued from the publishing object. Subsequently, messages aren't acknowledged until specific commits are issued from the message consumers.

JMS destinations may be obtained using either the standard JMS approach or the proprietary option available through SpiritWave. If a developer is using JNDI, as in this review, the standard method must be used to obtain a topic or queue. If, however, an alternative repository contains the destination object, the developer has the choice to use lookup methods on the SpiritWave class appropriate for the object desired. All objects are identified by a logical name. Future releases of SpiritWave will support JNDI.

For the remaining process of transferring messages through the system, creating the message, sending, receiving, and managing the connections, SpiritWave relies on the standard JMS API calls.

SpiritWave provides several enhancements to the messaging system that provides further control and management of items. They include:

  • Subscription Listening: Message publishers can determine if topics or queues have been subscribed to prior to publishing a message.
  • Connection Inbox: When a subscriber connects to a topic, the raised subscription event's reply To method returns the inbox on the current connection. This may be used to send a unique message to the subscribing client.
  • Wildcards: For topic subscribers, wildcards may be used to identify the topics the application should subscribe to.
  • Retrieve the Last Message: Spirit- Wave's JMQ driver provides the capability for subscribers to retrieve the last message sent to a topic without subscribing. This can facilitate the initialization processes for the subscribing agent.
As mentioned earlier, SpiritWave provides several sample applications to provide guidance for new developers. These examples are very helpful and cover a full range of development scenarios, including queue-based messaging, publish/ subscribe messaging, working with JMS and JNDI, development with the Enterprise version of JMQ, and examples for some of the enhancements to the API listed above. Several of these examples provided guidance as I set up my application for this review.

Summary
SpiritSoft's SpiritWave provides a tool that allows existing messaging systems to be leveraged and extended by the JMS API. With its ties to the major messaging vendor products such as Tibco Rendezvous and the IBM MQSeries, along with its supplied messaging system, SpiritWave presents a flexible and reliable framework on which to build message-oriented applications.

About Brian Barbash
Brian R. Barbash is the product review editor for Web Services Journal. He is a senior consultant and technical architect for Envision Consulting, a unit of IMS Health, providing management consulting and systems integration that focuses on contracting, pricing, and account management in the pharmaceutical industry.

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

Register | Sign-in

Reader Feedback: Page 1 of 1

SOA World Latest Stories
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make the fi...
A Munich court Thursday found Motorola Mobility guilty of infringing an Apple patent and handed Apple a permanent injunction against two Android smartphones. Apple can enforce the injunction after posting a bond lest MMI succeed in invalidating the slide-to-unlock patent (EP1964022) ...
Quick Response (QR) codes are intended to help direct users quickly and easily to information about products and services, but they are also starting to be used for social engineering exploits. This article looks at the emergence of QR scan scams and the rising concern for users today....
The Chinese company that claims it owns the iPad trademark says it plans to seek a ban on iPad exports out of China, threatening global supplies. According to what a lawyer for Proview Technology (Shenzhen) Co Ltd told Reuters, the firm is petitioning Chinese customs to stop shipment...
Cisco Wednesday filed suit in the European Union’s second-highest court, the General Court in Luxembourg, challenging the European Commission’s rubber stamp last October of Microsoft’s $8.5 billion acquisition of Skype. Cisco says it isn’t opposed to the merger, but figures the EC sh...
2011 was a year of rapid adoption for public and private cloud services. Instant and on-demand server provisioning was the driving force behind the massive growth. On top, cloud server templates and script automation simplified application installation for simple and pre-defined applic...
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