Business Process Execution Language for Web Services 2nd Edition
上QQ阅读APP看书,第一时间看更新

Automation of Business Processes

Based on what we have said so far, we can conclude that for efficient automation of business processes through IT we need to:

  • Provide a standardized way to expose and access the functionality of applications as services.
  • Provide an enterprise bus infrastructure for communication and management of services, including message interception, routing, transformation, etc.
  • Provide integration architecture between the various services and existing and newly developed applications used in business processes.
  • Provide a specialized language for composition of exposed functionalities of applications into business processes.

For many years the software industry has been searching for efficient architectures, technologies, and methods that would make the realization of the above mentioned aspects as simple and as quick as possible. Let us briefly describe each of the four aspects.

Exposing and Accessing the Functionality of Applications as Services

The requirement to expose functionalities of applications and access them remotely has resulted in several distributed architectures and middleware products, which emerged over time. The latest distributed architecture, which combines both synchronous and asynchronous communications, is Web Services. Web services are the most suitable distributed architecture for exposing the functionality of applications as services.

Enterprise Bus Infrastructure for Communication and Management of Services

The enterprise bus infrastructure for communication and management of services provides answers related to the usage of services in complex enterprise information systems. In such environments support for centralized, declarative, and well-coordinated management of services and their communications is required. Because of existing middleware, the integration of different middleware products and interoperability with web services is required. These features are provided by the Enterprise Service Bus (ESB).

Integration between Services and Applications

Integration between applications is a well-known topic. This integration is needed because enterprise information systems usually consist of several different applications, which address certain (sometimes isolated) functions and tasks and not whole business processes. Achieving efficient integration is related to the definition and realization of sound integration architectures, which are often very complex, particularly in large companies. Best methods and practices for building integration architectures are today known as Service Oriented Architectures (SOA).

Composition of Exposed Services into Business Processes

The final aspect is the composition of exposed services of integrated applications into business processes. The most popular, commonly accepted, and specialized language for business process definition is BPEL, the main topic of this book. BPEL promises to acheive the holy grail of enterprise information systems—to provide an environment where business processes can be developed in an easy and efficient manner and quickly adapted to the changing needs of enterprises without too much effort.

The following figure shows the relation between SOA, web services, ESB, and BPEL:

Before starting the discussion on BPEL let us first have a quick look at web services, the enterprise service bus, and SOA.