You are previewing SOA Patterns with BizTalk Server 2009.
O'Reilly logo
SOA Patterns with BizTalk Server 2009

Book Description

Implement SOA strategies for BizTalk Server solutions

  • Discusses core principles of SOA and shows them applied to BizTalk solutions

  • The most thorough examination of BizTalk and WCF integration in any available book

  • Leading insight into the new WCF SQL Server Adapter, UDDI Services version 3, and ESB Guidance 2.0

  • Loaded with examples, demo code, and screenshots, which explain how to design schemas, build WSDL-first endpoints, build loosely coupled orchestrations and, much more

In Detail

SOA is about architecture, not products and SOA enables you to create better business processes faster than ever. While BizTalk Server 2009 is a powerful tool, by itself it cannot deliver long-lasting, agile solutions unless we actively apply tried and tested service-oriented principles.

The current BizTalk Server books are all for the 2006 version and none of them specifically looks at how to map service-oriented principles and patterns to the BizTalk product. That's where this book fits in. In this book, we specifically investigate how to design and build service-oriented solutions using BizTalk Server 2009 as the host platform.

This book extends your existing BizTalk knowledge to apply service-oriented thinking to classic BizTalk scenarios. We look at how to build the most reusable, flexible, and loosely-coupled solutions possible in the BizTalk environment. Along the way, we dive deeply into BizTalk Server's integration with Windows Communication Foundation, and see how to take advantage of the latest updates to the Microsoft platform. Chock full of dozens of demonstrations, this book walks through design considerations, development options, and strategies for maintaining production solutions.

Table of Contents

  1. SOA Patterns with BizTalk Server 2009
  2. Credits
  3. About the author
  4. About the reviewers
  5. Preface
    1. What this book covers
    2. Who this book is for
    3. Conventions
    4. Reader feedback
    5. Customer support
      1. Downloading the example code for the book
      2. Errata
      3. Piracy
      4. Questions
  6. 1. Building BizTalk Server 2009 Applications
    1. What is BizTalk Server?
    2. BizTalk architecture
    3. Setting up new BizTalk projects
    4. What are BizTalk schemas?
      1. Schema creation and characteristics
      2. Property schemas
    5. What are BizTalk maps?
    6. Configuring BizTalk messaging
    7. Working with BizTalk orchestration
    8. Summary
  7. 2. Windows Communication Foundation Primer
    1. What is WCF?
    2. Defining the contract
      1. Service contracts
      2. Data contracts
    3. Implementing contracts in services
      1. Throwing custom service faults
    4. Choosing an endpoint address
    5. The role of service bindings
    6. Hosting services
    7. Consuming WCF services
      1. Non-WCF clients
      2. WCF clients
    8. Summary
  8. 3. Using WCF Services in BizTalk Server 2009
    1. Relationship between BizTalk and WCF
      1. BizTalk WCF adapter
    2. Exposing WCF services from orchestrations
      1. Setting up the project
      2. Generating the WCF endpoint
      3. Configuring the Generated Components
      4. Anatomy of a generated WCF WSDL
    3. Exposing WCF services from schemas
    4. Consuming WCF services from orchestrations
    5. Consuming WCF services without orchestration
    6. Summary
  9. 4. Planning Service-Oriented BizTalk Solutions
    1. The core principles of a service-oriented architecture
      1. Loosely coupled
        1. How does this apply to BizTalk Server solutions?
      2. Abstraction
        1. How does this apply to BizTalk Server solutions?
      3. Interoperable
        1. How does this apply to BizTalk Server solutions?
      4. Reusable
        1. How does this apply to BizTalk Server solutions?
    2. Identifying Standard Message Exchange Patterns
      1. Request/Response services
      2. One-way services
      3. Request/Callback services
      4. Publish/Subscribe services
    3. Types of services
      1. RPC services
      2. Document services
      3. Event services
    4. Summary
  10. 5. Schema and Endpoint Patterns
    1. Service-oriented schema patterns
      1. Designing schemas based on service type
      2. Canonical schemas
      3. Building and applying reusable schema components
      4. Node data type conversion for service clients
      5. Node feature mapping for service clients
        1. Element grouping
        2. Element properties
        3. Element restrictions
      6. Exploiting generic schemas
    2. Service-oriented endpoint patterns
      1. Building reusable receive ports
      2. Constructing a contract-first endpoint
    3. Summary
  11. 6. Asynchronous Communication Patterns
    1. Why asynchronous communication matters
    2. Using asynchronous services in WCF
      1. Creating the synchronous service
      2. Building a client-side asynchronous experience
      3. Working with server-side asynchronous services
    3. Using asynchronous services in BizTalk with WCF
      1. Consuming asynchronous services
      2. Exposing asynchronous services
    4. Getting results from asynchronous invocations
      1. Building WCF services that support client callbacks
      2. BizTalk support for client callbacks
    5. Using queues within asynchronous scenarios
    6. Summary
  12. 7. Orchestration Patterns
    1. Why orchestration?
    2. What is MessageBox direct binding?
    3. Using dynamic service ports
      1. Defining the service
      2. Configuring IIS/WAS to host the service
      3. Building the BizTalk solution
      4. Configuring the BizTalk solution
    4. Supporting dual initiating message exchange patterns
      1. Building the BizTalk solution
      2. Configuring the BizTalk solution
    5. Chaining orchestrations using business rules
      1. Building the BizTalk solution
    6. The role of transactions in aggregated services
      1. Defining the service
      2. Building the BizTalk solution
    7. Building a Complex Event Processing solution
      1. Building the BizTalk solution
      2. Constructing the event schemas
      3. Building Pattern Matching Orchestrations
      4. Constructing the complex event orchestration
    8. Summary
  13. 8. Versioning Patterns
    1. Why versioning?
    2. What service aspects may undergo changes?
    3. How to version schemas
    4. How to version endpoints
      1. Creating endpoints for custom WSDLs
    5. Versioning long-running orchestrations
    6. Techniques for delaying change
      1. Flexible fields
      2. Generic on-ramps
    7. Summary
  14. 9. New SOA Capabilities in BizTalk Server 2009: WCF SQL Server Adapter
    1. What is the WCF SQL Adapter?
      1. Solution set up
    2. Executing composite transactions
    3. Polling for data
    4. Using SQL Server Query notification
    5. Consuming the adapter from outside BizTalk Server
      1. Called directly via WCF service reference
      2. Auto-generated IIS-hosted service
      3. Custom built proxy IIS-hosted service
    6. Summary
  15. 10. New SOA Capabilities in BizTalk Server 2009: UDDI Services
    1. What is UDDI?
      1. How to add services to the UDDI registry
      2. Dynamic endpoint resolution via UDDI
    2. Building subscription alerts for service changes
    3. Summary
  16. 11. New SOA Capabilities in BizTalk Server 2009: ESB Guidance 2.0
    1. What is ESB Guidance?
    2. Available services
      1. Transformation Services
      2. Resolver Services
      3. Exception Services
      4. Itinerary Services
      5. Building a basic routing scenario
      6. Building a routing scenario with transformation
      7. Building a scenario with chained operations and orchestration
    3. Summary
  17. 12. What's Next
    1. "Dublin"
      1. What problem does it solve?
    2. .NET Services
      1. What problem does it solve?
    3. "Oslo"
      1. What problem does it solve?
    4. Future of BizTalk Server
    5. Summary