Module 5: Routing BizTalk Messages
Mar 29, 2015
Module 5:Routing BizTalk
Messages
Overview
Lesson 1: Introduction to Message Routing
Lesson 2: Configuring Message Routing
Lesson 3: Monitoring Orchestrations and Messages
Lesson 1: Introduction to Message Routing
The Publish and Subscribe Architecture
What Is the MessageBox Database?
What Is Message Routing?
What Is a Port?
BizTalk Message Flow
What Is Property Promotion?
Demonstration: Promoting a Property
Receive Location
Messages received, processed, and published to the MessageBox database
Messages received, processed, and published to the MessageBox database
22
The Publish and Subscribe Architecture
A filter expression defines properties of messages in which each subscriber is interested.
A filter expression defines properties of messages in which each subscriber is interested.
11
Message properties are evaluated to determine which subscribers require a copy of the message
Message properties are evaluated to determine which subscribers require a copy of the message
33
XML or Flat File
A copy of the message is delivered to each subscriber
A copy of the message is delivered to each subscriber
44
ReceiveAdapterReceiveAdapter
ReceivePipelineReceivePipeline
XML
SubscribedSubscribed
Business Process
SubscribedSubscribedMessageDatabase
Send PortSend Port
Administration TasksAdministration Tasks
Adding a new MessageBox database
Disabling new message publication
Deleting a MessageBox from a BizTalk group
Adding a new MessageBox database
Disabling new message publication
Deleting a MessageBox from a BizTalk group
MessageBox DatabaseMessageBox Database
Stores subscription information
Delivers messages to subscribers
Stores the queues and state tables for eachBizTalk host
Stores messages and message properties
Stores subscription information
Delivers messages to subscribers
Stores the queues and state tables for eachBizTalk host
Stores messages and message properties
What Is the MessageBox Database?
Receive LocationReceive Location
ReceiveAdapterReceiveAdapter
Send Port CSend Port CReceivePipelineReceivePipeline
MessageBoxDatabase
What Is Message Routing?
Send Port BSend Port B
Send Port ASend Port A
PO Message
Message RoutingMessage Routing
Routes directly to a port
Based on a filter expression
Configured on the send port
Routes directly to a port
Based on a filter expression
Configured on the send port
Filter Expression Port
If CustomerName = Contoso A
If Price > 1000 B
If Qty > 500 and Price < 1000 C
Ports specify:Ports specify:
How messages are sent and received by BizTalk
The communication direction andcommunication pattern
The location where messages are received or sent
How messages are sent and received by BizTalk
The communication direction andcommunication pattern
The location where messages are received or sent
What Is a Port?
MessageBoxDatabase
Receive PortReceive Port Send PortSend Port
MapsMaps MapsMapsReceive LocationReceive Location
Receive LocationReceive Location
Receive LocationReceive Location
Receive Port Orchestration
XML EDI or Flat File
XML EDI or Flat File
BizTalk Message Flow
Send Port
SendAdapterSend
Adapter
SendPipelineSend
Pipeline
MessageBox
MappingMapping
TO: NWTraders (Flat file format)TO: NWTraders (Flat file format)
FROM: Fabrikam (XML format)
FROM: Fabrikam (XML format)
MappingMapping
FROM: Contoso (Flat file format)FROM: Contoso (Flat file format)
TO: Fabrikam (XML format)
TO: Fabrikam (XML format)
ReceiveLocation
ReceiveAdapterReceiveAdapter
ReceivePipelineReceivePipeline
Property promotionProperty promotion
Fields that you choose to promote within a message instanceMakes the data in the field accessible to BizTalk servicesQuick promotion automatically creates a property schema
Fields that you choose to promote within a message instanceMakes the data in the field accessible to BizTalk servicesQuick promotion automatically creates a property schema
What Is Property Promotion?
Demonstration: Promoting a Property
In this demonstration, you will see how to promote a schema property
Lesson 2: Configuring Message Routing
Steps for Enabling Message Routing
Configuring a Receive Port and Receive Location
Demonstration: Configuring a Receive Port and a File Receive Location
Creating and Configuring a Send Port
Configuring Send Port Filters
Using a Send Port Group
Enlisting and Starting a Send Port
Demonstration: Configuring a Send Port and Send Port Group
Steps:Steps:
Start and enable the newly created portsStart and enable the newly created ports55
Create and configure send port filtersCreate and configure send port filters44
Create send ports or send port groupsCreate send ports or send port groups33
Create receive port and receive locationCreate receive port and receive location22
Promote fields to be filteredPromote fields to be filtered11
Steps for Enabling Message Routing
Receive location properties:Receive location properties:
Receive handler (host)
Enabled or disabled
Start/stop receiving (date)
Operating window (time period)
Receive handler (host)
Enabled or disabled
Start/stop receiving (date)
Operating window (time period)
Configuring a Receive Port and Receive Location
Demonstration: Configuring a Receive Port and a File Receive Location
In this demonstration, you will see how to:
Create a receive port
Configure a receive port to use a BizTalk map
Create a receive location
Configure a receive location
Enable a receive location
Creating and Configuring a Send Port
Send port properties:Send port properties:
Send port name
Primary and secondary transport
Address (URI)
Retry count
Service window enabled/disabled
Send port name
Primary and secondary transport
Address (URI)
Retry count
Service window enabled/disabled
Configuring Send Port Filters
FilteringFiltering
Filter messages based on an expressionRoute to a send portExample: If the Amount is greater than or equal to $500, forward the message to a folder for approvalUse to subscribe to failed messages
Filter messages based on an expressionRoute to a send portExample: If the Amount is greater than or equal to $500, forward the message to a folder for approvalUse to subscribe to failed messages
Specify mapSpecify map
22
Create filter expressionCreate filter expression
11
Send Port GroupSend Port Group
Send port group:Send port group:
A named collection of send ports
Used to send the same message to multiple destinations
Can be used to route based on message content by using a filter expression
A named collection of send ports
Used to send the same message to multiple destinations
Can be used to route based on message content by using a filter expression
Using a Send Port Group
MessageMessage Send PortsSend Ports
Enlisting and Starting
Enlisting and Starting a Send Port
Receive LocationReceive Location
ReceiveAdapter
Send PortSend PortReceivePipeline
Send PortSend Port
UnEnlistedUnEnlisted
EnlistedEnlisted
Enlistment:Enlistment:
Port state determines if messages are to be routed
Use BizTalk Explorer or BizTalk Administrator Console to change state
Enlisting creates a subscription in the MessageBox database
Starting implies enlistment and begins the processing of messages
Port state determines if messages are to be routed
Use BizTalk Explorer or BizTalk Administrator Console to change state
Enlisting creates a subscription in the MessageBox database
Starting implies enlistment and begins the processing of messages
Port states:Port states:
Bound – no subscription (default)
Stopped – subscribed and not receiving messages
Started – subscribed and receiving messages
Bound – no subscription (default)
Stopped – subscribed and not receiving messages
Started – subscribed and receiving messages
MessageDatabase
Demonstration: Configuring a Send Port and a Send Port Group
In this demonstration, you will see how to:
Create a send port
Configure a send port
Create a send port filter
Create a send port group
Change the state of a send port
Lesson 3: Monitoring Orchestrations and Messages
What Is the BizTalk Group Hub Page?
Running a Query in the Group Hub
Identifying Events and Data that Can Be Tracked
Viewing and Tracking Message Activity
Demonstration: Tracking and Viewing Message Activity
Group HubGroup Hub
Configuration overviewWork in progress Suspended itemsGrouped suspended service instances
Configuration overviewWork in progress Suspended itemsGrouped suspended service instances
What Is the BizTalk Group Hub Page?
Running a Query in the Group Hub
Query resultsQuery results
View instance detailsShow message details View instance subscriptionsTerminate and suspend instances
View instance detailsShow message details View instance subscriptionsTerminate and suspend instances
Message Tracking
Track BusinessProcesses
BusinessAnalyst
OperationsSpecialist
Capabilities:Capabilities:
View processing steps and history
Retrieve by data or system properties
Monitor and track in real time
Track archived data
Limit access by using permissions
Modify tracking propertieswithout redeployment
Debug orchestrations
View processing steps and history
Retrieve by data or system properties
Monitor and track in real time
Track archived data
Limit access by using permissions
Modify tracking propertieswithout redeployment
Debug orchestrations
Event TrackingEvent Tracking
Start and end of a service
Sending or receiving of a message
Start and end of a pipeline
Start and end of an orchestration
Execution of each orchestration shape
Start and end of a service
Sending or receiving of a message
Start and end of a pipeline
Start and end of an orchestration
Execution of each orchestration shape
Identifying Types of Events and Data that Can Be Tracked
Data TrackingData Tracking
Message contents
Promoted properties
Routing information
Partner data
Schema information
Strong name used
Message contents
Promoted properties
Routing information
Partner data
Schema information
Strong name used
Viewing and Tracking Message Activity
View Message ActivityView Message Activity
List and run queries
Search a schema for promoted properties
Debug orchestrations
List and run queries
Search a schema for promoted properties
Debug orchestrations
Demonstration: Tracking and Viewing Message Activity
In this demonstration, you will see how to:
Use the BizTalk Group Hub to track and view message activity
Examine message flow for a message processed by BizTalk Server
Lab: Routing BizTalk Messages
Exercise 1: Adding an Existing Schema and Map to the Project
Exercise 2: Promoting Schema Properties
Exercise 3: Creating a Receive Port and a Receive Location
Exercise 4: Creating a Send Port for All Orders
Exercise 5: Creating a Send Port for Cash Orders
Exercise 6: Creating a Send Port for Credit Orders
Exercise 7: Testing the Port Configuration