You are previewing WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g.
O'Reilly logo
WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g

Book Description

Define, model, implement, and monitor real-world BPEL business processes with SOA powered BPM.

  • Develop BPEL and SOA composite solutions with Oracle SOA Suite 11g

  • Efficiently automate business processes with WS-BPEL 2.0 and develop SOA composite applications.

  • Get familiar with basic and advanced BPEL 2.0.

  • Detailed explanation of advanced topics, such as security, transactions, human workflow, process monitoring, transition from BPMN to BPEL, dynamic processes, fault handling, etc., enabling you to work smarter and more efficiently.

  • Step-by-step real-world examples to learn and manage various advanced aspects of BPEL development using Oracle SOA Suite 11g, JDeveloper, Oracle Service Bus, Oracle Service Registry, Oracle Enterprise Repository, BPM Suite and BPA Suite

In Detail

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.

A comprehensive and practical guide to the design, development, and use of Business Process Execution Language with Oracle SOA Suite 11g.

Table of Contents

  1. WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g
    1. WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g
    2. Credits
    3. Foreword
    4. About the Authors
    5. About the Reviewers
    6. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Errata
        2. Piracy
        3. Questions
    7. 1. Introduction to BPEL and SOA
      1. Why business processes matter
      2. Business and IT alignment
      3. Service-Oriented Architecture
        1. BPEL
        2. Services
          1. How to develop services
        3. SOA concepts
          1. Services
          2. Interfaces
          3. Messages
          4. Loose Coupling
          5. Reusability
          6. Registries and repositories
          7. Quality of Service
          8. Composition of services into business processes
      4. SOA building blocks
        1. BPEL for process automation
        2. Web Services
          1. How Web Services differ from their predecessors
          2. Web Services technology stack
        3. Enterprise Service Bus
          1. ESB features
        4. Registry and repository
        5. Human task support and identity management
        6. Process Monitoring or Business Activity Monitoring
        7. Business Rules Management Systems (BRMS) or Rule Engine
        8. Adapters
        9. Service Component Architecture
        10. SOA governance
      5. Understanding BPEL
        1. BPEL features
        2. Orchestration and choreography
        3. Executable and abstract processes
      6. Relation of BPEL to other languages
        1. XLANG
        2. WSFL
        3. BPML
        4. ebXML BPSS
        5. YAWL
        6. WSCL
        7. WSCI
        8. WS-CDL
        9. BPMN
      7. BPEL servers overview
      8. The future of BPEL
      9. Summary
    8. 2. Service Composition with BPEL
      1. Developing business processes with BPEL
      2. Core concepts
        1. Invoking services
        2. Invoking asynchronous services
        3. Synchronous/Asynchronous business processes
        4. Understanding links to partners
        5. Partner link types
        6. Defining partner links
        7. BPEL process tag
        8. Variables
        9. Providing the interface to BPEL processes: <invoke>, <receive>, and <reply>
          1. <invoke>
          2. <receive>
          3. <reply>
        10. Assignments
        11. Validating variables
        12. Accessing variables in expressions
        13. XSLT transformations
        14. Conditions
        15. Activity names
        16. Documentation
      3. BPEL business process example
        1. Involved services
          1. Employee Travel Status service
          2. Airline service
            1. Flight Availability port type
            2. Flight Callback port type
        2. WSDL for the BPEL process
        3. Partner link types
        4. Business process definition
          1. BPEL process outline
          2. Partner links
          3. Variables for the Travel Process
          4. BPEL process main body
      4. Asynchronous BPEL example
        1. Modify the BPEL Process WSDL
        2. Modify partner link types
        3. Modify the BPEL process definition
      5. Summary
    9. 3. Advanced BPEL
      1. Advanced activities
        1. Loops
          1. While
          2. Repeat Until
          3. For Each
        2. Delays
          1. Deadline and duration expressions
        3. Empty activities
        4. Ending a process
      2. Fault handling and signaling
        1. WSDL faults
        2. Signaling faults
          1. Signaling faults to clients in synchronous replies
            1. Example
          2. Signaling faults to clients in asynchronous scenarios
        3. Handling faults
          1. Selection of a fault handler
          2. Synchronous example
          3. Asynchronous example
          4. Propagating faults
          5. Default fault handler
          6. Inline fault handling
      3. Scopes
        1. Example
          1. First scope
          2. Second scope
          3. Third scope
        2. Isolated scopes
      4. Compensation
        1. Compensation handlers
          1. Example
          2. Default compensation handler
        2. Invoking compensation handlers
      5. Termination handler
        1. Default termination handler
      6. Managing events
        1. Pick activity
          1. Message events
          2. Alarm events
          3. Example
        2. Event handlers
          1. <onEvent>
            1. Example
          2. <onAlarm>
            1. Example
      7. Business process lifecycle
      8. Correlation and message properties
        1. Message properties
          1. Mapping properties to messages
          2. Extracting properties
          3. Properties and assignments
        2. Correlation sets
        3. Using correlation sets
      9. Concurrent activities and links
        1. Sources and targets
          1. Example
        2. Transition conditions
        3. Join conditions and link status
        4. Join failures
          1. Suppressing join failures
      10. Dynamic partner links
      11. Message exchanges
        1. From-parts and to-parts
          1. <fromParts>
          2. <toParts>
      12. Abstract business processes
      13. Generating BPEL from BPMN diagrams
      14. Summary
    10. 4. Using BPEL with Oracle SOA Suite 11g
      1. Overview
        1. BPEL Component Designer
        2. BPEL Service Engine
        3. Database
        4. Enterprise Manager Console (EM)
      2. Building composite applications with SOA Composite Editor
        1. Service components
        2. Binding components
        3. Wires
      3. Development of BPEL processes in JDeveloper
        1. Defining XML schemas
        2. Defining a WSDL interface
        3. Creating an SOA composite application
          1. Adding the BPEL Process service component
          2. Adding references
        4. BPEL process implementation
          1. Adding partner links
          2. Adding variables
          3. Adding process activities
          4. Validating BPEL processes
      4. Testing SOA composite applications
      5. Deploying SOA composite applications
        1. Deploying from JDeveloper
          1. Creating configuration plans in JDeveloper
        2. Deploying using Ant Scripts
      6. Managing SOA composite applications
        1. Managing SOA composites using JDeveloper
        2. Managing SOA composites using Enterprise Manager Console
          1. Deploying and undeploying SOA composite applications
          2. Initiating an SOA composite application test instance
          3. Viewing the SOA composite instances flow trace
          4. Automatic testing of SOA composite instances
      7. Developing and deploying BPEL 2.0 processes
      8. Summary
    11. 5. BPEL Extensions, Dynamic Parallel Flow, Dynamic Partner Links, Notification Service, Java Embedding, and Fault Management Framework
      1. Extension functions and activities
        1. Transformation and query support
        2. Data and array manipulation
        3. XML manipulation
        4. Date and time expressions
        5. Process identification
        6. LDAP access and user management
      2. Dynamic parallel flow
        1. Dynamic flow example
        2. Providing a list of partner links
        3. Dynamic parallel invocation of airline services
        4. Dynamic partner links
        5. Offer selection loop
        6. Testing the example
      3. Notification Service
        1. Setting the Email Driver
        2. Sending e-mail notifications
          1. Review of code
          2. Testing the example
      4. Java code embedding
        1. Invoking a Java class from embedded code
      5. Fault management framework
        1. Creating a fault policy
      6. Summary
    12. 6. Entity Variables, Master and Detail Processes, Security, and Business Events in BPEL
      1. Entity variables
        1. Altering the EMPLOYEES table
        2. Creating the data source
        3. Creating the ADF-BC service
        4. Modifying the SOA composite application
        5. Testing the entity variable
      2. Master and Detail processes
        1. Creating the Detail process
        2. Modifying the Master process
        3. Adding <signal> and <receiveSignal> activities
        4. Testing the Master-Detail coordination
      3. Securing SOA composite applications
        1. Attaching and detaching policies in JDeveloper
        2. Managing policies in the Enterprise Manager console
        3. Testing security
      4. Using business events in BPEL
        1. Defining the business event
        2. Modifying the BPEL process
        3. Testing the SOA composite application
      5. Summary
    13. 7. Human Interactions in BPEL
      1. Human interactions in business processes
      2. Human Tasks in BPEL
        1. Human Task integration with BPEL
        2. Oracle Human Workflow concepts
        3. Workflow patterns
      3. Creating Human Task definitions
        1. Configuring a Human Task title and outcomes
        2. Configuring Human Task payload
        3. Configuring Human Task assignments
        4. Configuring Human Task deadlines
        5. Configuring Human Task notifications
      4. Using Human Tasks in BPEL processes
        1. Creating variable and adding <switch> activity
        2. Adding a Human Task
        3. Configuring Human Task case branches
      5. Creating Human Tasks forms
        1. Auto-generating a task form
        2. Modifying the task form
      6. Deploying the SOA composite and task form
      7. Using the Oracle BPM Worklist application
        1. Logging into the BPM Worklist application
        2. Completing the task
        3. Testing Human Task expiration
      8. BPEL4People
        1. Brief look at WS-HumanTask
          1. Overall structure
          2. Human Tasks
          3. Escalations
          4. Notifications
          5. Programming interface
        2. Brief look at BPEL4People
          1. Overall structure
          2. People assignments
          3. People activities
      9. Summary
    14. 8. Monitoring BPEL Processes with BAM
      1. Business Activity Monitoring
      2. Oracle BAM architecture and features
        1. Oracle BAM Server
        2. Oracle BAM web applications
      3. Gathering BAM data from a BPEL process
        1. Monitoring objects
        2. Sensors and sensor actions
      4. Introduction to demonstration scenario
      5. Enabling activity monitoring
      6. Using monitoring objects
        1. Creating a Business Indicator monitoring object
      7. Using sensors
        1. Creating BAM data objects
        2. Creating a BAM server connection
        3. Creating sensors and sensor actions
      8. Using the BAM Adapter partner link
      9. Deploying an SOA composite application
        1. Checking created data objects
        2. Testing data objects
      10. Building the BAM dashboard
        1. Creating a report and choosing a report template
        2. Displaying a list of process instances
        3. Displaying the percentage of confirmed flight tickets
        4. Displaying the number of reserved tickets by airline
        5. Displaying the effectiveness of the Approval Manager
        6. Testing the dashboard
      11. Summary
    15. 9. BPEL with Oracle Service Bus and Service Registry
      1. Oracle Service Bus architecture and features
        1. Proxy services and business services
        2. Message flow modeling
      2. Oracle Service Registry
        1. Logging into Oracle Service Registry
        2. Publishing a business entity
        3. Publishing a business service
      3. Using Oracle Service Bus Console
        1. Creating a project and importing resources from OSR
          1. Creating a connection to Oracle Service Registry
          2. Importing resources from Oracle Service Registry
        2. Configuring a business service
          1. Enabling service result caching
          2. Enabling service monitoring
        3. Testing a business service
        4. Creating an Alert destination
        5. Creating a proxy service
          1. Configuring Message Flow
        6. Testing a proxy service
        7. Publishing a proxy service to the Oracle Service Registry
      4. Re-wiring an SOA composite application
      5. Oracle Service Bus use case
        1. Modifying the Proxy message flow
        2. Testing an SOA composite application
      6. Summary
    16. 10. BPMN to BPEL Round-tripping with BPA Suite and SOA Suite
      1. Oracle BPA Suite architecture and features
      2. Round-tripping between BPMN and BPEL
        1. Steps for BPMN-BPEL round-tripping
        2. Mapping of BPMN constructs to BPEL
        3. Mapping of BPEL constructs to BPMN
      3. Demonstration scenario
      4. Business process modeling in Business Process Architect
        1. Creating the database
        2. Modeling a business process
          1. Creating a new model
          2. Adding process activities and defining activity flow
          3. Editing object properties
          4. Adding a start event
          5. Adding automated activities
          6. Adding a human task
          7. Completing the Process model
        3. Transforming a business process into BPEL
      5. Using BPEL Blueprints in Oracle JDeveloper
        1. Creating a connection to the BPA Repository
        2. Creating an application and an SOA Project
        3. Understanding the generated BPEL code
      6. BPMN-BPEL round-tripping
        1. Propagating changes from BPMN to BPEL
          1. Modifying the BPMN model
          2. Refreshing BPEL Blueprint
        2. Propagating changes from BPEL to BPMN
          1. Adding process steps to the BPEL
          2. Updating the BPMN model
      7. Summary
    17. 11. Integrating BPEL with BPMN using BPM Suite
      1. Oracle BPM Suite architecture and features
      2. Demonstration scenario
      3. Business Process Modeling and implementation in Oracle BPM Studio
        1. Creating a BPM application and project
        2. Creating a BPMN process
        3. Overview of Oracle BPM Studio
        4. Implementing a BPMN process
          1. Creating data objects
          2. Configuring start and end events
          3. Invoking synchronous service
          4. Adding the first BPEL process
          5. Invoking a BPEL process from BPMN
          6. Adding a human task
          7. Adding a second BPEL process
          8. Completing the process
        5. Deploying a BPM project
      4. Testing an SOA composite application
        1. Initiating an SOA composite instance
        2. Completing the human task using Oracle BPM Workspace
      5. Summary