Enterprise service buses hit the road
Cape Clear, Iona, and Sonic suites lead the way toward services-based integration
FioranoESB Suite 3.7
Fiorano Software steps into the ESB arena with a Java-based integration stack that combines JMS messaging (FioranoMQ), BPM, and SOA adaptability. Although Fiorano has come to refer to its architecture as “brokered peer-to-peer,” the reality is that — in the absence of a WS-* spec like WS-ReliableMessaging, which Fiorano does not yet support — ensuring the reliability and integrity of transactions will require deploying FioranoMQ (or a similar middleware component) centrally or at the end point.
Click for larger view.
Fiorano’s Event Process Orchestrator, a NetBeans-based IDE, presented a great palette of prebuilt components that could be modified, saved, and inserted into my flows. From flow controls, database adapters, and MOM connectors to Web-services call-outs, XML transformations, and data-aggregation services, developers gain some good tools to construct intricate processes fairly easily.
The development interface goes a step further with support for real-time simulation, and the debugger enabled capturing and inspecting message-queue contents on the fly. I viewed the flow of transaction data among components, while simple plug-in adapters offered display services that simplified real-time message inspection and even the capability to chat with other admins and troubleshooters.
Not that the IDE couldn’t be improved. The terribly inefficient drawings quickly became convoluted without manual reorganization, and the inability to specify start and end points in the event process -- allowing data flows, in theory, to start at any point along the chain -- proved disorienting. In the plus column, Fiorano’s XSLT mapper, which graphically depicts its Funclets (functions you insert into translations) for easy manipulation, was one of the easiest I’ve used. And the content-based routing capabilities are finely grained.
In addition to Fiorano’s own orchestration, BPEL development is offered to a lesser degree. BPEL is not completely implemented, resulting in limited transaction management and fault- and event-handling capabilities.
Administration and service-specific management also need improvement. For example, although you can easily view active sessions, the queue manager interface makes it difficult to trace past ones.
Furthermore, although Fiorano’s messaging subsystem is hardy, the bus and related components remain light on features. Not all system components can be exposed as Web services without programming, and supported transports don’t go beyond the basics (HTTP, FTP, e-mail). Fiorano doesn’t support JMX-based management systems or integrate with LDAP for access control. Security features do include programmatic support for JAAS and JSSE (Java Secure Socket Extension), but not good options for federated security, for example. Finally, performance can be sluggish, although the inclusion of FioranoMQ 8 in the next release will likely provide a boost.
On the upside, FioranoESB offers solid messaging underpinnings and a good set of prebuilt services. You can easily extend the system using a variety of programming languages, including Java, C/C++, COM, and C# for .Net client development. Fiorano’s messaging architecture may create a lot of overhead, but the end points are chock-full of resources.