BizTalk, Lovely BizTalk

So, I was recently asked to look into a custom BizTalk solution whereby we could have a single receive location that takes a particular operation of type T. For example, DistributedOperation<OrderHold>. The DistributedOperation would have a few properties that are common across all the messages that would be sent to this generic receive location, and T, of course, would be the specifics - the guts of the message for the most part. I guess you could think of the DistributedOperation properties as those that are "auditable" properties (timestamp, originating application, originating user, etc.), ubiquitous across all messages. I suppose the idea is that these things could be persisted, and then later queried for a traceable path of operations.
The design, as explained to me, would be that a custom pipeline would take those DistributedOperation properties and make them distinguished fields of the message. Then take the payload (OrderHold in our example) and make that the main body of the message. Add a promoted property flag (something like IsDistributedOperation) and then throw that into a MessageBox. A common orchestration would have a filter looking for that promoted property (IsDistributedOperation) and the orchestration would build a multi-part message, part0 wrapping up all the DistributedOperation properties and part1 (N, really if that was necessary) wrapping up all the "guts" (again, OrderHold in our example). This common orchestration would also be responsible for stripping the IsDistributedOperation promoted property from the message.
At this point, this common orchestration would throw this newly minted multi-part message back into the MessageBox for further filtering - on multi-part messages, targeting part(>0) with the schemas we expect to be coming through the system.
For the send pipeline, the opposite would happen, taking part0 properties and converting them to a standard message, and then wrap the "guts" in its own element.
''
  'Some Crazy App'
  'Some User'
  ''
    '42'
    'Some order hold comments'
    'Error In Details'
  ''
  'Namespace.OrderHold'
''

Comments

  1. titanium arts
    TATONIC ART ventureberg.com/ CUSTOMING · TATONIC poormansguidetocasinogambling.com ROCKING T-TATONIC ROCKING T-TATONIC ROCKING T-TATONIC. This unique and งานออนไลน์ original kadangpintar design is crafted with the use titanium metal trim of sustainable

    ReplyDelete

Post a Comment

Popular posts from this blog

Using Bogus to create Hierarchical Data Structures

Adventures in Getting a Site Hosted

Design Patterns: An Introduction