HomeDigital EditionSys-Con RadioSearch Web Services Cd
B2B Beginning WS Business Process Management Case Studies Content Management Distributing Computing e-Business Electronic Data Interchange Enterprise Industry Insight Integration Interviews Java & Web Services .NET Portal Product Reviews Scalability & Performance Security SOAP Source Code UDDI Wireless WS Standards WS Tips & Techniques WSDL WS Editorials XML

Fiorano ESB
A strong enterprise service bus solution

Web services have staked their claim as a key technology in building and integrating large, distributed enterprise systems. More often than not, however, Web services may be just one piece of a myriad of interfaces. Not only are IT workers faced with working against heterogeneous interfaces, but process management, workflow, administration, and security are also important. That's where Fiorano ESB (Enterprise Service Bus) comes into play.

Fiorano ESB is, to use their term, a brokered peer-to-peer system providing an integration and services infrastructure based on standard protocols. Participants in the ESB are part of an asynchronous, event-driven system based on messaging technology.

As seen in Figure 1 from the Fiorano Web site, several components make up the ESB. Peer Servers are the distributed elements of the system that may reside on any number of machines throughout a network. They host and run the individual enterprise services that make up a full Fiorano ESB. As the name implies, Peer Servers may communicate directly with one another creating a peer-to- peer network. Peer Servers also have the option of communicating over a central messaging pipe that may be any JMS-compliant messaging system. The Super Peer is the administrative hub of the entire ESB application, providing monitoring services, security, and configuration management and application development and deployment capabilities.

For the purposes of this review, I'll focus on the Fiorano Business Service Composer. This product provides the capability to create, orchestrate, and manage components within the ESB, including Web Services.

Fiorano Business Service Composer
The Business Service Composer is an environment in which multiple independent services are pulled together as part of a larger business process. The Service Composer ships with several prebuilt services that may be used out of the box:

  • Services for managing process flow
  • Adapters for various external systems including SAP, databases, file systems and Web services
  • Bridging services providing access to mail systems via SMTP, Microsoft's MSMQ, and Enterprise JavaBeans

    For this review, I'll use a couple of simple Web services that will participate in a larger business process. The first is a Personal Information service, built with .NET and hosted locally, that accepts a person's name and returns their address and telephone number. The second service is a reference to the Unisys public weather service that accepts a zip code and returns the local forecast.

    Pulling Things Together
    Building a business process in the Service Composer is easy. As seen in Figure 2, services are represented by icons in the workspace and connected by data flow lines. These data flow lines represent the connections between individual enterprise services. These connections may be configured as point-to-point or publish/subscribe.

    The SOAP adapter is used to configure each Web service in the Fiorano ESB application. As you would expect, the SOAP adapter is based on the WSDL definition of the target Web service. The WSDL may be hard-coded into the adapter, read from an existing URL, or retrieved from a UDDI registry. Once the WSDL has been captured by the adapter, the developer must choose which of the Web service's operations to use in the application. Each selected operation will be represented by a pair of input and output points on the service icon in the Service Composer. The next step to configuring the adapter is to set up the authorization mechanism. The adapter supports interaction with the Web service through a proxy and may be configured to respond to a Basic HTTP Authentication challenge. It also supports using Web services over HTTPS. The adapter can then be configured to retry service calls in case of failure. Parameters available for resubmitted requests include the total number of attempts, the interval between attempts, and the timeout period for a request. Finally, a DTD is presented that represents the output of the Web service. The developer may edit the DTD to correct any errors or add missing elements.

    All data flowing through any Fiorano ESB application is in XML format, with each service defining its unique input and output signatures. The Fiorano Mapper provides a visual mapping tool to transform the XML documents to and from the various signatures. Figure 3 shows an instance of the Mapper that handles the transformation of the results of the Personal Information service to the input of the Unisys weather service. To establish a mapping, simply drag the elements from the input service on the left to the workspace for the desired output node. The Mapper provides an extensive set of functions to apply to the data during transformation, including string operations, control flow, and data aggregation among others. The end result of the exercise is an XSL style sheet that is applied to the data as it moves between service nodes.

    The Fiorano Worklist
    One interesting component of the Fiorano ESB is the Worklist service, which provides a general container for the XML documents in a business process. When data is posted to the Worklist, the information is held pending a notification to release it for downstream processing. Documents in the Worklist may be searched, modified, or deleted. The Worklist is a Web service based on the Apache Axis product. Therefore, custom applications may be developed to interact and monitor each worklist in a business process.

    Debugging
    While an application is running, developers may insert breakpoints on any connection between services. Once data reaches a breakpoint, the value may be inspected and easily modified. Messages may then either be forwarded for downstream processing or removed from the system with no further operations performed.

    Another useful tool in the debugging process is the Display service. The Display service may be the target of any service functions as a general output. Messages posted to a Display may be viewed in their raw data format or in hierarchical format. Message headers and attachments are also available for inspection.

    Monitoring and Managing Systems
    Fiorano ESB applications and their constituent services may be directly started and stopped from within the Service Composer. Fiorano ESB also provides the capability to modify applications while they are executing. In the example I have set up, while the system was processing data I added a new data feed to repeatedly send in requests to the Personal Information service. Once the feeder was defined, the Service Composer deployed and started the service without interruption to the existing processes.

    Summary
    Enterprise applications present unique challenges when integrating them into larger business processes. Developers and IT workers must deal with heterogeneous interfaces, workflow, process management, security, and administration. Fiorano's Enterprise Service Bus is one alternative for stitching these systems together. Their Business Service Composer is an easy-to-use IDE for orchestrating services, mapping data, and leveraging Web services into business processes and is a strong asset in the enterprise service bus solution.

    Company Info
    Corporate Headquarters
    Fiorano Software, Inc.
    718 University Avenue, Suite 212
    Los Gatos, CA 95032 U.S.A.
    Tel. +1.408.354.3210
    1.800.663.3621 (Toll-Free within the USA)
    E-mail: info@fiorano.com

    Licensing Information
    CPU-based licensing for enterprise and peer servers; standard, end user–based tools licensing

    Requirements
    Any platform that runs a JVM; no application server needed. Tested platforms include Windows, Solaris, AIX, HP-UX, Linux, AS400, OS390, and others.

    About the Author
    Brian R. Barbash is the product review editor for Web Services Journal. He is a consultant for the Consulting Group of Computer Sciences Corporation, where he specializes in application architecture and development, business and technical analysis, and Web design. bbarbash@sys-con.com

    All Rights Reserved
    Copyright ©  2004 SYS-CON Media, Inc.

      E-mail: info@sys-con.com

    Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.