Although the story only mentions the external apparel we did with ASP.NET 1.1/2.0, the biggest challenge in terms of architecture design we are constantly facing is to balance between the desire of SOA's flexibility/maintainability/reusability and the performance demand by such as a high volume system.
Our client is in fact a typical Application Service Provider in financial circle.(one of those actually survived ASPs.) Their business model has born with a demand of integration. Both integrate with different partners and with a whole spectrum of technologies from legacies to cutting ages, you name it we got it. That’s where the BizTalk gets in the play.
Due to the size of the messages and the processing time restriction, we are trying to use parallel processing as much as possible. The top utilized integration patterns in this project are:
· Aggregator / Convey
The management patterns implemented are primarily:
· Wire Tap
· Control Bus
I find to implement Wire Tap in pipeline component is very interesting. The challenge here is that we need some information on the incoming message even before it hits the message box, meanwhile you are suppose to process the message here in a streaming manner. A pipeline component is a perfect fit because you don’t have to stop the processing of business messages. All you need to do is to get a copy of the incoming message by pInMsg.BodyPart.Data. From there, it’s all old world you used to.