售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
WS-BPEL 2.0 Beginner's Guide
Table of Contents
WS-BPEL 2.0 Beginner's Guide
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Instant updates on new Packt books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Time for action – heading
What just happened?
Pop quiz – heading
Have a go hero – heading
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Hello BPEL
Introduction to BPEL
Installing Oracle JDeveloper and SOA Suite
Installing the JDK and setting environment
Time for action – installing the JDK and setting environment
What just happened?
Installing SOA Suite with JDeveloper
Time for action – installing JDeveloper and SOA Suite
What just happened?
Creating a default domain
Time for action – creating a default domain
What just happened?
Developing our first BPEL process
Time for action – creating the SOA composite application
What just happened?
Time for action – creating XML Schema for the BPEL process
What just happened?
Time for action – modifying WSDL
What just happened?
Time for action – implementing the BPEL process
What just happened?
Deploying the first BPEL process
Time for action – deploying the BPEL process
What just happened?
Testing our first BPEL process
Time for action – testing the BPEL process
What just happened?
Understanding the BPEL language
The BPEL structure
Partner links
Variables
The process logic
A detailed look at the BPEL activities
<process>
<receive> and <reply>
<receive>
<reply>
Bookstore BPEL process with branches
Time for action – more sophisticated BPEL process
What just happened?
Deploy and test the second BPEL process
Time for action – deploying and testing the second BPEL process
What just happened?
Have a go hero – test the process
Pop Quiz – BPEL basics
Summary
2. Service Invocation
Service invocation and orchestration
Developing the book warehousing process
Time for action – creating the book warehousing process
What just happened?
Implementing the book warehousing BPEL
Time for action – developing the book warehousing process
What just happened?
Deploying and testing the book warehousing BPEL process
Understanding sequential invocation
A closer look at <invoke>
Understanding partner links
Partner link types
Defining partner links
Parallel service invocation
Time for action – developing parallel flows
What just happened?
Deploying and testing the parallel invocation
Understanding a parallel flow
Pop quiz – service invocation
Summary
3. Variables, Data Manipulation, and Expressions
Variables in BPEL
Declaring variables
Variable types
Variables in BookWarehousingBPEL
Time for action – review of existing variables
What just happened?
Declaring XML type variables
Time for action – creating XML type variables
Have a go hero – create the LowestQuantity variable
What just happened?
Declaring XML element variables
Time for action – creating XML element variables
What just happened?
Declaring a WSDL message type variable
Time for action – creating a message type variable
What just happened?
Data manipulation and assignments
Time for action – copying variables
What just happened?
Expressions
Copying variable parts
Time for action – copying variable parts
What just happened?
Other options for copying data
Optional attributes
Manipulating data for external partner links
Time for action – creating the AnotherBookstoreBPEL process
Have a go hero – implementing the AnotherBookstoreBPEL process
What just happened?
Time for action – extending the BookWarehousing process
What just happened?
Have a go hero – implementing the rest of the BookWarehousing process
Validating variables
Time for action – validating variables
What just happened?
The XSLT transformations
Time for action – using XSLT transformations
What just happened?
Have a go hero – deploy and test the process
Pop quiz: variables and data manipulation
Summary
4. Conditions and Loops
Conditions
Time for action – selecting the bookstore with the lowest quantity
What just happened?
VintageBookstore
Time for action – implementing VintageBookstore
Have a go hero – implementing VintageBookstoreBPEL process
What just happened?
Time for action – selecting VintageBookstore
What just happened?
Have a go hero – implementing vintage branch
Loops
While
Repeat until
For each
Parallel for each
Arrays
Adding loops to our example
Time for action – adding the BookOrderManagement process
What just happened?
The while loop
Time for action – adding the <while> loop
What just happened?
Have a go hero – testing the process
The repeat until loop
Have a go hero – using <repeatUntil> instead of <while>
The forEach loop
Time for action – the <forEach> loop
What just happened?
Have a go hero – test the process
Executing <forEach> in parallel
Time for action – executing <forEach> in parallel
What just happened?
Delays
Deadline and duration expressions
Adding delay to our book order management process
Time for action – adding <wait>
What just happened?
Have a go hero – test the process
Ending a process
Empty activities
Pop quiz – conditions and loops
Summary
5. Interaction Patterns in BPEL
Understanding asynchronous invocations
The book warehousing process
Time for action – implementing an asynchronous invocation
Creating an empty WS BPEL 2.0 process
Defining the partner link with myRole and partnerRole
Defining the invoke activity
Defining the receive activity
What just happened?
Understanding asynchronous service invocations
Callbacks
Setting up a callback
Mapping response messages from asynchronous invocations
Message correlation – why, when, and how is it essential?
Setting up a correlation set
Understanding the correlation set
WSDL message property
Property alias
Using a correlation for an asynchronous web service invocation
Initializing a correlation at <invoke>
Referring the initialized correlation at <receive>
Time for action – creating an asynchronous BPEL process
What just happened?
Using the <invoke> activity instead of <reply>
Have a go hero – an asynchronous BPEL process with asynchronous service invocations
Pop quiz
Summary
6. Fault Handling and Signaling
Introducing faults and fault handlers
Communication issues
Contract issues
Faults thrown from the external web service
Faults thrown from the business process
Introducing fault handlers
Preparing for action
Time for action – adding fault handlers
What just happened?
Modeling execution errors with WS-BPEL 2.0 standard faults
Modeling logical (explicit) errors with the <throw> activity
Modeling errors propagated from external web services
Understanding fault handlers and signaling
Structure of a fault handler
Location of a fault handler
The global fault handler
The local (inline) fault handler
Configuring a fault handler
BPEL runtime fault handler selection
Selecting a fault handler when the fault is not associated with data
Selecting a fault handler when the fault is associated with data
WSDL faults
WSDL fault specification
Handling faults
Defining fault handling logic within <catch> and <catchAll>
Propagating faults to parent scopes
In-line fault handling
Within a <scope> activity
Within an <invoke> activity
Time for action – signaling faults
What just happened?
Signaling faults within the BPEL process
Signaling faults to the synchronous clients
Signaling faults from the asynchronous process
Ending and terminating a BPEL process
Have a go hero – adding fault handlers to BPEL process
Pop quiz
Summary
7. Working with Scopes
Introducing scopes
Time for action – adding scopes
What just happened?
How to organize scopes
Using <scope> in place of <process>
Using <scope> in place of <sequence> or <flow>
What to consider when defining a scope
Encapsulating a logical unit of work
A unit of work that needs customized compensation or termination
Fault and termination handling within scopes
Time for action – the fault and termination handlers
What just happened?
Handlers
A fault handler
An event handler
A compensation handler
A termination handler
Isolated scopes
Have a go hero – restructuring a BPEL process into scopes
Pop quiz
Summary
8. Dynamic Parallel Invocations
Introducing dynamic parallel invocations
Creating the <forEach> activity
Time for action – adding a <forEach> activity
What just happened?
Time for action – configuring the <invoke> activity within a <forEach> activity
What just happened?
Initializing the input variable
Time for action – initializing the input variable within a <forEach> activity
What just happened?
Initializing a dynamic partner link
Time for action – initializing a dynamic partner link
What just happened?
Constructing the response variable of the BPEL process
Time for action – appending multiple values to a variable
What just happened?
Understanding the <forEach> loop
Required elements and attributes of a <forEach> activity
Declaring the invocation logic of a <forEach> activity
Configuring a parallel <forEach> activity
Declaring a customized completion condition in a <forEach> activity
Understanding the parallel <forEach>
What happens when starting the <forEach> activity
What happens when the completion condition is met
Understanding the difference between <flow> and parallel <forEach>
Lack of synchronization dependencies
Repeating the same activity rather than different activities
Pop quiz
Summary
9. Human Tasks
Understanding human tasks
Preparing an asynchronous example
Have a go hero – converting BookWarehousingBPEL to an asynchronous process
Adding a human task to the BookWarehousingBPEL process
Creating a human task definition
Time for action – creating a human task definition
What just happened?
Configuring human tasks
Time for action – configuring the human task title
What just happened?
Time for action – specifying a human task payload
What just happened?
Time for action – assigning a human task
What just happened?
Time for action – configuring human task deadlines
What just happened?
Time for action – configuring human task notifications
What just happened?
Invoking a human task from the BPEL process
Time for action – invoking a human task from the BPEL process
What just happened?
Configuring human task case branches
Time for action – configuring human task case branches
What just happened?
Creating human task forms
Time for action – creating human task forms
What just happened?
Deploying and testing human tasks
Time for action – deploying the human task
Time for action – testing the human task
Worklist application
Completing the task
Pop quiz – human tasks
Summary
10. Events and Event Handlers
Understanding events
Types of events
Business events
Message events
Alarm events
Developing an event-driven BPEL process
Declaring a business event
Time for action – declaring a business event
What just happened?
Developing a book shelving BPEL process
Time for action – developing an event-driven book shelving BPEL process
What just happened?
Have a go hero – implementing the BookShelvingBPEL process
Triggering a business event from a BPEL process
Time for action – triggering BookshelfEvent from the book warehousing BPEL process
What just happened?
Adding an event handler to the Book Warehousing BPEL process
Adding an alarm event handler
Time for action – adding an event handler to the BPEL process
What just happened?
Specifying alarm event activities
Time for action – adding onEvent to the callback interface
What just happened?
Time for action – specifying alarm event handler activities
What just happened?
Adding a message event handler
Time for action – adding a message handler to the BPEL process
What just happened?
Declaring a cancel operation on the BPEL interface
Time for action – declaring the cancel operation on the BPEL process interface
What just happened?
Specifying message event activities
Time for action – specifying message event activities
What just happened?
Deploying and testing event handlers
Asynchronous invocations and events
Implementing the WarehousingConfirmation service
Have a go hero – implementing WarehousingConfirmation
Invoking the WarehousingConfirmation service
Time for action – invoking the WarehousingConfirmation service
What just happened?
Waiting for callback
Time for action – waiting for callback
What just happened?
Waiting for onFault and onEvent callbacks
Time for action – waiting for onFault and onEvent callbacks
What just happened?
Adding an alarm event for callback
Time for action – adding an alarm event for callback
What just happened?
Have a go hero – deploying and testing the example
Pop quiz: events and event handlers
Summary
11. Compensations
Introducing compensation in business processes
Defining the compensation logic for a <scope> activity with <compensationHandler>
Time for action – adding compensation handlers
What just happened?
Understanding the long-running processes
Understanding the concept of compensation
The difference between fault handling and compensation
Time for action – triggering a fault within the BPEL process
What just happened?
Initiating a compensation for scopes within a BPEL process
Time for action – triggering compensation for the BPEL process
What just happened?
Implementing compensation handlers
Triggering compensation handlers
The execution of multiple compensation handlers
The default compensation handler
Have a go hero – compensating specific scopes
Pop quiz
Summary
A. Pop Quiz Answers
Chapter 1, Hello BPEL
Pop quiz – BPEL basics
Chapter 2, Service Invocation
Pop quiz – service invocation
Chapter 3, Variables, Data Manipulation, and Expressions
Pop quiz – variables and data manipulation
Chapter 4, Conditions and Loops
Pop quiz – conditions and loops
Chapter 5, Interaction Patterns in BPEL
Pop quiz – labels
Chapter 6, Fault Handling and Signaling
Pop quiz
Chapter 7, Working with Scopes
Pop quiz – playing audio
Chapter 8, Dynamic Parallel Invocations
Pop quiz
Chapter 9, Human Tasks
Pop quiz – human tasks
Chapter 10, Events and Event Handlers
Pop quiz – events and event handlers
Chapter 11, Compensations
Pop quiz
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