Book Image

WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g

Book Image

WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g

Overview of this book

Business Process Execution Language (BPEL, aka WS-BPEL) has become the de-facto standard for orchestrating services in SOA composite applications. BPEL reduces the gap between business requirements and applications and allows for better alignment between business processes and underlying IT architecture. BPEL is for SOA what SQL is for databases. Therefore learning BPEL is essential for the successful adoption of SOA or the development of composite applications. Although BPEL looks simple at first sight, it hides its large potential and has many interesting and advanced features. If you can get familiar with these features - you can maximize the value of SOA. This book provides a comprehensive and detailed coverage of BPEL, one of the centerpieces of SOA. It covers basic and advanced features of BPEL 2.0 and provides several real-world examples. In addition to BPEL specification the book provides comprehensive coverage of BPEL support in Oracle SOA Suite 11g, including security, transactions, human workflow, process monitoring, automatic generation of BPEL from process models, dynamic processes, and more. This book starts with an introduction to BPEL, its role with regard to SOA and the process-oriented approach to SOA. The authors give short descriptions of the most important SOA platforms and BPEL servers—the run time environments for the execution of business processes specified in BPEL—and compare BPEL to other business process languages. The book will then move on to explain core concepts such as invoking services, synchronous and asynchronous processes, partner links, role of WSDL, variables, flows, and more.Moving ahead you will become familiar with fault handling, transaction management and compensation handling, scopes, events and event handlers, concurrent activities and links. The authors also discuss the business process lifecycle, correlation of messages, dynamic partner links, abstract business processes and mapping from BPMN to BPEL. The book presents in detail, how to use BPEL with Oracle SOA Suite 11g PS2. It explains the development of BPEL and SCA assemblies, and demonstrates different approaches with some practical examples. It addresses security, transaction handling, and human workflow. Then, the book addresses entity variables, notification services, fault management framework, and business events in BPEL. It provides exhaustive coverage of monitoring BPEL processes and developing dashboards with Oracle BAM. It explains how to use BPEL processes with Oracle Service Bus and Oracle Service Registry. Using examples, the book also demonstrates how to transform business process models in BPMN (using Business Modeler) to BPEL, how to achieve round-tripping using BPA Suite and BPM Suite, and how to use Oracle Enterprise Repository to govern BPEL processes. The book also covers the complete BPM lifecycle from modeling through implementation, execution, monitoring, and optimization and presents advanced, real-world examples.
Table of Contents (17 chapters)
WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g
Credits
Foreword
About the Authors
About the Reviewers
Preface

Business and IT alignment


The business system usually evolves with a different pace to that of the information system. Over time, this has resulted in an important loss of alignment between the business system and the information system. This has resulted in applications that do not fully support business tasks, and which have again hindered the evolution of business processes. The consequence has been less flexible and adaptable organizations with less competitive power in the market. Only companies where applications can be quickly and efficiently adapted to changing business needs can stay competitive in the global market.

The loss of alignment between the business and IT has a name IT gap. An IT gap is a common occurrence in almost every company. It is mainly a consequence of the inability of application developers to modify and adapt the applications to business requirements quickly and efficiently.

The main reason probably hides in the fact that in the past neither programming languages and technologies nor architectural design could have anticipated changes. Existing applications had been designed to last. They had been developed in a tightly coupled fashion, which makes changes to specific parts of applications very difficult. Because of dependencies such changes usually have several, often unpredictable, consequences. In addition to the complexity and size of the modification, an important factor is also the state of the application being modified. If an application has a well-defined architecture and has been constructed keeping in mind future modifications, then it will be easier to modify. However, each modification to the application makes its architecture less robust with respect to future changes. Applications that have been maintained for several years and have gone through many modifications usually do not provide robust architecture anymore (unless they have been refactored constantly). Modifying them is difficult, time consuming, and often results in unexpected errors.

Modifying existing applications therefore requires time. This means that an information system cannot react instantly to changes in business processes rather it requires time to implement, test, and deploy the modifications. This time is sometimes referred to as the IT gap time. It is obvious that the gap time should be as short as possible. However, in the real world this is (once again) not always the case.

We have seen that there are at least three important forces that have to be considered:

  • Alignment between the business and IT, which is today seen as one of the most important priorities.

  • Complexity of existing applications and the overall IT architecture. Modifying them is a complex, difficult, error-prone, and time-consuming task.

  • Indispensability of existing applications. Companies rely upon existing applications and very often their core business operations would be jeopardized if existing applications fail.

This makes the primary objective of information systems to provide timely, complete, and easy to modify support for business processes even more difficult to achieve.