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.
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