SOA Cookbook

SOA Cookbook
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 30%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Lessons include how to model orchestration, how to build dynamic processes, how to manage state in a long-running process, and numerous others
  • BPEL tools discussed include BPEL simulator, BPEL compiler, and BPEL complexity analyzer
  • Examples in BPEL, TIBCO's BusinessWorks, BEA's Weblogic Integration

Book Details

Language : English
Paperback : 268 pages [ 235mm x 191mm ]
Release Date : September 2008
ISBN : 1847195482
ISBN 13 : 9781847195487
Author(s) : Michael Havey
Topics and Technologies : All Books, Enterprise Products and Platforms, Oracle Fusion Middleware, Enterprise, Oracle, SOA

Table of Contents

Chapter 1: SOA Survival Guide
Chapter 2: Drawing SOA Architecture
Chapter 3: Separating BPM and SOA Processes
Chapter 4: Modeling Orchestration and Choreography
Chapter 5: Short and Long-Running Processes
Chapter 6: Flat Form
Chapter 7: Dynamic Processes and the Change Problem
Chapter 8: Simulating SOA
Chapter 9: Measuring SOA Complexity
  • Chapter 2: Drawing SOA Architecture
    • The 4+1 Structure of an SOA Architecture Document
    • Using ARIS Methodology to Organize the Logical View
    • Example—Competitive Enrollment
    • Data and Service Interfaces for Retailer Enrollment
    • BPMN Processes for Retailer Enrollment
      • Enrollment Process
      • Drop Process
      • Switch Process
      • ESB Processes
      • Traceability to Functional Requirements
      • Summary of BPMN Processes
    • Service Composition of Retailer Enrollment Using SCA
    • On Modeling Tools
    • Summary
  • Chapter 3: Separating BPM and SOA Processes
    • The Model Stack
      • A Reference Architecture
      • Vendor Offerings
      • Where Does BPEL Fit?
    • Design Tips on Separating BPM and SOA
    • Example—Process for Handling Credit Card Disputes
    • Disputes on the Model Stack
    • BPM-Oriented Disputes with TIBCO
      • Architecture
      • iProcess Business Processes
      • BusinessWorks Orchestration Processes
      • ActiveMatrix ESB Processes
    • SOA-Oriented Disputes with BEA
      • Architecture
      • Weblogic Integration Orchestration Process
    • About the Examples
    • Summary
  • Chapter 4: Modeling Orchestration and Choreography
    • Choreography versus Orchestration
    • Examples—Energy Enrollment, Email Bank Transfer
    • Modeling Choreography in BPMN
    • The Invisible Hub in BPEL
    • Choreography in WS-CDL with Pi4SOA
      • Defining Roles and Relationships
      • Building a Control Flow of Interactions
      • Generating a BPEL Role Process
    • Tips on Modeling Orchestration
      • Dependable Routing
    • About the Examples
    • Summary
  • Chapter 5: Short and Long-Running Processes
    • Process Duration—the Long and Short of It
      • Stateful and Stateless Processes in BEA's Weblogic Integration
    • How to Keep Long-Running State
      • State in Oracle's BPEL Process Manager
      • State in BEA's Weblogic Integration
      • Our Own State Model
    • Combining Short-Running Processes with State in TIBCO's BusinessWorks
      • Our Use Case—Sending Money by Email
      • The Router Process
      • The Request Process
      • The Transfer Process
      • The Cancellation Process
      • The Expiration Process
      • A Note on Implementation
    • Fast Short-Running BPEL
      • Uses of Short-Running Processes
      • Architecture for Short-Running Processes
      • Example of a Very Fast Process
      • Running the Very Fast Process on the Optimized Engine
      • Managing Inbound Events and Timeouts
      • Compiled Form
      • Compiled Code—What Not To Do
    • About the Examples
    • Summary
  • Chapter 6: Flat Form
    • Our Use Case: Credit Card Disputes
      • The Disputes Process as Requirements Flowchart
    • Disputes in BPEL—Naïve Form
      • Naïve BPEL
      • The Flatness of Naive Approach
    • Disputes in BPEL—Flat State Machine
      • Dispute State Diagram
      • State Diagram in BPEL
      • The Flatness of State Form
    • Disputes in BPEL: Flat Event Loop
      • The BPEL Event Loop
      • The Flatness of Event Form
    • Disputes in BPEL: Flat Control Flow
      • Arrow Surgery
      • Managing Flow in BPEL
      • The Flatness of Flow Form
    • Flat Concurrency
      • Long-Lived Concurrency
      • How Not to Design the Voting Process
      • The Flat Voting Process
    • Advantages and Disadvantages of Flat Form
    • About the Examples
    • Summary
  • Chapter 7: Dynamic Processes and the Change Problem
    • The Change Problem
      • A Risky Change
      • A Riskier Change
      • The "Change Region"
      • Poor Man's Change: Versioning
    • Process-Oriented Methods
      • Pre-Migration Intelligence Process
      • The Migration Process
      • Post-Migration Intelligence Process
      • Design Rationale
    • Rule-Oriented Methods
    • Goal-Oriented Methods
      • Processes as Role Activity Diagrams
      • Processes as Gantt Charts
    • About the Examples
    • Summary
  • Chapter 8: Simulating SOA
    • Simulation, and Why it Suits SOA
      • Poisson Processes
        • Poisson in Excel
      • Discrete Event Simulation
        • The Simulation Program
        • Tracing a Web Service Simulation Run
        • Discrete Simulation and the Real System: A Striking Contrast
      • Non-Poisson Processes
    • The Ideal SOA Simulator
    • BPEL Simulation Examples
      • Scenarios
      • Queues and Bursts in the Scenarios
    • Interpreting the Results of a Simulation
    • About the Examples
    • Summary
  • Chapter 9: Measuring SOA Complexity
    • Applying McCabe's Formula for BPEL and TIBCO BusinessWorks
      • Calculating McCabe Complexity
      • McCabe Complexity for BPEL
      • McCabe Complexity for TIBCO's BusinessWorks
    • A Better Formula for BPEL
    • About the Examples
    • Further Reading
    • Summary

