Book Image

Business Process Execution Language for Web Services 2nd Edition

Book Image

Business Process Execution Language for Web Services 2nd Edition

Overview of this book

Web services provide the basic technical platform required for application interoperability. They do not, however, provide higher level control, such as which web services need to be invoked, which operations should be called and in what sequence. Nor do they provide ways to describe the semantics of interfaces, the workflows, or e-business processes. BPEL is the missing link to assemble and integrate web services into a real business process BPEL4WS standardizes process automation between web services. This applies both within the enterprise, where BPEL4WS is used to integrate previously isolated systems, and between enterprises, where BPEL4WS enables easier and more effective integration with business partners. In providing a standard descriptive structure BPEL4WS enables enterprises to define their business processes during the design phase. Wider business benefits can flow from this through business process optimization, reengineering, and the selection of most appropriate processes . Supported by major vendorsó including BEA, Hewlett-Packard, IBM, Microsoft, Novell, Oracle, SAP, Sun, and othersó BPEL4WS is becoming the accepted standard for business process management. This book provides detailed coverage of BPEL4WS, its syntax, and where, and how, it is used. It begins with an overview of web services, showing both the foundation of, and need for, BPEL. The web services orchestration stack is explained, including standards such as WS-Security, WS-Coordination, WS-Transaction, WS-Addressing, and others. The BPEL language itself is explained in detail, with Code snippets and complete examples illustrating both its syntax and typical construction. Having covered BPEL itself, the book then goes on to show BPEL is used in context. by providing an overview of major BPEL4WS servers. It covers the Oracle BPEL Process Manager and Microsoft BizTalk Server 2004 in detail, and shows how to write BPEL4WS solutions using these servers.
Table of Contents (14 chapters)
Business Process Execution Language for Web Services
Credits
About the Authors
About the Reviewers
Preface
Index

Java Code Embedding


Java code embedding is another method for integrating Java code and resources into BPEL processes. It allows us to embed Java code snippets directly into BPEL process code. This provides the opportunity to use Java for certain aspects where BPEL does not provide an appropriate activity. It also provides a way to use Java code to call other Java resources (EJBs, JCA, JMS, etc.). Compared to WSIF, Java code embedding has several drawbacks. The most important is that it requires proprietary extensions to BPEL code, thus limiting the portability of BPEL processes.

To embed Java code snippets into BPEL, Oracle provides a custom BPEL activity called <exec>, defined in the http://schemas.oracle.com/bpel/extension namespace. This namespace is usually declared with the bpelx prefix, so we write the activity as <bpelx:exec>.

The BPEL server will execute the Java code embedded in the <exec> activity within its JTA (Java Transaction API) transaction context. If the...