Continue in 2 seconds

The Enterprise

Published
  • January 01 2005, 1:00am EST

I have previously discussed enterprise architecture methods, as well as technologies for rapid delivery into production of priority business processes. These technologies have included XML, enterprise portals and Web services. In this and the next few months I will cover the concepts of rapid delivery technologies based on service-oriented architecture (SOA) and business process management. I will discuss a number of XML-based business process management languages.

The Importance of Service-Oriented Architecture

Web services technology has now advanced so that functions within existing application programs and suites - as well as functions within ERP (enterprise resource planning, CRM (customer relationship management), SCM (supply chain management) and other packages - can be easily and reliably published to an intranet or the Internet for remote execution using SOAP, WSDL and UDDI. But what has been missing until now is an automated way to invoke available Web services based on business rules. This technology is now becoming available with business process management languages and tools.

Until now, the term "service-oriented architecture" (SOA) has been synonymous with "Web services." I use SOA more precisely: to invoke Web services using business process management tools and languages. This is an important distinction. SOA is expected to make a significant contribution to the future of systems development technologies as indicated in the following paragraphs.

Before SOA, systems development used workflow diagrams or systems flowcharts that were drawn and then printed so that relevant business logic could be coded by hand. These manually coded programs were laboriously tested and eventually deployed for execution. With SOA using business process management tools, this manual coding and testing step is bypassed. Instead, the diagrams are tested for correct logical execution using simulation methods. Once correct, these diagrams are then automatically generated as XML-based business process management languages for immediate execution.

This business process management technology is a major advance in the productivity of systems development; it is as significant as the development of high-level language compilers in the late 1950s. It becomes easy to invoke Web services anywhere in the world and to execute them based on business rules. When these rules do change, the relevant logic in the diagrams is changed: these diagrams are then automatically regenerated. This promises to totally transform the way we build systems in the future from slow, error-prone manual coding to an automated discipline. It will enable enterprises to implement changed business rules in minutes or hours, rather than in months or years. Enterprises will then be able to change direction rapidly.

In the following months, I will discuss the concepts of business process management languages, including: Business Process Execution Language for Web Services (called BPEL4WS or just BPEL) from IBM and Microsoft; Business Process Modeling Language (BPML) from the Business Process Management Institute (BPMI); and Business Process Specification Schema (BPSS) from ebXML.

Introduction to Service-Oriented and Event-Driven Architectures

Service-oriented architecture (SOA) is the term that has emerged to describe executable components - such as Web services - that can be invoked by other programs that act as clients or consumers of those services. As well as the execution of Web services, these services can also be complete modern - or even legacy - application programs that can be invoked for execution as a black box. A developer does not need to know how the programs work, only the input that they require, the output they provide and how to invoke them for execution.

The services are loosely coupled to the client program. They can be invoked based on decisions made by business rules. This means that developers can swap out one service and replace it with another service that is designed to achieve the same or enhanced result without having to worry about their inner workings. Today, standard parts in a car can be interchanged without having to strip down the whole car and rebuild it. With SOA we have similar flexibility, where existing services can be easily replaced by improved services without having to change the internal logic of monolithic application programs as was necessary in the past. Software categories that provide this SOA flexibility are called business process management or business process integration (BPI) products.

A further term also describes these business process management and BPI execution environments: event-driven architecture (EDA). This is an approach for designing and building applications where business events trigger messages to be sent between independent services that are completely unaware of each other. An event may be the receipt by the enterprise of a sales order transaction from a customer for processing. Or, it may be a change in a data value that requires a purchase order to be placed with a supplier when the available quantity of a product in the warehouse falls below a minimum balance threshold.

Because the services in an EDA environment are independent, they are decoupled - as distinct from the loosely coupled services of the SOA-based approach. An event source sends messages to middleware software, which matches the messages against the subscription criteria or business rules of programs or services that want to be notified of these events. Messages are typically sent using the publish-and-subscribe approach because this enables simultaneous delivery to multiple destinations.

Business process management is used for workflow modeling and execution by several products for enterprise application integration (EAI) including Microsoft BizTalk Server and webMethods Business Integrator. IBM, SeeBeyond, TIBCO and Vitria use similar business process management approaches in their EAI products.

Most business process management products to date have used proprietary methods to define process logic in workflow diagrams. To overcome these product-focused solutions, an open architecture approach has been defined for interoperability. Several XML languages have emerged: Business Process Execution Language for Web Services (BPEL4WS), Business Process Modeling Language (BPML) and the ebXML Business Process Specification Schema (BPSS) definitions, and I will address these in the following months.

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access