Continuing from the previous examples,
let's assume that the order processing system notonly needs to update
your downstream systems, which are internal to your organization, but
also needs to notify a trading partner of the transactions.
Let's assume that when an order is placed, you need to order the
requested product from a supplier to support your zero inventory
objectives. This situation brings about a number of challenges.
Assuming for now that the sending and receiving applications are both
BizTalk Server applications, you first must ensure that the transaction
is completed reliably over inherently unreliable protocols and across
network boundaries and firewalls. This is where the BizTalk Framework
2.0 Reliable Messaging scenarios come into play, as shown in Figure 1.
The
BizTalk Framework specification is an XML specification that allows
reliable messagingover HTTP and other transports. A BizTalk server
according to the definition is a server that implements the BizTalk
Framework rules and schemas for processing messages to provide a
reliable Interchange mechanism over the wire.
In
that sense, the product Microsoft BizTalk Server 2006 is a BizTalk
server that implementsthe BizTalk Framework 2.0 specification. Of
course, having BizTalk Server 2006 on both sides will allow you to
implement reliable messaging Interchanges and processes with relatively
small effort.
Microsoft BizTalk Server 2006
provides custom pipeline components for sending and receivingBizTalk
Framework envelopes. The BizTalk Framework properties are configured
through these pipeline components and can also be updated at runtime
within an orchestration.
Figure 2 shows the required components (channel/ports and pipelines) to
implementan Interchange with BizTalk Framework 2.0. The left side shows
the sender configuration, which consists of a static one-way send port
to send the business document or message and a static one-way receive
port to receive BizTalk Framework 2.0 delivery receipts. The right side
shows the receiver configuration, which contains a static one-way
receive port to receive the message or business document and a dynamic
one-way send port that subscribes (using a filter expression) to the Messagebox for messages that have the property BTS.MessageType with a value of BTF2DeliveryReceipt.
In
all four ports, the BizTalk custom pipeline components are used for
receiving (Disassemble) and sending (Assemble) BizTalk Framework
envelopes.
BizTalk Framework Assembler and Disassembler Pipeline Components
As
mentioned before, BizTalk Server 2006 provides custom pipeline
components for BizTalkFramework envelopes. The pipeline component that
must be configured for messages going out is the Assembler. In our
first scenario, only one of the four ports must be configured.
NOTE
Make
sure QFE 1085 (KB 813845) has been installed before trying to configure
BizTalk Framework2.0 Reliable Messaging. The QFE removes the
compatibility issues with BizTalk 2002/BizTalk 2000 relating to BizTalk
Framework 2.0 Reliable Messaging.