Service Bus EAI/EDI Labs | Deciphering the Bridge Configuration Surface

When you install the Windows Azure EAI and EDI Labs SDK, it installs a Visual Studio project template called the Enterprise Application Integration (EAI) Project. You can use this project template to create integration solutions that can be deployed to the Windows Azure Service Bus. For information on how to start with EAI projects, see How do I Start Configuring Service Bus EAI and EDI Solutions.

One of the core components of an EAI project is a message processing bridge (See Message Processing Bridges). The EAI project template also includes a Bridge Designer surface that can be used to configure the different stages of a bridge. If you have been following the Service Bus EAI/EDI Labs since it’s first public CTP in December 2011, you might have come across a term called VETER. This term was used to refer to the XML bridges. VETER is an acronym for Validate, Enrich, Transform, Enrich, and Route. These are essentially the stages within a bridge, similar to what pipelines have in BizTalk Server. Through this post, I intend to explain in detail the different parts of the bridge configuration surface and how it translates the VETER philosophy on a UI designer.

The following illustration depicts how a message travels from the source to destination via the bridge. If it’s a request-reply bridge, (as is the case in the illustration below), the message travels back through to the bridge and then to the client that sent the original message.

BridgeOverview_thumb1

Note: In a One-Way XML Bridge, there is no response path.

The other important piece to understand in the bridge designer is what each of these stages (V, E, T, E) are for. So, before I go into the details of each stage, let me introduce you to a couple of terms – stages and activities.

Stages and Activities

A bridge can be broken into stages and each stage has at least one activity (currently). You can turn a stage ON or OFF using properties available for the stage. So, for example, if you turn the Transform stage off, the message just passes through the transform stage without being transformed to another schema. In the following screen capture, the outer box (Validate) is the stage and the inner box (Xml Validate) is the activity.

StageActivity_thumb1

Everything There’s to a Bridge

The following illustration highlights all the different components of a Request-Reply Bridge. Click on the image to get a larger view.

BridgeSurface