Tibco gets on the enterprise service bus
Fast, well-designed BusinessWorks 5.3 marks Tibco's entry into the SOA enterprise
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.
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).
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.