Tibco gets on the enterprise service bus

Fast, well-designed BusinessWorks 5.3 marks Tibco's entry into the SOA enterprise

For years after the emergence of the ESB (enterprise service bus), IBM and Tibco refused to acknowledge the market space. In frequently reiterated statements, both companies took the position that their messaging products provided the same capabilities without having to use the ESB moniker.

The fallacy of these views was finally made clear as SOA continued to gain ground and impatient IT customers looked to true ESB vendors for their core infrastructure. Eventually, IBM and Tibco accepted the concept and began shipping ESB products that — surprise! — include features not found in their messaging offerings.

BusinessWorks 5.3 is Tibco’s first foray into ESBs, and it shows that the company really understands what the market is looking for. Rather than the rough edges you would expect from a new product, BusinessWorks 5.3 has a mature, intelligent feel to it, as well as a passel of features that many enterprise customers will find attractive.

Getting down to business

The BusinessWorks “platform,” as it calls itself, provides the messaging and service bus infrastructure for enterprise integration and SOA-style ESB needs. It can ride above Tibco’s Rendezvous messaging layer, or use the popular alternatives of JMS and IBM MQseries. It defaults to Tibco Rendezvous, which is an established, scalable, high-performance, real-time messaging technology.

Many of the accompanying layers of services have been carefully designed not to compromise the performance of the message routing mechanism. All internal operations in the ESB use binary XML as their internal data format. And to process this format quickly, Tibco wrote its own XML stack using technology obtained in its acquisition of Extensibility in 2000.

Where possible, BusinessWorks avoids the overhead of wrapping data and actions in SOAP envelopes. Multilayered SOAP files have a justified reputation for degrading performance, due to applications’ need to parse them frequently and jigger them to meet format constraints. Instead, Tibco’s adapters provide a shortcut to data transfers wherever they can. For example, legacy COBOL applications use copybooks to describe file layouts; BusinessWorks 5.3 can read these copybooks directly and marshal data accordingly without recourse to a SOAP file.

Likewise, BusinessWorks interacts with databases via JDBC to invoke stored procedures or emit SQL calls directly. For sites that use a REST approach to data transfers and Web services, BusinessWorks includes an HTTP client that can respond to all standard requests. In addition, BusinessWorks can handle HTML forms directly via HTTP, without the need for a Web server. Connections such as sockets or those that require only TCP/IP and FTP are done system-to-system without the use of intermediate technology.

Click for larger view.

Where direct connections are not possible, Tibco offers an extensive range of plug-ins and adapters, some of which are bundled but many of which are separate purchases. Plug-ins map data elements to the appropriate format, allowing systems to speak to each other. (Oddly, though, communication with a J2EE container requires a separately purchased plug-in — despite the fact that BusinessWorks is itself written in Java.)

Application adapters are a different breed of connector and all must be bought separately. They provide more intelligence and serve complex endpoints such as enterprise packages from Siebel, SAP, and PeopleSoft; they also connect to LDAP, Active Directory, Lotus Notes, Tuxedo, and so on. Due to its long history as a middleware provider, Tibco has one of the most complete sets of adapters of any ESB company. However, because none of these adapters come with BusinessWorks, you must add their cost to the price of any installation.

Feature roulette

One of BusinessWorks’ most striking features is its installation, which is a notoriously troublesome process for most enterprise infrastructure software. In BusinessWorks’ case, a simple wizard (on Windows) pops up and asks a few configuration questions and then installs the software without further steps.

BusinessWorks does not use J2EE. Rather, it relies on its own container, which means that it can run on its own hardware and need not be placed on existing J2EE implementations. It also uses its own thread pool and connection pool. These features enable it to keep HTTP sessions alive while reusing connections and to perform other magic not always found on J2EE servers.

While BusinessWorks is running, it constantly profiles resource consumption and system performance. Using this data, the software auto-tunes some parameters, such as the number of threads for a process; other parameters are exposed directly to administrators for manual tuning. This enables the ESB to tune dynamically in response to changing loads.

To lay out the ESB’s design, Tibco provides architects with the BusinessWorks Designer, which enables configuration of ESB endpoints and specification of the processing to be done on the bus. The Designer’s intuitive graphical interface relies principally on drag-and-drop to layout the entire process. (Note: Tibco has announced plans to port the designer to Eclipse.) Designer also offers a sandbox mode that enables users to test and debug a particular configuration before deploying it.

Although complex layouts are comparatively easy to make in the Designer, I was startled to find that Tibco does not support BPEL in this tool. As BPEL is the de facto specification for Web services orchestration, it’s an unfortunate omission.

However, BusinessWorks offers some impressive features, especially the “pick first” capability. This allows a designer to state that a given query should be sent in parallel to multiple servers or Web services. It will then use the results from the first server or service that returns a valid answer and kill off the other parallel queries. It’s a useful feature for performance purposes and for queries in which it is not clear which server contains the data (such as unfederated data silos).

Final thoughts

I was impressed with BusinessWorks 5.3. It is a surprisingly mature and smooth ESB implementation for a company just entering the ESB playing field, and the many thoughtful features anticipate a wide variety of customer needs. Tibco’s ActiveMatrix suite, released as this review went to press, further extends BusinessWorks with enhanced transactional, governance, and security capabilities.

My only gripes with Tibco’s product are the paucity of key-bundled adapters and the lack of support for BPEL, which — given BusinessWorks’ steep entry price — should be included with the product.

InfoWorld Scorecard
Value (10.0%)
Features (20.0%)
Security (10.0%)
Management (15.0%)
Scalability (15.0%)
Interoperability (30.0%)
Overall Score (100%)
Tibco BusinessWorks 5.3 6.0 9.0 8.0 8.0 9.0 9.0 8.5