Service Broker adapter for BizTalk Server

 As part my Cabanas Talk this year at Teched we presented a prototype of the Service Broker adapter for BizTalk Server that allows developing SSB conversations that involves BizTalk applications. In the past month we also develop a WebCast with a more consistent version of the adapter. Now as part of Service Broker Enhancements we presented the first version of the SSB adapter for BizTalk Server and its completely available for download.

The Service Broker (SSB) adapter for BizTalk Server 2004-2006 is one of the most acclaimed technologies for the SSB community. This adapter allows BizTalk applications to participate in SSB conversations as target or initiator service applications. The SSB adapter increases the potentialities of SSB applications that can now take advantage of the great number of features that comes with BizTalk Server 2004-2006.

SSB increases the typical scenario that queue technologies addresses introducing a set of Service Oriented Architecture (SOA) concepts like services, contracts, message types, dialogs that increase considerably the scenarios to apply SSB solutions. SSB Services communications is based in the dialog conversation concept. A dialog conversation, or dialog, is a conversation between two services. In effect, a dialog is a reliable, persistent stream of messages between two services.

Dialogs provide exactly-once-in-order (EOIO) message delivery. Dialogs use the conversation identifier and sequence numbers that are contained in each message to identify related messages and deliver messages in the correct order. A dialog is a reliable, persistent stream of messages between two services.

A dialog conversation has two participants. The initiator begins the conversation. The target accepts a conversation begun by the initiator. Whether a participant begins the conversation determines the messages that the participant can send, as specified in the contract for the conversation.

This notion of stateful conversations makes the SSB adapter slightly different for other queue-technologies adapters already provided by BizTalk Server. The notion of stateful communications at the transport level is different from the stales communication provided by technologies like MSMQ or MQSeries.

The SSB adapter for BizTalk implements a series of messaging patterns that allows BizTalk applications to interact with SSB services. The SSB adapter for BizTalk Server can be used in conjunction with the other technologies provided by the Service Broker Enhancements packages to build robust SSB-based applications.

The following table summarizes the messaging pattern supported by this version of the SSB adapter for BizTalk Server.

MEP

Conversation Action

Conversation Pattern Description

Receive ( OneWay )

Continue

Receive a message in a existing conversation.

Receive ( OneWay )

End

End the conversation once that the message is received

Send ( Notification )

Begin

Start a new conversation and sends a message as part of this conversation.

Send ( Notification )

Begin And End

Start a new conversation,  sends a message as part of this conversation and ends the conversation

Send ( Notification )

Continue

Sends a message as part of one already existing conversation.

Send ( Notification )

End

Sends a message as part of one already existing conversation and ends the conversation

Solict-Response

Begin

Begin And End

Continue

End

The use of this communication pattern makes the adaper to return an special message that contains the conversation handle of in a context property.

 

Receive Adapter

This adapter is able to read messages from a SSB queue. It also implements a series of messaging patterns that are the result of the possible combiantions of the RECEIVE. END CONVERSATION and BEGIN CONVERSATION in SSB; specifically the adapter implements the Receive+End and Receive+Continue messaging patterns explained in the above table. Based on this patterns BizTalk orchestration can receive messages in a SSB conversation acting either as a initiator or as a target. The adapter support batch processing and transactional operations which increments the performance and robustness of read operations and the interaction with the SQL Servers that hosts the SSB Services.  Another special characteristic of the adapter is the support for native SSB messages like EndDialog, Error or DialogTimer, this is a key aspect to involves BizTalk processes in complex SSB conversations.

Transmit Adapter

The transmit adapter is the complement of the receive adapter and is able SSB messages as part of an SSB conversation. The adapter implements a series of messaging pattern that are the result of combination of the BEGIN CONVERSATION, SEND and END CONVERSATION operations; specifically the adapter implements the Send, Send+End, Begin+Send, Begin+Send+End in the case of One Way messaging and the equivalents using the Solicit-Response messaging. Other potentialities of the adapter includes the transaction support for the operation and the posibility of relates conversation using SSB conversation groups.

Both adapters provides support for the security features included in SSB adding this capability to the existing security features that comes with the BizTalk adapter framework. The combination of those adapters allows the development of robust SSB conversation that involves BizTalk Server processes.

SSB adapter and other SSB technologies.

As part of SSB Enhancements you can find a set of demos that interoperates the different technologies that comes with the package, in particular we provide a simple demo that shows how to develop an Service Broker conversation between a SQL Server Integration Services (SSIS) package and BizTalk Server using the SSB adapter and the SSB Task for SSIS also provided as part of SSB Enhancements

 

I would like to specially thanks to Didiosky Benitez a really incredible BizTalk developers that help me a lot in the conception and development of the SSB adapter.

3 Comments

Comments have been disabled for this content.