E-book details

Business Process Execution Language for Web Services

Business Process Execution Language for Web Services

Poornachandra Sarang, Matjaz B. Juric, Benny Mathew, Poornachandra G Sarang, Matjaz B Juric

Ebook
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.
  • Business Process Execution Language for Web Services
    • Table of Contents
    • Business Process Execution Language for Web Services
    • Credits
    • About the Authors
    • About the Reviewers
    • Preface
      • What This Book Covers
      • What You Need for Using This Book
      • Conventions
      • Reader Feedback
      • Customer Support
        • Downloading the Example Code for the Book
        • Errata
        • Questions
    • 1. Introduction to BPEL and SOA
      • Why Business Processes Matter
        • Automation of Business Processes
          • Exposing and Accessing the Functionality of Applications as Services
          • Enterprise Bus Infrastructure for Communication and Management of Services
          • Integration between Services and Applications
          • Composition of Exposed Services into Business Processes
      • Web Services
        • How Web Services Differ from their Predecessors
        • Web Services Technology Stack
      • Enterprise Service Bus
        • ESB Features
      • Service Oriented Architecture
        • SOA Concepts
          • Services
          • Interfaces
          • Messages
          • Synchronicity
          • Loose Coupling
          • Registries
          • Quality of Service
          • Composition of Services into Business Processes
      • Service Composition
      • BPEL for Service Composition
        • BPEL Features
        • Orchestration and Choreography
        • Executable and Abstract Processes
      • Relation of BPEL to Other Languages
        • ebXML BPSS
        • BPML
        • WSCI
        • WS-CDL
      • BPEL Servers Overview
        • Oracle BPEL Process Manager
        • Microsoft BizTalk
        • IBM WebSphere Business Integration Server Foundation
        • IBM BPWS4J
        • ActiveBPEL Engine and ActiveWebflow
        • OpenStorm Service Orchestrator
      • The Future of BPEL
      • Conclusion
    • 2. Web Services Technology Stack
      • E-Business Collaborations
      • WS-Security
        • Example
        • Binary Security Token
        • Referencing an External Security Token
        • Faults
      • Typical Business Transaction Scenario
      • WS-Coordination
        • The Framework
        • Scenario
          • CoordinationContext
          • CreateCoordinationContext
          • CreateCoordinationContextResponse
          • Register
          • RegisterResponse
        • Faults
      • Web Services Transaction Specifications
        • Atomic Transaction
          • Sharing Context Information
          • Coordination Protocols
            • Completion
            • CompletionWithAck
            • Two-Phase Commit
            • PhaseZero
            • OutcomeNotification
        • Business Activity
          • Sharing the Context Information
          • Coordination Protocols
            • BusinessAgreement
            • BusinessAgreementWithComplete
      • OASIS BTP
        • The BTP Stack
        • The BTP Model
          • Atomic Transactions
          • Cohesive Transactions
      • Reliable Messaging
        • Messaging Model
          • Example
          • Requesting Acknowledgement
          • Delivery Assurances
          • Other Assertions
          • Faults
      • WS-Addressing
        • Endpoint Reference
        • Faults
      • WS-Inspection
        • Inspection Document Hierarchy
      • WS-Policy
        • Policy Outline
          • The <wsp:All> Operator
          • The <wsp:ExactlyOne> Operator
          • The <wsp:OneOrMore> Operator
          • The <wsp:Policy> Operator
        • Policy Assertions
          • Example
          • Policy Inclusion
      • WS-Eventing
        • Event Subscription
        • Response to Event Subscription
        • Subscription Renewal
        • Unsubscribing
        • Subscription End Message
      • Conclusion
    • 3. Service Composition with BPEL
      • Developing Business Processes with BPEL
      • Core Concepts
        • Invoking Web Services
        • Invoking Asynchronous Web Services
        • Synchronous/Asynchronous Business Processes
        • Understanding Links to Partners
        • Partner Link Types
        • Defining Partner Links
        • BPEL Process Tag
        • Variables
        • Providing the Interface to BPEL Processes: <invoke>, <receive>, and <reply>
          • <invoke>
          • <receive>
          • <reply>
        • Assignments
        • Conditions
      • BPEL Business Process Example
        • Involved Web Services
          • Employee Travel Status Web Service
          • Airline Web Service
            • Flight Availability Port Type
            • Flight Callback Port Type
        • WSDL for the BPEL Process
        • Partner Link Types
        • Business Process Definition
          • BPEL Process Outline
          • Partner Links
          • Variables
          • BPEL Process Main Body
      • Asynchronous BPEL Example
        • Modify the BPEL Process WSDL
        • Modify Partner Link Types
        • Modify the BPEL Process Definition
      • Conclusion
    • 4. Advanced BPEL
      • Advanced Activities
        • Activity Names
        • Loops
        • Delays
          • Deadline and Duration Expressions
        • Empty Activities
        • Process Termination
      • Fault Handling and Signaling
        • WSDL Faults
        • Signaling Faults
          • Signaling Faults to Clients in Synchronous Replies
            • Example
          • Signaling Faults to Clients in Asynchronous Scenarios
        • Handling Faults
          • Selection of a Fault Handler
          • Synchronous Example
          • Asynchronous Example
          • Inline Fault Handling
      • Scopes
        • Example
          • First Scope
          • Second Scope
          • Third Scope
        • Serializable Scopes
      • Compensation
        • Compensation Handlers
          • Example
        • Invoking Compensation Handlers
      • Managing Events
        • Pick Activity
          • Message Events
          • Alarm Events
          • Example
        • Event Handlers
          • Example
      • Business Process Lifecycle
      • Correlation and Message Properties
        • Message Properties
          • Mapping Properties to Messages
          • Extracting Properties
          • Properties and Assignments
        • Correlation Sets
        • Using Correlation Sets
      • Concurrent Activities and Links
        • Sources and Targets
          • Example
        • Transition Conditions
        • Join Conditions and Link Status
        • Join Failures
          • Suppressing Join Failures
      • Dynamic Partner Links
      • Abstract Business Processes
      • Model Driven Approach: Generating BPEL from UML Activity Diagrams
      • Conclusion
    • 5. Oracle BPEL Process Manager and BPEL Designer: Overview
      • Overview and Architecture
        • BPEL Server
          • Core BPEL Engine
          • WSDL Bindings
          • Integration Services
        • BPEL Console
        • BPEL Designer
        • Database
      • Process Deployment Example
        • Process Descriptor
          • Configuration Properties
        • Setting the Environment
        • BPEL Compiler and Revision Numbers
        • Deployment and Domains
          • Ant Utility
      • Process Management with the BPEL Console
        • Visual Flow
        • Instance Auditing
        • Debugging
        • Overview of Other BPEL Console Functions
        • Deploying Processes
        • Management
        • Performance Tuning
        • Domains and Administration
          • Administration of Server-Related Parameters
          • Managing BPEL Domains
      • Graphical Development with BPEL Designer
        • JDeveloper BPEL Designer
          • Importing Existing BPEL Processes
          • Partner Links and Web Services
          • Variables
          • Process Activities
          • Copy Rule Editor
          • XPath Expression Builder
          • XSLT Mapper
          • BPEL Validation Browser
          • Building and Deploying
        • Eclipse BPEL Designer
          • Partner Links and Web Services
          • Variables
          • XML Type Browser
          • Process Map
          • Copy Rule Editor
          • Function Wizard
          • Building and Deploying
      • Summary
    • 6. Oracle BPEL Process Manager: Advanced Features
      • Extension Functions and Activities
        • Transformation and Query Support
        • Data and Array Manipulation
        • XML Manipulation
        • Date and Time Expressions
        • Process Identification
        • LDAP Access and User Management
      • Dynamic Parallel Flow
        • Dynamic Flow Example
        • Providing a List of Partner Links
        • Dynamic Parallel Invocation of Airline Services
        • Dynamic Partner Links
        • Offer Selection Loop
        • Deploying and Testing the Example
      • Web Services Invocation Framework
        • Advantages of WSIF
        • Java to XML Bindings
          • XML Façades
        • Invoking a Java Class through WSIF
          • Defining WSIF Bindings in WSDL
          • WSIF Bindings for Java Classes
          • Testing the Example
        • Exception Handling
          • User Exceptions in Java
          • Defining Faults in WSDL
          • Defining WSIF Binding for an Exception
          • Custom Exception Serializers
            • Defining Custom Fault Type in WSDL
            • Writing the Custom Exception Serializer
            • Registering the Custom Exception Serializer
        • Invoking EJB through WSIF
          • WSDL for Session Bean
          • WSIF Binding for EJB
        • Generating WSIF Bindings from JDeveloper
      • Java Code Embedding
        • Invoking a Java Class from Embedded Code
      • Notification Service
        • Email Example
          • Notification Wizard
          • Review of Code
          • Testing the Example
        • Mail and JMS Services
      • Workflow Service
        • Workflow Patterns
        • Example
          • Checking User Outcome
          • Worklist Application to Approve Ticket
      • Identity Service
      • BPEL Server APIs
      • Summary
    • 7. MS BizTalk Server
      • Overview
        • Support for BPEL and XLANG/s
      • Architecture
        • Ports
          • Receive Locations
        • Adapters
        • Receive Pipelines
          • Message Contexts
          • Promoted Properties
          • Distinguished Fields
        • The MessageBox
          • How Publish-Subscribe works
        • Orchestrations
        • Maps
        • Business Rules Engine
        • Send Pipeline
      • Building a Sample Orchestration in BizTalk
        • Scenario
        • Implementation
      • Exporting Orchestration to BPEL
      • Importing BPEL Processes into BizTalk
      • Dos and Donts for BPEL Compliance in BizTalk
      • Comparing BizTalk Orchestration Constructs with BPEL
        • Receive and Send Shapes (<receive>, <invoke>, <reply>)
        • Port and Role Link Shapes (<partnerLink>, <partnerLinkType>, <role>)
        • Expression and Message Assignment Shapes (<assign>, <copy>, <from>, <to>)
        • Decide Shape (<switch>, <case>, <otherwise>)
        • Delay Shape (<wait>)
        • Parallel Actions Shape (<flow>)
        • Loop Shape (<while>)
        • Suspend Shape
        • Terminate Shape (<terminate>)
      • Advanced BPEL Functions using BizTalk
        • Listen Shape (<pick>, <onMessage>, <onAlarm>)
        • Scope Shape (<scope>)
        • Throw Exception Shape and Exception Handling (<throw>, <faultHandler>, <catch>, <catchAll>)
        • Compensate Shape and Compensation Block (<compensate>, <compensationHandler>)
        • Correlation (<correlations>, <correlationSets>)
      • Other BizTalk-Specific Features
        • Integration with other BizTalk Servers
        • Integration with Web Services
        • Integration with the .NET Framework
        • Human Workflow Services (HWS)
        • Business Activity Monitoring (BAM)
        • Health and Activity Tracking (HAT)
      • BizTalk Server 2006 and Beyond
      • Summary
    • A. BPEL Syntax Reference
      • Important BPEL Activities and Elements
        • <assign>, <copy>, <from>, <to>
          • Syntax
          • Example
        • <catch>, <catchAll>
          • Syntax
          • Example
        • <compensate>
          • Syntax
          • Example
        • <compensationHandler>
          • Syntax
          • Example
        • <correlations>, <correlation>
          • Syntax
          • Example
        • <correlationSets>, <correlationSet>
          • Syntax
          • Example
        • <empty>
          • Syntax
          • Example
        • <eventHandlers>
          • Syntax
          • Example
        • <faultHandlers>, <faultHandler>
          • Syntax
          • Example
        • <flow>
          • Syntax
          • Example
        • <invoke>
          • Syntax
          • Example
        • <links>, <link>
          • Syntax
          • Example
        • <onAlarm>
          • Syntax
          • Example
        • <onMessage>
          • Syntax
          • Example
        • <partnerLinks>, <partnerLink>
          • Syntax
          • Example
        • <partnerLinkType>, <role>
          • Syntax
          • Example
        • <partners>
          • Syntax
          • Example
        • <pick>
          • Syntax
          • Example
        • <process>
          • Syntax
          • Example
        • <property>
          • Syntax
          • Example
        • <propertyAlias>
          • Syntax
          • Example
        • <receive>
          • Syntax
          • Example
        • <reply>
          • Syntax
          • Example
        • <scope>
          • Syntax
          • Example
        • <sequence>
          • Syntax
          • Example
        • <source>
          • Syntax
          • Example
        • <switch>, <case>
          • Syntax
          • Example
        • <target>
          • Syntax
          • Example
        • <terminate>
          • Syntax
          • Example
        • <throw>
          • Syntax
          • Example
        • <variables>, <variable>
          • Syntax
          • Example
        • <wait>
          • Syntax
          • Examples
        • <while>
          • Syntax
          • Example
      • BPEL Functions
        • getLinkStatus()
          • Syntax
          • Example
        • getVariableData()
          • Syntax
          • Example
        • getVariableProperty()
          • Syntax
          • Example
      • Deadline and Duration Expressions
      • Standard Elements
        • Syntax
      • Standard Attributes
        • Syntax
      • Default Values of Attributes
      • Standard Faults
      • Namespaces
    • Index
  • Title: Business Process Execution Language for Web Services
  • Author: Poornachandra Sarang, Matjaz B. Juric, Benny Mathew, Poornachandra G Sarang, Matjaz B Juric
  • Original title: Business Process Execution Language for Web Services.
  • ISBN: 9781847190666, 9781847190666
  • Date of issue: 2006-01-08
  • Format: Ebook
  • Item ID: e_3c54
  • Publisher: Packt Publishing