You are previewing SOA for the Business Developer: Concepts, BPEL, and SCA.
O'Reilly logo
SOA for the Business Developer: Concepts, BPEL, and SCA

Book Description

Service-Oriented Architecture (SOA) is a way of organizing software. If your company’s development projects adhere to the principles of SOA, the outcome will be an inventory of modular units called "services," which allow for a quick response to change.



This book tells the SOA story in a simple, straightforward manner that will help you understand not only the buzzwords and benefits, but also the technologies that underlie SOA: XML, WSDL, SOAP, XPath, BPEL, SCA, and SDO. And through it all, the authors provide business examples and illustrations, giving a practical meaning to abstract ideas.



SOA for the Business Developer



• Gives a detailed overview of Extensible Markup Language (XML), including namespaces and XML schema.



• Describes Web Services Definition Language (WSDL) and SOAP, the standard SOA technologies.



• Gives a clear tutorial on XML Path Language (XPath), a language for deriving data from transmitted messages and other sources. XPath is useful for working with a variety of other technologies, including several described in this book.



• Gives comprehensive details on BPEL 2.0, a language that coordinates services and whose preceding version is already in numerous products. Our coverage is sufficient for most of your work with BPEL and includes a quick-reference guide.



• Introduces Service Component Architecture (SCA), a proposed standard for composing and deploying applications. You’re sure to hear more of SCA, which is sponsored by 18 companies, including IBM, Oracle, and Sun Microsystems.



• Introduces Service Data Objects (SDO), a proposed standard for representing data in a single way, even if the data comes from different types of data sources. SDO is likely to accompany SCA into the limelight.

