Portals eNewsletters Web Seminars dataWarehouse.com DM Review Magazine
DM Review | Covering Business Intelligence, Integration & Analytics
   Covering Business Intelligence, Integration & Analytics Advanced Search

View all Portals

Scheduled Events
Archived Events

White Paper Library
Research Papers

View Job Listings
Post a job


DM Review Home
Current Magazine Issue
Magazine Archives
Online Columnists
Ask the Experts
Industry News
Search DM Review

Buyer's Guide
Industry Events Calendar
Monthly Product Guides
Software Demo Lab
Vendor Listings

About Us
Press Releases
Advertising/Media Kit
Magazine Subscriptions
Editorial Calendar
Contact Us
Customer Service

The Enterprise:
Service-Oriented Architecture (SOA)

  Column published in DMReview.com
January 1, 2005
  By Clive Finkelstein

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.


For more information on related topics visit the following related portals...
Enterprise Achitecture and Web Services.

Clive Finkelstein, the father of information engineering (IE), is an international consultant and an instructor. He is the managing director of Information Engineering Services Pty Ltd (IES) in Australia. You may contact Clive Finkelstein by e-mail at cfink@ies.aust.com.

E-mail This Column E-Mail This Column
Printer Friendly Version Printer-Friendly Version
Related Content Related Content
Request Reprints Request Reprints
Site Map Terms of Use Privacy Policy
SourceMedia (c) 2006 DM Review and SourceMedia, Inc. All rights reserved.
SourceMedia is an Investcorp company.
Use, duplication, or sale of this service, or data contained herein, is strictly prohibited.