BizTalk Best Practice - Message Decoupling in Orchestrations

Have you ever found it annoying to change message schema types in an orchestration when the orchestration designer forces you to disconnect or unwire all the shapes that reference the message? There is a clever way around this and in the end, it promotes good design and adds another layer of decoupling and indirection to your messages in orchestrations.

Define all of your Messages in an orchestration from Multipart Schema Types.

If you create a message from a schema and assign it to a receive shape and that receive shape is connected to a logical port, if you need to change that message type, you need to first disconnect the “wire” between the receive shape and the port before the designer allows you the change the message type. Imagine if the message was referenced by lots ports and shapes. You would need to disconnect all of them and that could be a real pain.

If on the other hand you create a multipart message type for each schema and create each message in the orchestration from the appropriate multipart message type, you don’t need to unwire the various references to the message if you need to change the underlying schema type of a message. This might not be directly obvious, adds an abstraction layer around your message types and enhances overall maintainability.

1 comment:

nandu said...

Very informative ..I suggest this blog to my friends.Thank you for sharing
Biztalk Online Training bangalore