
WS-BPEL 2.0 Beginner's Guide
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Who this book is for
More details
Other editions
Additional editions

Content
- Intro
- 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
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.