Michael Havey

Michael Havey is an architect with thirteen years experience in integration, SOA, and BPM. A consultant in TIBCO's financial services practice, Michael previously worked as a consultant for IBM, BEA, Chordiant, and eLoyalty. Michael is the author of two books and several articles. Michael lives near Ottawa, Canada.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


- 1 submitted: last submission 03 Jan 2012

page 237 Graphics 02 Dec 08
The image in Chapter 9, under the heading 'McCabe Complexity for BPEL' is the wrong<br />one. The correct one can be found at<br />

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

SOA Cookbook +    Implementing Samba 4 =
50% Off
the second eBook
Price for both: $37.50

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Document a process-based SOA architecture using "enhanced 4+1", ARIS, SCA, UML, and BPMN
  • Learn by example how to separate BPM and SOA processes
  • Model choreography and orchestration in BPMN and BPEL
  • Divide a process that involves both manual and automated activities between BPM and SOA
  • Manage state in short- and long-running processes
  • Model processes intelligently using three variants of a structured "flat form" approach: event-based, state-based, and flow-based
  • Develop dynamic processes to manage the "change problem": problems that arise when you need to change the definition of a process that has live cases in production
  • Simulate SOA processes using concepts from discrete event simulation and the Poisson process
  • Measure the complexity of SOA processes

In Detail

SOA Cookbook covers process-oriented SOA. BPEL is the best-known language in this area, and this book presents numerous BPEL examples. It also studies proprietary vendor process languages such as TIBCO's BusinessWorks and BEA's Weblogic Integration. If you are building SOA processes in the field, chances are you are using one of the languages discussed in SOA Cookbook. The book assumes that the reader is comfortable with XML and web services.

Author Michael Havey works with SOA in the field for TIBCO (and previously for IBM, BEA, and Chordiant). SOA Cookbook is Michael's second book. Essential Business Process Modeling, his first book, was published in 2005.

Master SOA process architecture, modeling, and simulation in BPEL, TIBCO's BusinessWorks, and BEA's Weblogic Integration


As a cookbook, this book can be regarded as a set of gourmet recipes for SOA. Each of the eight chapters that follow the introductory chapter covers an important concept in process-based SOA and teaches techniques to build solutions based on the concept. Working examples are developed in BPEL, TIBCO's BusinessWorks and BEA's Weblogic Integration. 

Who this book is for

The book is intended for hands-on SOA architects, designers, and developers who want to learn techniques in process orchestration. Many of these readers use, or will soon start using, languages such as BPEL, TIBCO's BusinessWorks, or BEA's Weblogic Integration in their projects.

This intermediate-level book assumes that the reader is comfortable reading XML and knows the basic concepts of web services. The book presents several BPEL and BPMN examples, but it explains specific language constructs on the fly; the reader need not have background in these languages. 

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software