O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Pro BizTalk 2006

Book Description

Pro BizTalk 2006 is a high-end resource that is based on real feedback from BizTalk developers. Authors George Dunphy and Ahmed Metwally are well known within the BizTalk community, and here they cover topics not discussed in other books, like performance tuning, scalability, and administration. This book also features examples of specific, real-world implementations.

Table of Contents

  1. Copyright
  2. Foreword
  3. About the Authors
    1. With contributions from the following:
  4. About the Technical Reviewers
  5. Acknowledgments
  6. Introduction
    1. A Tale of Two Products
    2. The Platform Today
  7. 1. Readme.1st
    1. 1. BizTalk in the Enterprise
      1. 1.1. What Is in the Toolkit
        1. 1.1.1. Common Enterprise Usage
      2. 1.2. New BizTalk Solution Checklist
        1. 1.2.1. What Are the Teams' Current Core Skill Sets? What Skill Sets Will the Team Need to Attain?
        2. 1.2.2. What Are the Project Timelines? Will the Team Be Using BizTalk Exclusively to Decrease Development Time?
        3. 1.2.3. Is There Enough in the Budget to Implement BizTalk?
        4. 1.2.4. How Many Servers Are Required to Implement a BizTalk Solution?
        5. 1.2.5. How Much Custom Code Are You and Your Team Willing to Create? Would You Rather Use Completely Out-of-the-Box Functionality?
        6. 1.2.6. Is BizTalk Suited for the Application in Question?
        7. 1.2.7. Will Every Transaction in the System Need Monitoring? Will the Tracked Data Need Saving for Archiving Purposes?
  8. 2. Starting a New BizTalk Project
    1. 2.1. Starting Preliminary Design
      1. 2.1.1. Possible Solution:
      2. 2.1.2. Feature 1: External Interfaces
      3. 2.1.3. Feature 2: Check Stock and Associated Rules
      4. 2.1.4. Feature 3: Update Downstream Systems
    2. 2.2. Creating Your Development Environment
      1. 2.2.1. Isolated Development Configuration
      2. 2.2.2. Using Virtual Machines
      3. 2.2.3. Organizing Visual SourceSafe Source Control
    3. 2.3. Structuring and Integrating with Visual Studio
      1. 2.3.1. Single Visual Studio Solution
      2. 2.3.2. Multiple Visual Studio Solutions
      3. 2.3.3. Developer-Independent Solutions
    4. 2.4. Organizing Artifacts in BizTalk 2006
      1. 2.4.1. BizTalk Applications
      2. 2.4.2. Using BizTalk Explorer to Manage Applications
      3. 2.4.3. BizTalk's Administration Console
    5. 2.5. Creating a Build-and-Integration Environment
      1. 2.5.1. Five-Step Build Process
      2. 2.5.2. Using Test-Driven Development
      3. 2.5.3. Creating a BizTalk Installation Package
    6. 2.6. BizTalk Assembly Naming and Versioning
      1. 2.6.1. Side-by-Side Deployments
      2. 2.6.2. Side-by-Side Deployment Strategies
    7. 2.7. BizTalk Naming Conventions
      1. 2.7.1. BizTalk Artifact Namespaces
  9. 2. BizTalk Revealed
    1. 3. Thinking Inside the Box
      1. 3.1. Understanding the Message Bus
        1. 3.1.1. The Messagebox
        2. 3.1.2. Messaging Components
      2. 3.2. Using XML Namespaces
        1. 3.2.1. Understanding Property Promotions
        2. 3.2.2. Using Port Filters and Content-Based Routing
        3. 3.2.3. Using System Property Schemas
      3. 3.3. Tracking and Message Management
      4. 3.4. Handling Failed Messages and Errors
      5. 3.5. The BizTalk Management Database
  10. 4. Pipelining and Components
    1. 4.1. Getting Started with Pipeline Development
      1. 4.1.1. Pipeline Stages
      2. 4.1.2. Understanding Pipeline Execution
      3. 4.1.3. Understanding Interchanges
      4. 4.1.4. Overview of Recoverable Interchange Handling
      5. 4.1.5. Configuring Recoverable Interchanges
      6. 4.1.6. Using the Default Pipelines
      7. 4.1.7. Routing Binary Data
    2. 4.2. Using BizTalk Framework 2.0 Reliable Messaging
      1. 4.2.1. BizTalk Framework Assembler and Disassembler Pipeline Components
      2. 4.2.2. Working with BizTalk Framework Properties Within Orchestrations
      3. 4.2.3. Acknowledgement Verification
    3. 4.3. Custom Components
      1. 4.3.1. Component Categories
      2. 4.3.2. Component Interfaces
      3. 4.3.3. Key BizTalk API Objects
    4. 4.4. Writing Your First Pipeline Component
    5. 4.5. Creating More Complex Pipeline Components
      1. 4.5.1. Dynamically Promoting Properties and Manipulating the Message Context
      2. 4.5.2. Schema Selection in VS .NET Designer
      3. 4.5.3. Validating and Storing Properties in the Designer
      4. 4.5.4. Custom Disassemblers
  11. 5. Pipeline Component Best Practices and Examples
    1. 5.1. Creating New Documents
    2. 5.2. Using BizTalk Streams
      1. 5.2.1. VirtualStream
      2. 5.2.2. SeekableReadOnlyStream
      3. 5.2.3. XPathReader
    3. 5.3. Pipeline Component Examples
    4. 5.4. Dealing with Extremely Large Messages
      1. 5.4.1. Caveats and Gotchas
      2. 5.4.2. Large Message Decoding Component (Receive Side)
      3. 5.4.3. Large Message Encoding
    5. 5.5. Dealing with Compressed Files
      1. 5.5.1. Sending Simple Zipped Files
      2. 5.5.2. Sending Multiple Zipped Files
      3. 5.5.3. Receiving Zipped Files
    6. 5.6. Using PGP
      1. 5.6.1. PGP Encode Component
      2. 5.6.2. PGP Decode Component
    7. 5.7. The Databased Disassembler
  12. 6. BizTalk Design Patterns and Practices
    1. 6.1. Implementing Dynamic Parallel Orchestrations
      1. 6.1.1. Broker Implementation Overview
    2. 6.2. Handling Ordered Delivery
      1. 6.2.1. Building a Resequencer
    3. 6.3. Building a Resequencing Aggregator
      1. 6.3.1. Solution 1: Status Quo—Messages Received As Independent Interchanges
      2. 6.3.2. Solution 2: Not So Status Quo—Messages Received As a Batch
    4. 6.4. Editing and Resubmitting Suspended Messages
      1. 6.4.1. Strategy for Edit and Resubmit
      2. 6.4.2. Pulling Data from the Suspended Queue
      3. 6.4.3. Canonical Format
      4. 6.4.4. Clients for Editing the Message
      5. 6.4.5. Additional Workflow
      6. 6.4.6. Moving Correct Data Back into BizTalk
      7. 6.4.7. Sample Flows for Edit and Resubmit
      8. 6.4.8. Pseudo-Walkthrough to Perform Edits and Resubmits
    5. 6.5. Managing Exceptions in Orchestrations
      1. 6.5.1. The Exception Management Challenge
      2. 6.5.2. BizTalk Server 2006 Failed Message Routing As a Blueprint
      3. 6.5.3. Failed Orchestration Routing API for BizTalk 2006
      4. 6.5.4. Running the EAIProcess
      5. 6.5.5. Processing and Retrieving Messages and Exceptions from the Fault Message
      6. 6.5.6. Beyond the Next Horizon
  13. 7. What the Maestro Needs to Know: Advanced Orchestration Concepts
    1. 7.1. What an Orchestration Is
    2. 7.2. What the Orchestration Engine Provides
    3. 7.3. Do You Really Need an Orchestration?
    4. 7.4. Know Your Instruments (Shapes)
    5. 7.5. What Transactions Mean and Cost
      1. 7.5.1. Atomic Transactions
      2. 7.5.2. Long-Running Transactions
    6. 7.6. Threading and Persistence
      1. 7.6.1. Dehydration
      2. 7.6.2. The Dehydration Algorithm and Thresholds
      3. 7.6.3. The Cost of Parallel Shapes
    7. 7.7. Correlation
      1. 7.7.1. What Is Correlation?
      2. 7.7.2. Convoys: Serial vs. Parallel
    8. 7.8. Pitfalls of Orchestration Development
      1. 7.8.1. Batch Processing and Legacy Systems
      2. 7.8.2. Interactive Orchestrations (The Request/Response Approach)
      3. 7.8.3. Calling an Assembly or Sending a Message to a Web Service
      4. 7.8.4. Error Handling and Suspended Instances
      5. 7.8.5. Orchestration Engine Configuration
  14. 8. Playing By the Rules? Use the Business Rule Engine.
    1. 8.1. What Is a Business Rule Engine?
    2. 8.2. What Are Business Rules?
    3. 8.3. When to Use the BRE?
    4. 8.4. What Are the Artifacts That Constitute a Business Rule?
      1. 8.4.1. Facts and Vocabularies
      2. 8.4.2. Conditions
      3. 8.4.3. Actions
      4. 8.4.4. Rules and Priorities
    5. 8.5. The Business Rule Composer
      1. 8.5.1. Creating Vocabularies
      2. 8.5.2. Creating Rules
    6. 8.6. How Does the BRE Work?
    7. 8.7. Testing Business Rules
    8. 8.8. Going to Production
    9. 8.9. Executing Business Rules
      1. 8.9.1. Calling the Engine from Within an Orchestration
      2. 8.9.2. Referencing a .NET Class from a Policy That Is Being Called from an Orchestration
      3. 8.9.3. Returning a Value from the BRE to the Calling Orchestration
      4. 8.9.4. Calling the Engine from a .NET Application
      5. 8.9.5. Policy Chaining
  15. 3. You Mean You Aren't a Developer?
    1. 9. BizTalk Server 2006 Operations
      1. 9.1. Configuration and Management
        1. 9.1.1. Administration Tools
        2. 9.1.2. Application Concept
        3. 9.1.3. BizTalk Server Administration Console
      2. 9.2. Scalability and High Availability
        1. 9.2.1. Scalability
        2. 9.2.2. High Availability
      3. 9.3. Maintaining the BizTalk Group
        1. 9.3.1. SQL Agent Job Configuration
        2. 9.3.2. Backup Procedures
        3. 9.3.3. Restore Procedures
      4. 9.4. Disaster Recovery
        1. 9.4.1. How Does BizTalk Log Shipping Work?
        2. 9.4.2. Configuring the Destination System for Log Shipping
        3. 9.4.3. BizTalk Group Disaster Recovery Procedures
        4. 9.4.4. BizTalk Runtime Server Disaster Recovery Procedures
        5. 9.4.5. Restore Procedures for BAS Site and Database
        6. 9.4.6. Restore Procedures for BAM
        7. 9.4.7. Restore Procedures for the Base EDI Adapter
        8. 9.4.8. Other Disaster Recovery Tasks
        9. 9.4.9. Related Non-BizTalk Application Disaster Recovery Procedures
  16. 10. Deploying and Managing BizTalk Applications
    1. 10.1. BizTalk Applications
    2. 10.2. Important Deployment Artifacts
      1. 10.2.1. Binding Files
      2. 10.2.2. Processing Scripts
    3. 10.3. Deploying a BizTalk Solution
      1. 10.3.1. Steps in Deploying a BizTalk Application
      2. 10.3.2. MSI Export/Import/Install
      3. 10.3.3. Typical Deployment Cycle
    4. 10.4. Administrative Tools
      1. 10.4.1. BizTalk Administration Console
      2. 10.4.2. BTSTask
      3. 10.4.3. BTSDeploy
      4. 10.4.4. WMI
      5. 10.4.5. ExplorerOM
  17. 11. To Tune or Not to Tune? Nobody Should Ask That Question.
    1. 11.1. What You Should Do First
      1. 11.1.1. Gather Metrics on Expected Loads
      2. 11.1.2. Prepare the Proper Environment and Gather Performance Metrics
    2. 11.2. Where You Start
      1. 11.2.1. What to Keep in Mind When Tuning
      2. 11.2.2. What to Keep in Mind About Your Code
    3. 11.3. How to Tune Each Subsystem
      1. 11.3.1. ASP.NET, SOAP, and HTTP
      2. 11.3.2. CLR Tuning
      3. 11.3.3. File Tuning
      4. 11.3.4. Latency
      5. 11.3.5. Throttling
  18. Bibliography