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. Table of Contents
    2. WS-BPEL 2.0 for SOA Composite Applications with IBM WebSphere 7
    3. Credits
    4. Foreword
    5. About the Authors
    6. About the Reviewers
    7. 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
    8. 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
    9. 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
    10. 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
    11. 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
    12. 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
    13. 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
    14. 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
    15. 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
    16. 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
    17. 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
    18. Index

Product information

  • Title: WS-BPEL 2.0 for SOA Composite Applications with IBM WebSphere 7
  • Author(s): Matjaz B. Juric, Swami Chandrasekaran, Ales Frece, Gregor Srdic, Matej Hertis
  • Release date: October 2010
  • Publisher(s): Packt Publishing
  • ISBN: 9781849680462