ebook img

Pro BizTalk 2006 PDF

505 Pages·2007·5.807 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Pro BizTalk 2006

Pro BizTalk 2006 George Dunphy and Ahmed Metwally Pro BizTalk 2006 Copyright © 2006 by George Dunphy,Ahmed Metwally All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-699-9 ISBN-10 (pbk): 1-59059-699-4 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Jonathan Gennick Technical Reviewer: Stephen Kaufman, David Stucki Editorial Board: Steve Anglin, Ewan Buckingham, Gary Cornell, Jason Gilmore, Jonathan Gennick, Jonathan Hassell, James Huddleston, Chris Mills, Matthew Moodie, Dominic Shakeshaft, Jim Sumser, Keir Thomas, Matt Wade Project Manager: Beth Christmas Copy Edit Manager: Nicole Flores CopyEditor:Ami Knox Assistant Production Director: Kari Brooks-Copony Senior Production Editor: Laura Cheu Compositor: Linda Weidemann, Wolf Creek Press Proofreader: April Eddy Indexer: John Collin Artist: Kinetic Publishing Services,LLC Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected],or visit http://www.springeronline.com. For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected],or visit http://www.apress.com. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. Sections in this book borrow from Microsoft documentation and white papers and are reprinted with permission from Microsoft Corporation. The source code for this book is available to readers at http://www.apress.comin the Source Code/ Download section. You will need to answer questions pertaining to this book in order to successfully download the code. For my wife and best friend,Keressa—the one who keeps me going; to my son,Ben—master of LEGO blocks and future hockey-playing, race-car-driving,rock star astronaut;to my parents,who taught me that you can do anything you want in life if you strive to be the best. —George Dunphy Dedicated to my family:my late grandmother,who taught and raised me; dad,my role model in Life and my good friend; mom,who always drove me hard to be one of the best; my wife and inspiration,Lamia,who supports and helps me every step of the way. —Ahmed Metwally To my beautiful wife,Ally,and daughters,Amanda and Anna, who bring so much joy to my life. —Rob Cameron Contents at a Glance Foreword ........................................................................xv About the Authors ................................................................xix About the Technical Reviewers.....................................................xxi Acknowledgments ..............................................................xxiii Introduction .....................................................................xxv PART 1 ■ ■ ■ Readme.1st ■CHAPTER 1 BizTalk in the Enterprise........................................3 ■CHAPTER 2 Starting a New BizTalk Project.................................21 PART 2 ■ ■ ■ BizTalk Revealed ■CHAPTER 3 Thinking Inside the Box........................................67 ■CHAPTER 4 Pipelining and Components...................................105 ■CHAPTER 5 Pipeline Component Best Practices and Examples.............145 ■CHAPTER 6 BizTalk Design Patterns and Practices ........................197 ■CHAPTER 7 What the Maestro Needs to Know: Advanced Orchestration Concepts.............................251 ■CHAPTER 8 Playing By the Rules? Use the Business Rule Engine...........283 PART 3 ■ ■ ■ You Mean You Aren’t a Developer? ■CHAPTER 9 BizTalk Server 2006 Operations...............................323 ■CHAPTER 10 Deploying and Managing BizTalk Applications.................377 ■CHAPTER 11 To Tune or Not to Tune? Nobody Should Ask That Question.....421 ■APPENDIX Bibliography..................................................457 ■INDEX .......................................................................459 v Contents Foreword ........................................................................xv About the Authors ................................................................xix About the Technical Reviewers.....................................................xxi Acknowledgments ..............................................................xxiii Introduction .....................................................................xxv PART 1 ■ ■ ■ Readme.1st ■CHAPTER 1 BizTalk in the Enterprise ....................................3 WhatIs in the Toolkit .............................................3 Common Enterprise Usage...................................10 New BizTalk Solution Checklist....................................10 What Are the Teams’ Current Core Skill Sets? What Skill Sets Will the Team Need to Attain? ...............10 What Are the Project Timelines? Will the Team Be Using BizTalk Exclusively to Decrease Development Time? .........12 Is There Enough in the Budget to Implement BizTalk?...........12 How Many Servers Are Required to Implement a BizTalk Solution? ........................................16 HowMuch Custom Code Are You and Your Team Willing to Create? Would You Rather Use Completely Out-of-the-Box Functionality? .............................18 Is BizTalk Suited for the Application in Question?...............18 Will Every Transaction in the System Need Monitoring? Will the Tracked Data Need Saving for Archiving Purposes?...19 ■CHAPTER 2 Starting a New BizTalk Project.............................21 Starting Preliminary Design.......................................23 Creating Your Development Environment...........................28 Isolated Development Configuration...........................28 Using Virtual Machines......................................29 Organizing Visual SourceSafe Source Control...................30 vii viii ■CONTENTS Structuring and Integrating with Visual Studio.......................31 Single Visual Studio Solution.................................33 Multiple Visual Studio Solutions ..............................34 Developer-Independent Solutions.............................36 Organizing Artifacts in BizTalk 2006 ...............................36 BizTalk Applications ........................................37 Using BizTalk Explorer to Manage Applications.................38 BizTalk’s Administration Console .............................39 Creating a Build-and-Integration Environment.......................40 Five-Step Build Process.....................................41 Using Test-Driven Development..............................45 Creating a BizTalk Installation Package........................46 BizTalk Assembly Naming and Versioning ..........................48 Side-by-Side Deployments...................................49 Side-by-Side Deployment Strategies..........................50 BizTalk Naming Conventions......................................57 BizTalk Artifact Namespaces.................................58 PART 2 ■ ■ ■ BizTalk Revealed ■CHAPTER 3 Thinking Inside the Box ....................................67 Understanding the Message Bus ..................................68 The Messagebox ...........................................68 Messaging Components.....................................69 Using XML Namespaces..........................................76 Understanding Property Promotions...........................76 Using Port Filters and Content-Based Routing..................79 Using System Property Schemas .............................86 Tracking and Message Management...............................91 Handling Failed Messages and Errors..............................92 The BizTalk Management Database................................95 ■CONTENTS ix ■CHAPTER 4 Pipelining and Components...............................105 Getting Started with Pipeline Development ........................107 Pipeline Stages............................................107 Understanding Pipeline Execution............................109 Understanding Interchanges ................................111 Overview of Recoverable Interchange Handling................112 Configuring Recoverable Interchanges .......................114 Using the Default Pipelines .................................115 Routing Binary Data........................................117 Using BizTalk Framework 2.0 Reliable Messaging..................118 BizTalk Framework Assembler and Disassembler Pipeline Components....................................119 Working with BizTalk Framework Properties Within Orchestrations....................................120 Acknowledgement Verification ..............................120 Custom Components............................................121 Component Categories.....................................122 Component Interfaces......................................123 Key BizTalk API Objects ....................................123 Writing Your First Pipeline Component ............................128 Creating More Complex Pipeline Components......................128 Dynamically Promoting Properties and Manipulating the Message Context .......................................129 Schema Selection in VS .NET Designer.......................132 Validating and Storing Properties in the Designer..............135 Custom Disassemblers.....................................139 ■CHAPTER 5 Pipeline Component Best Practices and Examples......145 Creating New Documents .......................................145 Using BizTalk Streams..........................................147 VirtualStream .............................................148 SeekableReadOnlyStream ..................................148 XPathReader..............................................148 Pipeline Component Examples...................................152 Dealing with Extremely Large Messages ..........................152 Caveats and Gotchas.......................................154 Large Message Decoding Component (Receive Side)...........155 Large Message Encoding Component (Send Side) .............161 x ■CONTENTS Dealing with Compressed Files...................................166 Sending Simple Zipped Files................................167 Sending Multiple Zipped Files...............................174 Receiving Zipped Files .....................................174 Using PGP.....................................................179 PGP Encode Component....................................180 PGP Decode Component....................................186 The Databased Disassembler....................................192 ■CHAPTER 6 BizTalk Design Patterns and Practices...................197 Implementing Dynamic Parallel Orchestrations.....................197 Broker Implementation Overview............................199 Handling Ordered Delivery.......................................204 Building a Resequencer ....................................204 Building a Resequencing Aggregator..............................211 Solution 1:Status Quo—Messages Received As Independent Interchanges ...............................212 Solution 2:Not So Status Quo—Messages Received As a Batch.............................................213 Editing and Resubmitting Suspended Messages....................214 Strategy for Edit and Resubmit..............................214 Pulling Data from the Suspended Queue......................214 Canonical Format..........................................215 Clients for Editing the Message..............................215 Additional Workflow........................................215 Moving Correct Data Back into BizTalk.......................215 Sample Flows for Edit and Resubmit.........................216 Pseudo-Walkthrough to Perform Edits and Resubmits..........218 Managing Exceptions in Orchestrations ...........................225 The Exception Management Challenge.......................228 BizTalk Server 2006 Failed Message Routing As a Blueprint ....231 Failed Orchestration Routing API for BizTalk 2006 .............233 Running the EAIProcess....................................240 Processing and Retrieving Messages and Exceptions from the Fault Message..................................243 Beyond the Next Horizon ...................................249 ■CONTENTS xi ■CHAPTER 7 What the Maestro Needs to Know: Advanced Orchestration Concepts........................251 What an Orchestration Is........................................251 What the Orchestration Engine Provides...........................252 Do You Really Need an Orchestration? ............................254 Know Your Instruments (Shapes).................................256 What Transactions Mean and Cost................................261 Atomic Transactions.......................................261 Long-Running Transactions.................................263 Threading and Persistence ......................................264 Dehydration...............................................264 The Dehydration Algorithm and Thresholds ...................266 The Cost of Parallel Shapes.................................267 Correlation ....................................................270 What Is Correlation? .......................................270 Convoys:Serial vs.Parallel .................................271 Pitfalls of Orchestration Development.............................272 Batch Processing and LegacySystems.......................272 Interactive Orchestrations (The Request/Response Approach) ...273 Calling an Assembly or Sending a Message to a Web Service ...273 Error Handling and Suspended Instances.....................274 Orchestration Engine Configuration ..........................275 ■CHAPTER 8 Playing By the Rules? Use the Business Rule Engine......................................283 What Is a Business Rule Engine?.................................283 What Are Business Rules?.......................................285 When to Use the BRE? ..........................................286 What Are the Artifacts That Constitute a Business Rule?.............287 Facts and Vocabularies.....................................288 Conditions................................................295 Actions...................................................295 Rules and Priorities........................................297 The Business Rule Composer....................................298 Creating Vocabularies......................................299 Creating Rules ............................................301 How Does the BRE Work? .......................................301 xii ■CONTENTS Testing Business Rules .........................................305 Going to Production.............................................309 Executing Business Rules .......................................312 Calling the Engine from Within an Orchestration...............313 Referencing a .NET Class from a Policy That Is Being Called from an Orchestration.............................314 Returning a Value from the BRE to the Calling Orchestration ....315 Calling the Engine from a .NET Application....................316 Policy Chaining............................................318 PART 3 ■ ■ ■ You Mean You Aren’t a Developer? ■CHAPTER 9 BizTalk Server 2006 Operations...........................323 Configuration and Management..................................324 Administration Tools.......................................324 Application Concept........................................327 BizTalk Server Administration Console .......................327 Scalability and High Availability ..................................331 Scalability ................................................332 High Availability...........................................334 Maintaining the BizTalk Group ...................................336 SQL Agent Job Configuration................................338 Backup Procedures........................................343 Restore Procedures........................................353 Disaster Recovery..............................................361 HowDoes BizTalk Log Shipping Work?.......................362 Configuring the Destination System for Log Shipping...........364 BizTalk Group Disaster Recovery Procedures..................368 BizTalk Runtime Server Disaster Recovery Procedures .........369 Restore Procedures for BAS Site and Database................371 Restore Procedures for BAM................................372 Restore Procedures for the Base EDI Adapter .................372 Other Disaster RecoveryTasks..............................373 Related Non-BizTalk Application Disaster Recovery Procedures....................................375

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.