|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Product Review FusionWare Integration Server
Build composite applications quickly and easily
By: Brian Barbash
Dec. 15, 2005 12:45 PM
In a service-oriented architecture, the ultimate goal is to quickly and easily build new applications as composites of existing services. Building out the independent services in a manner that supports reuse is itself very challenging. However, several tools are beginning to appear to easily bring applications together once the critical mass of applications is achieved. One such tool is the FusionWare Integration Server.
For the purposes of this review, I have created a Project Management application in FusionWare Designer to manage Time, Expense, Budgeting, and Invoicing for a fictional consulting company.
Building Applications The Designer itself follows a Windows Explorer-like paradigm. As seen in Figure 1, higher-level objects are located on the left side of the screen with details and configuration information located on the right. While functional, this interface can at times be challenging because it does not show the business process model using the traditional flowchart or swim-lane diagrams. In complex business processes with many workflow steps, logic branches, and data manipulations, it can become difficult to keep track of the flow of data. While it's not something to disqualify the product from consideration, it may take time for a developer to become acclimated. Figure 1 shows the model in the Designer for the sample application I've created. The left side of the screen represents the individual business processes defined in the application, the middle of the screen shows the individual workflow steps for the selected business process, while the right side of the screen shows the details of the workflow step currently selected. In most situations, as with this example, models will contain multiple business processes. Therefore, developers must define recognition tests that evaluate the incoming XML document to determine the appropriate business process to execute. Recognition tests are simply XPath statements that define an XML NodeSet. If the XPath returns a NodeSet, the recognition test evaluates to True and process flow is directed to its associated business process. For example, the business process bpCreateClient in the sample application should be executed when the incoming XML document contains the appropriate Client nodes. Figure 2 shows the associated Recognition Test. Recognition tests may also be associated with workflow steps independent of the parent business process (also shown in Figure 2). In many cases this capability is used to perform common operations such as logging, message archiving, transformation to canonical message forms, or message validation against Schemas and DTDs. In the case of the example in Figure 2, the incoming XML document is validated against a schema and supplemental documents are instantiated supporting other operations in the workflow. Throughout the Designer tool, the manipulation and extraction of XML data via XPath statements is an important function of many of the available actions. To facilitate this, FusionWare Designer provides a very simple but effective XPath generation tool. Developers simply select the relevant XML nodes from sample instance documents. The generated XPath statement is then applied to the current action. These statements may be further tweaked manually to support more complicated operations. One very powerful feature of the FusionWare solution is the ability to create and execute parallel tasks within a single business process. For example, if a consultant is submitting an XML document that contains both a Timesheet and an Expense Report, FusionWare may be configured to execute the individual business processes relevant to each type of data structure in parallel.
Systems Integration
The Project Management application requires address information when creating clients to support invoicing. To ensure valid addresses are submitted, a call to an external Web service will be made. Setting up a Web service call in FusionWare designer is very simple. Figure 3 shows the configuration screen for Web services. The developer must identify the URI to the WSDL file for the service and the desired operation. Once defined, all input parameters must be mapped to the service call. Parameter values may either be defined manually in XML format, or extracted via XPath from a run-time variable. Results of the service call are then delivered to a result document defined in the business process. Developers have the option of either saving the result as a whole in an independent variable, or targeting a specific node in a predefined result document using an XPath statement. Defining database operations in FusionWare designer is a simple multi-phased process. Initially, the developer defines the Database Access properties. These properties establish the document containing the input parameters and the location to where results of the operation will be written. The second phase of the process establishes one or more Database Actions. These actions represent individual SQL and Stored Procedure calls. Within an Action, the developer defines the connection to be used, the SQL or Stored Procedure call to invoke, the XPath identifying where to retrieve relevant parameter values from the input document, and if applicable, the element names to be used for each row of the resultset.
Summary Reader Feedback: Page 1 of 1
Your Feedback
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||