Day 1
Overview
We get an overview of what BizTalk is, what components come in the box, and how BizTalk can be leveraged to assist companies with their Service-Oriented Architecture (SOA) strategies. We also cover how to configure the product for a development environment.
Messaging Architecture
We analyze in detail the publish/subscribe, store-and-forward, messaging architecture of BizTalk. The module introduces the key concepts of message and port, and we survey the major extensibility points of the BizTalk messaging frameworkAdapters, Pipelines and Maps. We see our first BizTalk demonstration and get our first look at the BizTalk Server Administration Console.
Schemas I Defining Message Structure
BizTalk is capable of processing any message, whether text-based or binary. However, the more we teach BizTalk about the structure of our messages, the more value-add the product offers us. This module introduces the basics of XML Schema and the role it plays in BizTalk message definition. We learn to create and validate schemas using the graphical BizTalk Schema Editor hosted within Visual Studio 2008. We learn to generate instances of schemas and to verify that those instances adhere to the schema specifications. Finally, we learn techniques for reusing schemas within other schemas.
Schemas II Message Routing
We can achieve simple message routing in BizTalk based on where (i.e., which Receive Port) the message comes from. However, the structure of the message must be understood by BizTalk if more interesting routing scenarios are to be achieved. In this module we discover the important relationship between message schema and higher levels of BizTalk message routing. First, we study the fundamental BizTalk concept of MessageType, and we learn how to use it to determine routing based on a messages type. Then we learn about Promoted Properties and use them to implement content-based routing.
Adapters I Protocol Adapters
We take a detailed look at the adapter as a key extensibility point of BizTalk. We discuss the various characteristics of an adapter, and we survey the out-of-the-box protocol adapters such as FILE, FTP, HTTP, POP3, SMTP, and MSMQ.
Day 2
Adapters II Database and Line of Business Adapters
This module continues our survey of the types of adapters that ship with BizTalk Server, including adapters designed to integrate with databases and those designed to integrate with Line of Business (LOB) applications. We focus in particular on how to work with the SQL adapter.
Pipelines I Pre-processing Inbound Messages
Pipelines may be the most misunderstood component in BizTalk. Understanding their importance and functionality is paramount to getting the most out of the product. This module introduces the general concept of pipelines and focuses on pipelines that execute in the Receive Location. We learn the various stages of a receive pipeline, and we learn to create custom receive pipelines using the graphical Visual Studio-hosted BizTalk Pipeline Editor. We discover how to configure receive pipelines to achieve powerful BizTalk capabilities such as splitting batches of incoming messages and converting flat-file documents into XML messages.
Pipelines II Post-processing Outbound Messages
This module continues the pipeline discussion by surveying the functionality available in Send Port pipelines, such as converting XML messages back into flat-file documents.
Maps I - Fundamentals
BizTalk Maps play a critical role in translating and/or transforming XML documents within BizTalk. This module introduces Maps, and we explore how they are created using the BizTalk Map Designera Visual Studio-hosted graphical editor for defining XSLT documents. We learn to create maps by visually dragging and dropping links between source and destination message elements. And we use Functoidsreusable extensibility points within a map - to manipulate the data as it is being transformed. Finally, we witness the important role that maps play in implementing best-practice normalization patterns in BizTalk, transforming disparate incoming message formats into a canonical form.
Maps II Advanced Concepts
We continue our discussion of maps by introducing more advanced concepts such as best practices for organizing large maps into pages, integrating legacy XSLT into maps, and achieving sophisticated looping and filtering of records during the execution of a Map. We learn how to create a custom Functoid that we can reuse across all of our Maps. At the end of this module, we have a complete understanding of the entire BizTalk messaging architecture, with a full appreciation for its flexibility and extensibility in handling a wide range of message-oriented integration scenarios.
Day 3
Orchestrations I Fundamentals
The BizTalk messaging architecture we have studied so far can only address a certain class of systems integration problem. In particular, integration scenarios that require sophisticated message exchange patterns also require more advanced state management than the BizTalk message engine alone can provide. This module introduces OrchestrationBizTalks answer to dealing with the special needs of long-running, stateful business processes. We cover the fundamentals of the Visual Studio-hosted BizTalk Orchestration Designer and use it to build integrated applications via a visual development model. We learn to develop, deploy, bind, enlist, and start an orchestration. Finally, we study the relationship between orchestration and the BizTalk messaging architecture made possible by subscription.
Orchestrations II Message Exchange Patterns
This module builds on the fundamentals introduced in the previous module. We take a deeper look at the special features Orchestrations offer with respect to state management as they pertain to the long-running business process. We introduce the notions of persistence and dehydration and correlation. We examine the relationship of correlation with subscription in the context of implementing complex message exchange patterns within orchestrations. We explore more advanced message exchange patterns (MEPs), known as convoys, demonstrating how easily BizTalk Orchestration tackles complicated business scenarios.
Orchestrations III Transactions
In this third Orchestrations module, we look at solving the difficult problem of adding transactional semantics to long-running business processes modeled in orchestration. We survey and compare two transaction models supported by OrchestrationAtomic and Compensatable.
Day 4
Debugging BizTalk Solutions
At this point in the course we have a strong grasp of the messaging and business process automation capabilities offered by BizTalks messaging and orchestration engines. In this module, we focus on best practices for debugging BizTalk solutions built on these powerful offerings. We learn how to find and fix BizTalk issues using such tools as the BizTalk Server Administration Console, the Health and Activity Tracking (HAT) tool, and the Orchestration Replay Debugger.
Web Services I Consuming Web Services with BizTalk
BizTalk boasts rich support for integration with Web Services. We explore the first half of that story by illustrating how to consume external web services from BizTalk, including both types of common .NET web servicesASMX and WCF. We illustrate best practices in designing orchestrations that consume web services as part of their long-running business processes. Finally we survey the new integration possibilities provided by the WCF adapters that ship with the latest version of BizTalk Server.
Web Services II Implementing Web Services with BizTalk
This module continues with the second half of BizTalks rich web services integration story. We study how to expose BizTalk messaging and/or orchestration solutions as either ASMX or WCF web services visible to external systems.
Day 5
Business Rules Engine
The Business Rules Engine provides incredible flexibility and agility to BizTalk solutions by allowing often-changing business rules (frequently the most volatile aspect of a business process) to be externalized for easy maintenance. This module starts with a high-level discussion of the forward-chaining inference algorithm used by the BizTalk rules engine. Next we discuss the BizTalk Rules Composer, a tool designed for creating, testing, and deploying rule sets known as Policies. We discover how easily the business rules within a Policy can be modified to achieve new behavior without redeploying or modifying the orchestrations or .NET code that consume them. Finally, we learn how it is possible to abstract away the technical details of their rule definitions with the notion of a business Vocabulary, effectively empowering non-technical people (such as business analysts) to directly maintain the business rules without further involvement from IT developers.
BAM
Business Activity Monitoring (BAM) is a powerful feature of BizTalk that allows organizations to gain deep insight into their business processes at runtime. In this module we find out how to configure BAM for a running BizTalk solution in order to extract and visualize key performance indicators (KPI) in real-time. We examine the end-to-end process required to configure BAM in BizTalkfrom the definition of a BAM Observational Model made up of Activities and Views, to the automatic construction of the OLAP cubes that hold the captured runtime data using the BAM Deployment utility (BM.EXE), to the mapping of the BizTalk solution onto the observational model using the BAM Tracking Profile Editor tool, to the final visualization of the captured runtime data in the BAM Portal Web Site.
BizTalk Deployment
Once a BizTalk solution has been fully developed, it must be deployed to other environments such as User Acceptance Testing (UAT) and ultimately Production. This module walks us through the process of creating an installable Windows MSI package on the BizTalk development server. The resulting package contains all aspects of the BizTalk solution and can be deployed to another BizTalk server.