Design Considerations This section compares some of the design considerations of the various approaches. Consideration Isolated Host Solution MSMQ Level Solution Custom Adapter Solution Risk Low Should be low depending on approach to This is the highest risk approach solve message header issue. Cost Lowest Low but rise depending on how you The development and maintenance costs would solve the message header issue. be the highest Complexity Low Low Development of a custom adapter using the BizTalk Adapter Framework or WCF LOB SDK is one of the more complex tasks. Easy Low This would be the hardest solution to Testing effectively test Contract First Development You would need to have an effective process for handling the code versus schema difference for message definitions between nServiceBus and BizTalk Server. Refer to the for more information about how to generate schemas from an nServiceBus message. Abstraction You would not need to deal with any nServiceBus specific implementation details within BizTalk Server. Once the message is submitted to BizTalk Server as it executes through a pipeline or map on the inbound port it would just be an XML message like any other. You would however need to remember that the inbound port would be running in an isolated host rather than the BizTalk host itself. nServiceBus It is a good idea to follow the normal BizTalk Server The nServiceBus message will be wrapped Schemas/Messages practice of keeping a level of abstraction between your in an nServiceBus envelope which allows processes within BizTalk Server and any external schemas. nServiceBus to identify the type which the Schemas correlating to the nServiceBus message. message relates to. You should also separate schemas for nServiceBus messages from those which are used by your processes. No Yes No MSMQ Header Issue Applies
Design Considerations This section compares some of the design considerations of the various approaches. Consideration Isolated Host Solution MSMQ Level Solution Custom Adapter Solution Risk Low Should be low depending on approach to solve message header issue. This is the highest risk approach Cost Lowest Low but rise depending on how you solve the message header issue. The development and maintenance costs would be the highest Complexity Low Low Development of a custom adapter using the BizTalk Adapter Framework or WCF LOB SDK is one of the more complex tasks. Testing Easy Low This would be the hardest solution to effectively test Contract First Development You would need to have an effective process for handling the code versus schema difference for message definitions between nServiceBus and BizTalk Server. Refer to the for more information about how to generate schemas from an nServiceBus message. Abstraction You would not need to deal with any nServiceBus specific implementation details within BizTalk Server. Once the message is submitted to BizTalk Server as it executes through a pipeline or map on the inbound port it would just be an XML message like any other. You would however need to remember that the inbound port would be running in an isolated host rather than the BizTalk host itself. nServiceBus Schemas/Messages It is a good idea to follow the normal BizTalk Server practice of keeping a level of abstraction between your processes within BizTalk Server and any external schemas. Schemas correlating to the nServiceBus message. The nServiceBus message will be wrapped in an nServiceBus envelope which allows nServiceBus to identify the type which the message relates to. You should also separate schemas for nServiceBus messages from those which are used by your processes. MSMQ Header Issue Applies No Yes No
nServiceBus%20and%20BizTalk%20Server.docx