Make your own free website on

Middleware Integration

A Framework for Developing Horizontal Business Applications using WebServices

Gopalan Suresh Raj

Workflow represents defined processes within businesses and elsewhere. Examples of these processes are an employee requesting and being approved for vacation time-off, submission of a purchase request, or an automated system for keeping inventory within a specified range.

Implementing a thin SOAP/WSDL/UDDI layer on top of your traditional J2EE, or COM+/.NET, or CORBA application is not enough to build real Web Services enabled applications. Simple Web Services Applications can be built this way, but you need a lot more infrastructure to create Horizontal Web Services applications that can span across multiple  enterprises. In this article we will see how to leverage different technologies to build real horizontal web services solutions that can span across multiple enterprises.

Vertical and Horizontal Business Applications

To leverage the services provided by the Web Services architecture, companies should shift their focus to developing enterprise-wide Horizontal business applications instead of concentrating on building services on top of existing or new Vertical business applications as they are seen doing today.

Vertical Business Applications handle specific aspects of a business, whereas Horizontal Business Applications handle various aspects of the company, the major ones being Work Flow Process definition, execution, and integration between multiple vertical business applications within and other systems (either Vertical or Horizontal Business Applications) outside the business. Companies need to focus on building a virtual application, where their entire portfolio of both Vertical and Horizontal Business Applications will be represented.

However, WebServices, or J2EE, or .NET/COM+, or CORBA alone is insufficient to achieve this type of integration.

The Service Broker Architecture


Business Process Management

This layer allows Business Processes/Work Flow to be defined. The are a number of standards available that can be used to define Work Flow.

  1. The WorkFlow Management Council (WfMC) a 300 member consortium has defined five interfaces to a work flow process in its standardization process that includes XML Process Definition Language (XPDL), Interoperability Bindings like Wf-XML Bindings, and also a Work flow Client Application Programming Interface (WAPI).

  2. BEA, IBM, and Microsoft got together and have defined a Block Structured Language called the Business Process Execution Language for Web Services (BPEL4WS).

  3. Similarly, the Business Process Model Initiative council has created the Business Process Modelling Language (BPML) which is also a Block Structured Language with the addition of support for Nested Processes. They have also defined a Business Process Query Language (BPQL) to facilitate querying.

  4. IBM's WSFL or Microsoft's XLang which are XML programming languages that use an XML syntax can also be used to define business processes. While IBM's WSFL is based on PetriNet models, Microsoft's XLang is based on the Pi-Calculus model. WSFL and XLang are used to describe how to compose existing web service components that are expected to be implemented using other languages.

  5.  Business Processes/Workflow can also be modelled using UML Activity Diagrams.

Orchestration Server/Containers


Business Process Execution Engine

The Workflow procedures which are executed inside a Workflow Engine can be represented in WfMC's XPDL format.

Once the Work flow process is captured using a tool, or by hand-written XML files, or coded using an appropriate API, a Business Process/Work Flow Execution Engine can be used to execute the Work Flow procedures, very similar to IBM's Business Process Execution Language for Java Runtime (BPWS4J).

Transaction Monitoring


Security Mapping


Content-based Routing and Transformation of Messages


Connector Discovery Mechanisms


Application Servers and Frameworks


Middleware Connectors


Process State Management




About the Author...
Gopalan Suresh Raj is a Software Architect, Developer and an active Author. He has co-authored a number of books including "Professional JMS Programming", "Enterprise Java Computing-Applications and Architecture" and "The Awesome Power of JavaBeans". His expertise spans enterprise component architectures and distributed object computing. Visit him at his Web Cornucopia site ( or mail him at

Go to the Component Engineering Cornucopia page

This site was developed and is maintained by Gopalan Suresh Raj

This page has been visited times since February 26,2002.

Last Updated : Feb 26, 2002

If you have any questions, comments, or problems regarding this site, please write to me I would love to hear from you.

Copyright (c) 1997-2002, Gopalan Suresh Raj - All rights reserved. Terms of use.

All products and companies mentioned at this site are trademarks of their respective owners.