Table of Contents

  1. Copyright
    1. Dedication
  2. Praise for SOA for the Business Developer
  3. Acknowledgements
  4. Preface
    1. Clarity and Imagination
    2. A Note to the General Reader
    3. Technologies
  5. Introduction
    1. Open Standards
    2. Structure of a Service-Oriented Application
    3. Web and Binary-Exchange Services
    4. Business Implications
      1. Criteria for SOA Implementation
      2. Migration of Existing Applications
      3. Reasons to Reject Web Services
    5. Presentation Services
    6. SOA Runtime Products
  6. Services
    1. Loose Coupling
    2. Service Registry
    3. Service Level Agreements
    4. Message Exchange Patterns
      1. Synchronous and Asynchronous Communication
      2. Callbacks
    5. Quality of Service
      1. Reliability Guarantees
      2. Security Mechanisms
      3. Service Coordination
      4. Runtime Update of Message Content or Destination
    6. Endpoints, State, and Correlation
  7. Highlight Insurance
    1. Introducing the Company
    2. Analyzing a Business Process
    3. Describing the Sales Process at Highlight
    4. Identifying Problems with the Current Process
    5. Communicating the Assumptions in Writing
    6. Isolating Services
    7. Creating the Quote Application
    8. Creating the Policy Application
  8. XML
    1. Introduction to XML
    2. XML As Used in SOA
    3. Structure of an XML Document
    4. Namespaces
      1. Purpose of Namespaces
      2. Namespace Identifiers
      3. Namespace Qualification and Declarations
      4. Namespace Rules
      5. Namespace Example and Terminology
    5. XML Schema
      1. Data Type
      2. Purpose of an XML Schema
      3. Structure of an XML Schema
      4. Schemas and Namespaces
    6. Data-type Reuse
    7. Instance Document
  9. Established SOA Standards
    1. WSDL
      1. Service-Interface Details
      2. Additional Access Details
    2. SOAP
      1. SOAP Format
      2. Example
      3. SOAP at Run Time
    3. UDDI
  10. Introduction to XPath
    1. Nodes
    2. Avoiding Errors
    3. Context
    4. Examples
    5. Parts of a Location Step
      1. Axis Specifications
      2. Node Tests
    6. *
    7. comment( )
    8. text( )
    9. node( )
    10. processing-instruction( )
    11. Predicates
    12. Abbreviations
      1. Examples with Descendants and Siblings
      2. Examples with a Reverse Axis
      3. Location Steps in Summary
    13. Other Aspects of XPath 1.0
      1. Expressions
      2. Numeric and Boolean Operators
      3. Functions
    14. Returns a Boolean
    15. Returns a String
    16. Returns a Number
  11. Introduction to BPEL
    1. Use of WSDL
      1. PartnerLinkType
      2. Properties and Property Aliases
    2. BPEL File Structure
    3. Activities in Brief
    4. Scopes
    5. Message Exchanges
    6. Variables
    7. Variables and XPath
    8. Partner Links
    9. Correlation Sets
      1. Initiation Attributes
      2. Effect of Correlation Errors
    10. Fault Handling
      1. Selection at Run Time
      2. The Inner Life of a Fault Handler
      3. Exiting in Response to a Fault
    11. Compensation Handling
    12. Termination Handling
    13. Introduction to Concurrency
    14. Advanced Concurrency
      1. Transition Conditions
      2. Join Condition
  12. BPEL Activity Highlights
    1. Start Activities
    2. assign Activity
      1. Literals
      2. Types and Namespaces
      3. Use of an Expression As the Target
      4. Use of Partner Links
      5. Attributes of Each Copy Element
    3. fromParts and toParts
    4. invoke Activity
    5. receive Activity
    6. reply Activity
    7. forEach Activity
    8. Other Loops
      1. while Activity
      2. repeatUntil Activity
    9. pick Activity
      1. onMessage Event
      2. onAlarm Event
    10. wait Activity
    11. Event Handlers
      1. onEvent Handler
      2. onAlarm Handler
    12. Message Exchanges, Revisited
    13. doXSLTransform
      1. Single Transformation
      2. Iterative Construction
        1. Outline of the BPEL Process
        2. Effect of the BPEL Process
  13. Introduction to SCA
    1. Project Phases
      1. Development
      2. Assembly
      3. Deployment
    2. A Different Perspective
      1. Service
      2. Implementation
    3. SCA Domain
    4. SCA Bindings and the Enterprise Service Bus
    5. Policies and Support for Conversations
    6. Components
      1. Defining Services in Implementation Code
      2. Mapping of Properties to Implementation Code
      3. Mapping of References to Implementation Code
      4. Component Types
    7. Composites
      1. Introduction to Composite Service
      2. Introduction to Composite Property
      3. Introduction to Composite Reference
      4. Wires
    8. Higher- and Lower-Level Composites
      1. Composite Services, Revisited
      2. Composite Properties, Revisited
      3. Composite References, Revisited
    9. Composite Inclusion
    10. Constraining Type
  14. Introduction to SDO
    1. Data Graph
      1. Relationship to the Data in a Data Source
      2. Change-Tracking
      3. Inverse Integrity
      4. Terminology
    2. Object Definition
      1. Static Definition
      2. Dynamic Definition and Access
    3. SDO Annotations
    4. Data Access Service
    5. SDO Code Details
      1. Helper Interfaces
      2. Example Code
      3. Type Definition of an Insurance Quote
      4. Static Definition
      5. Dynamic Definition
      6. Advanced SDO Capabilities in Java
  15. Guide to a Subset of the Proposed SOA Standards (WS-*)
    1. WS-Addressing
    2. WS-Policy
    3. WS-ReliableMessaging
    4. WS-Security, WS-Trust, and Others
    5. WS-MetadataExchange
    6. WS-AtomicTransaction
    7. WS-BusinessActivity
    8. WS-Coordination
    9. WS-Unified Management (WS-UM)
      1. Web Services Distributed Management (WSDM)
      2. WS-Management
    10. WS-EventNotification
      1. WS-Notification
      2. WS-Eventing
    11. Web Services Resource Transfer (WS-RT)
    12. WS-ResourceFramework
    13. WS-Enumeration
    14. Web Services for Remote Portlets
    15. WS-Agreement
  16. Setup for XPath Practice
  17. Reference Guide to BPEL 2.0
    1. Durations and Deadlines
    2. Basic Activities
      1. assign
      2. compensate
      3. compensateScope
      4. empty
      5. exit
      6. extensionActivity
      7. invoke
      8. receive
      9. reply
      10. rethrow
      11. throw
      12. validate
      13. wait
    3. Structured Activities
      1. flow
      2. forEach
      3. if
      4. pick
      5. repeatUntil
      6. scope
      7. sequence
      8. while
    4. Functions
      1. doXSLTransform
      2. getVariableProperty
    5. Additional Constructs in the BPEL Process
      1. Compensation Handlers
      2. Correlation Sets
    6. Event Handlers
      1. Fault Handlers
      2. Imports
      3. Message Exchanges
      4. Partner Links
      5. Process
      6. Termination Handlers
      7. Variables
    7. BPEL Extensions to WSDL
      1. Partner Link Types
      2. Property
      3. Property Alias