Mohsin Kalam’s Blog

September 27, 2007

Introduction to Microsoft BizTalk Server 2006 R2 EDI

Filed under: R2 EDI — Mohsin Kalam @ 3:21 pm


The goal of this posting is to provide an overview of EDI and how it is implemented in Microsoft BizTalk Server 2006 R2. This will be followed by a detailed posting on the underlying subsystems involved.


The following terms are used within this blog to mean things specific to EDI R2. These will be used in the future to maintain consistency.

  1. Parsing: Conversion of EDI document to XML
  2. Serialization: Conversion of XML document to EDI 
  3. PAM: Partner Agreement Manager
  4. BizTalk, R2, R2 EDI: They all refer to Microsoft BizTalk Server 2006 R2


Microsoft BizTalk Server 2006 R2, the latest release of BizTalk Server, features broad support of WS* protocols through its WCF adapters, support for integration via Microsoft BizTalk RFID, and support for integrating business partners though EDI and AS2. These new features enhance an already robust product and deliver a high value proposition for the customers making BizTalk Server a great choice for Business to Business integration.

Since this blog is geared towards EDI, I would not go in any detail about WCF and RFID. 

EDI Summary:

Electronic Data Interchange (EDI) is a standard based messaging protocol and is the most prevalent means by which business entities communicate and exchange data electronically. A quick snapshot will include majority of Fortune 500 and other well known global companies like Walmart, GE, American Airlines, Intel, Nike and JC Penney etc.

EDI is an industry agnostic standard and is reported to be widely used in manufacuring, shipping, warehousing, construction, food processing and healthcare.

EDI data is transmitted as delimited files (without self describing tags) and therefore the encoding rules enforce very strict formatting rules to ensure the destination application is able to succesfully parse and consume the information.

There are 2 major versions of EDI, X12 and EDIFACT. X12 is used in North America whereas EDIFACT is used in Europe and Asian markets. R2 supports both these versions and ships with 8000+ schemas out of box for these standards. For a complete list of supported versions, please refer to this link.

R2 System Architecture Overview:

R2 EDI is a major upgrade to its predecessor. All the EDI logic has been moved out of the EDI specific processing layer and into BizTalk itself. This is achieved by creating Receive and Send Pipeline Components (that reside in Receive and Send Pipelines respectively) that can parse and serialize EDI messages. In addition to that R2 provides support for aggregating documents together (Batching), AS2, detailed Status Reporting and Design Time user experience.

Below is a high level architecture for R2 EDI

R2 Architecture

EDI Receive:  

EDI Receive and EDI Send form the EDI Engine. The EDI Receive Engine is responsible for parsing an incoming message, apply settings during parsing and create status reporting for tracking the documents flowing through the EDI system.  

Detailed information explaining EDI Engine Receive and its features can be found in another posting here.

EDI Send:

The EDI Send Engine is responsible for serializing an outgoing message, create envelope information, apply settings during serialization and create status reporting. Send can be considered the counterpart for Receive because it converts XML to EDI where as Receive converts EDI to XML.

Detailed information explaining EDI Engine Send and its features can be found in another posting here.

Batching Sub-System:

R2 provides out of box support for aggregating (batching) transaction sets in an interchange. This is accomplished by the use of Batch Marker component in the Receive Pipeline and Batching and Routing Orchestrations.  

Detailed information explaining EDI Batching and its features can be found in another posting here.


PAM is the central repository for storing all the settings required by the EDI Engine and Batching Sub-System during processing. It has a clean UI that plugs in the BizTalk administration console providing a single point for tweaking all EDI settings used by R2.

Detailed information explaining PAM and its features can be found in another posting here.

Status Reporting:

R2 provides detailed reporting functionality to track business documents as they travel within R2. This is nicely integrated within the BizTalk administrative console providing a single point of tracking for all EDI related documents.

Design Time User Experience:

R2 provides a design time experience for users to Validate/Generate an interchange or a transaction set and Validate a schema. This experience is hosted within Visual Studio and provides the ability for users to validate a document to find out the errors and fix those errors in the instance.

Detailed information explaining Design Time user experience and its features can be found in another posting here.

AS2 Support:

Microsoft BizTalk R2 has built in support for the Applicability Statement (AS2) out of box. This is achieved by providing 4 pipelines: AS2 Receive, AS2 EDI Receive, AS2 Send and AS2 EDI Send. AS2 Receive has AS2 decoder in the decode stage of the Receive pipeline where as its counterpart AS2 Send has AS2 encoder in the encode stage of the Send pipeline.

AS2 is payload agnostic and is used as an alternative to value added networks (VANs). The use of internet for data exchange, instead of direct point-to-point connections, reduces costs, increases flexibility and efficiency, and has advantages in terms of redundancy and scalability.

BizTalk Server 2006 R2 uses AS2-defined methods to send, receive, encrypt, decrypt, sign, and verify messages between partners using HTTP over the Internet. BizTalk Server helps ensure the security of messages through the use of encryption keys, digital signatures, certificates, and non-repudiation.   

End Note: 

I hope this posting has been informative for you. Please keep tuned for the next postings that describe each section in detail. And please feel free to leave comments/questions.


Mohsin Kalam


September 17, 2007

Welcome to Mohsinkalam’s Blog

Filed under: R2 EDI — Mohsin Kalam @ 10:28 am

Hello everyone!

I am Mohsin Kalam and I am a Software Design Engineer in Test in the Microsoft BizTalk Server EDI team. 

This blog is set up to focus on the new Microsoft BizTalk Server R2 support of B2B transactions while focusing primarily on EDI. It is also intended to provide a channel to reach our customers, partners and the user community. 

Please feel free to leave your comments/suggestions, ask clarifying questions or let me know if you would like me to blog about a certain topic in R2 EDI.

Thanks for stopping by. Have a great day!

Mohsin Kalam

Blog at