You are previewing WS-BPEL 2.0 for SOA Composite Applications with IBM WebSphere 7.
O'Reilly logo
WS-BPEL 2.0 for SOA Composite Applications with IBM WebSphere 7

Book Description

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

  • Develop BPEL and SOA composite solutions with IBM's WebSphere SOA platform

  • Automate business processes with WS-BPEL 2.0 and develop SOA composite applications efficiently

  • Detailed explanation of advanced topics, such as security, transactions, human workflow, dynamic processes, fault handling, and more-enabling you to work smarter

  • 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 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 easy at first sight, it hides a lot of potential and has many interesting advanced features that you should get familiar with in order to maximize the value of SOA.

    This book provides a comprehensive and detailed coverage of BPEL. It covers basic and advanced features of BPEL 2.0 and provides several real-world examples. In addition to the BPEL specification, this book provides comprehensive coverage of BPEL support on IBM's WebSphere SOA platform including security, transactions, human workflow, process monitoring, automatic generation of BPEL from process models, dynamic processes, and more.

    The 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 then moves on to explain core concepts such as invoking services, synchronous and asynchronous processes, partner links, the 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, and concurrent activities and links. The authors also discuss the business process lifecycle, the correlation of messages, dynamic partner links, abstract business processes, and mapping from BPMN to BPEL.

    The book discusses details of using BPEL with IBM WebSphere SOA platform. You will be able to develop BPEL and SCA composite applications, and demonstrate different approaches with the help of examples in this book. You will get exhaustive information on monitoring BPEL processes, and developing dashboards.

    The authors explain transformation of business process models in BPMN (using Business Modeler) to BPEL and how to achieve round-tripping. The book covers a complete BPM lifecycle from modeling through implementation, execution, monitoring, and optimization, and presents advanced real-world examples. In addition to standard BPEL it also covers IBM specific extensions on the WebSphere SOA platform

    A comprehensive and practical guide to the design, development, and use of Business Process Execution Language 2.0 with IBM WebSphere SOA platform

    Table of Contents

    1. WS-BPEL 2.0 for SOA Composite Applications with IBM WebSphere 7
      1. WS-BPEL 2.0 for SOA Composite Applications with IBM WebSphere 7
      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. Synchronicity
            5. Loose coupling
            6. Reusability
            7. Registries and repositories
            8. Quality of Service
            9. 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
          1. The future of BPEL
        8. 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
            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
            1. 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. BPEL Processes with IBM WebSphere
        1. BPEL support in WebSphere
          1. Long-running processes and microflows
          2. Overview of BPEL activities
          3. BPEL extensions
          4. Assembly diagram
            1. Imports and exports
            2. Import and export bindings
        2. Steps for developing a BPEL process in WID
          1. Business objects
          2. WSDL interface
          3. Assembly diagram and bindings
          4. BPEL process implementation
          5. Deploying and running the example
          6. Using exports and imports
          7. Transaction boundaries
        3. Using forEach and dynamic partner references
          1. Dynamic partner references
          2. BPEL process with <forEach>
          3. Parallel <forEach>
            1. Transaction boundaries in BPEL
            2. Setting transaction boundaries in BPEL
        4. Asynchronous calls, callbacks, and correlation
          1. Business objects
          2. Interfaces
          3. Assembly diagram
          4. Implementing the TravelApproval BPEL process
          5. Correlation
          6. Fault handling
          7. Compensation handling
            1. Adding a compensation handler to the process
            2. Calling the compensation handler from the fault handler
          8. Event handling
          9. Data maps
            1. The XML map
            2. The BO map
        5. Qualifiers
          1. Reliability qualifiers
          2. Activity session qualifiers
          3. Security qualifiers
          4. Other asynchronous qualifiers
          5. Miscellaneous qualifiers
        6. Summary
      11. 5. Human Interactions in BPEL
        1. Human interactions in business processes
        2. Human tasks in BPEL
          1. Human task integration with BPEL
          2. Human tasks in WebSphere Process Server
          3. Defining human tasks
            1. Types of human tasks
            2. Interacting with human tasks
        3. To-do human task
          1. Inline human task
            1. Creating an inline human task
            2. Deploying and testing an inline human task
          2. Global human tasks
            1. Creating a global human task
            2. Invoking a global to-do human task from a BPEL process
            3. Deploying and testing the human task
        4. Invocation human tasks
          1. Creating an invocation human task
          2. Testing and deploying an invocation human task
        5. Human task escalations
          1. Defining escalations
          2. Parallel escalations
          3. Chained escalations
        6. Collaboration human tasks
          1. Creating a collaboration human task
        7. Managing BPEL processes and human tasks in runtime
          1. Using the Human Task Manager API to claim to-do human tasks
            1. Creating a human task
              1. Querying human tasks
              2. Accessing the API from a web application
          2. BPEL4People
            1. A brief look at WS-HumanTask
              1. Overall structure
              2. Human tasks
              3. Escalations
              4. Notifications
              5. Programming interface
            2. A brief look at BPEL4People
              1. Overall structure
              2. People assignments
              3. People activities
        8. Summary
      12. 6. Securing BPEL Processes
        1. Core concepts
        2. Securing a BPEL process
          1. Exposing a BPEL process as web service
          2. Creating a WS-Policy set for WS-Security authentication
          3. Securing a BPEL process web service export with a WS-policy set
          4. Testing a secured BPEL process
            1. Calling a BPEL process without credentials
            2. Calling a BPEL process with credentials
          5. Propagating user identity to a BPEL process
            1. Extracting user identity from UsernameToken
            2. Propagating an extracted user identity to a BPEL process
              1. Assigning a policy set binding to propagate an identity to a provider
          6. Testing user identity propagation to BPEL process
          7. Restricting access to a BPEL process
            1. Setting a security permission qualifier
            2. Testing the authorization mechanism
            3. Adding users to an authorized role
            4. Testing the authorization mechanism with an authenticated and authorized user
        3. Summary
      13. 7. Iterative Process Development from BPMN to BPEL
        1. Iterative process lifecycle
        2. Process modeling in WebSphere Business Modeler
          1. Modeling TravelApproval process
            1. Creating a new Business Modeling Project
            2. Importing business services
            3. Creating a business process
        3. Business process building blocks
          1. Palette
            1. Activities
            2. Gateways
            3. Data
            4. Events
            5. Compensations
        4. Process modeling
        5. Exporting a business process model to WebSphere Integration Developer
          1. Exporting a process model from WebSphere Business Modeler
          2. Importing a process model in WebSphere Integration Developer
        6. Implementing a process in WebSphere Integration Developer
          1. Specifying service references
          2. Deploying a process
          3. Testing a process
        7. Process change synchronization
          1. Synchronizing implemented changes
            1. Changing a process in WID
            2. Technical synchronization from WID to WBM
            3. Importing a change report to WBM
            4. Reviewing changes
            5. Applying changes
            6. Resynchronizing with WID
          2. Synchronization of modeling changes
            1. Modifying process
            2. Synchronizing changes
          3. Round-trip synchronization
            1. Exporting a new version from WBM
            2. Synchronizing with WID
            3. Resolving errors
            4. Creating a new process version
        8. Summary
      14. 8. Monitoring Business Processes
        1. Motivation for Business Monitoring
        2. Business Monitoring in WebSphere
          1. Monitor model
          2. Dashboard
        3. Developing a monitor model in WebSphere Business Modeler
          1. Business measures
          2. Specifying a metric
          3. Adding an instance metric
          4. Specifying Key Performance Indicators
          5. Creating dimensions
          6. Adding additional metrics and KPIs
            1. Defining an instance metric
            2. Specifying KPIs
          7. Exporting a monitor model to WebSphere Integration Developer
        4. Developing and refining a monitor model in WebSphere Integration Developer
          1. Importing into WID
          2. The Business Monitoring perspective
            1. Resolving warnings
          3. Monitor model overview
          4. Adding business measures in WID
            1. Defining events
            2. Importing events
            3. Defining triggers
            4. Specifying instance metrics
            5. Creating KPIs
            6. Defining a dimension
        5. Building and publishing a monitor application
        6. Preparing a dashboard in Business Space
          1. Configuring Business Space
          2. Defining an alert
          3. Preparing a widget for dimensional analysis
          4. Testing the dashboard
        7. Summary
      15. 9. IBM BPM Enabled by SOA: Overview
        1. Achieving success through BPM enabled by SOA
          1. Business Process Management
          2. Building blocks of a BPM enabled by SOA framework
            1. Business process modeling
            2. Business process execution (including choreography)
            3. Enterprise Service Bus
            4. Business policies and rules
            5. Business process monitoring
            6. Information model
        2. IBM SOA reference architecture
          1. Key elements of an IBM SOA Reference Architecture
        3. IBM SOA programming model
          1. Service Component Architecture
          2. Service data objects
          3. Common business process implementation types
        4. IBM's BPM enabled by SOA platform
          1. WebSphere Business Modeler
          2. WebSphere Integration Developer
            1. Getting around with WID
              1. Imports and exports
            2. Project types
              1. Working with modules and libraries
              2. Project dependencies
            3. Creating and visualizing interfaces
            4. Business objects and business graph
          3. Where does WID/WPS fit in with WS-BPEL?
            1. Working with a business process (WS-BPEL)
          4. WebSphere Process Server
            1. Role of WPS in SOA
            2. Platform architecture
            3. Common BPM adoption scenarios
          5. IBM WebSphere Enterprise Service Bus
            1. Role of WESB in SOA
            2. Common WESB usage scenarios
              1. Interaction patterns
              2. Mediation patterns
              3. Deployment patterns
        5. WebSphere Business Monitor
        6. Business Space
        7. Creating your first BPEL solution
          1. WebSphere Industry Content Pack
        8. Summary
      16. 10. IBM BPM Enabled by SOA — BPM in the Cloud, Dynamic Processes, and Advanced Topics
        1. Employee On-Boarding automation
        2. IBM's BPM BlueWorks
          1. Organization chart
          2. Strategy maps
          3. Capability maps
          4. Process maps
          5. Business vocabulary
        3. Long-running process and Microflow
        4. Exception handling in business processes
          1. SCA exception types
          2. Compensation
          3. Catch, Catch All, Throw, Rethrow, and Terminate
          4. Exception handling suggested practices
          5. Failed event manager
        5. Testing modules and components
          1. Test configurations
            1. Emulators
            2. Monitors
            3. Events
        6. WebSphere Business Services Fabric
          1. What are business services?
          2. How does it complement the BPM platform?
          3. WebSphere Business Services Fabric Dynamic Assembler
          4. Dynamic Employee On-Boarding business process with Fabric
          5. Business vocabulary
          6. Business policies
        7. WebSphere Industry Content Pack
          1. IBM WebSphere Telecom Content Pack (WTCP)
        8. IBM BPM deployment topologies
          1. WebSphere Application Server Network Deployment fundamentals
            1. Cells
            2. Nodes
            3. Deployment manager
            4. Profiles
            5. Clusters
            6. Bus
          2. Application deployment topology
        9. Management, monitoring, and security topics
          1. Using the administrative console
          2. Installing SCA modules using admin console
            1. Troubleshooting and problem determination
            2. Monitoring solution components with business space
              1. Tools and capabilities provided
              2. Service monitoring with Business Space
        10. Words of wisdom — tips, tricks, suggestions, and pitfalls
          1. What are the various tools and the associated URLs that I should be aware of and bookmark?
          2. How to turn off an IBM-specific BPEL extension
          3. Any suggested method to back up WID?
          4. How to restore a profile from a backup
          5. How to increase WID heap size
          6. How to change the type of your business process
          7. How to create versioned modules and libraries
          8. Use of global variables in a ForEach within a BPEL process
        11. Summary