SeeAlso: EDRADesignNotes

Summary: Usage of ""BizTalk"" together with EDRA

Integration of ""BizTalk"" and EDRA depends on how you are using ""BizTalk"". There are multiple possible scenarios and ways of using ""BizTalk"", so the following describes how we've seen customers integrate and use ""BizTalk"" and EDRA together.


BizTalk Usage description - Enterprise Application Integration (EAI)
Using ""BizTalk"" for enterprise application integration (EAI) with a "hub and spoke" integration architecture, where ""BizTalk"" is the hub and the applications are at the end of the spokes. Also described as the Message Broker integration pattern (see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/archmessagebroker.asp ).
Solution Description
EDRA is used for implementing one or more of the applications at the end of the spokes. Communications between the applications implemented using EDRA and the message broker implemented using ""BizTalk"" can be via any communication transport, but typically web services is chosen for the communication mechanism.


BizTalk Usage description - Process Integration
Using ""BizTalk"" for implementing business processes (orchestrations) that may or may not be long running. The business processes make calls to atomic business services of an application for executing a process step. Also described as Process Services (see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnea/html/eaappconprocesses.asp ) and the Process Integration pattern (see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/ArchProcessIntegration.asp ).
Solution Description
EDRA is used for implementing one or more of the business services of an application. Communications between the business services of an application and the Process Service or Process Manager implemented using ""BizTalk"" can be via any communication transport, but typically web services is chosen for the communication mechanism.


BizTalk Usage description - Business Activity Monitoring
Biztalk can be used to measure business activtiy implementing ""BAM"" (Biztalk Activity Monitoring).
Solution Description
EDRA applications could use a handler to publish business events to the Biztalk MSMQT adapter which will go straight to the Message Box and consumed by BAM. The schemas of the business events should be deployed to Biztalk so a Buiness Analyst could play with them to create OLAP cubes. The ""PublishBusinessEvent"" handler fits in this situation and it could be included in every pipeline of your application or on specific pipelines whenever you want to get business measures of.

I will post more on http://blogs.southworks.net/matiaswoloski ...


BizTalk Usage description - Message Routing
""Biztalk"" has a powerful ""Business Rule Engine"" that have an API to access from a .Net application.
Solution Description
EDRA has a target at the end of the implementation pipeline that calls the business action. This binding is static, there is no decision available on which business action to call. This is configured in the EDRA configuration file.
A custom implementation of a target, eg. ""BiztalkRoutingTarget"", could use the Biztalk Rule Engine to decide which action to call.
For instance, suppose a situation where there are 3 ways of calculating the monthly rate of a loan. Using the regular target you would have one business action that will have the logic hardcoded. In the future if there is another alternative flow in the use case, the business action would be modified and deployed again. By using a custom target that calls biztalk biz rule engine passing the payload of the request you could have a business analyst decide which business action execute depending on logical conditions.
So, you have 3 business actions: ""CalculateMonthlyRateCorporateCustomer"", ""CalculateMonthlyRateMediumCustomer"", ""CalculateMonthlyRateSmallCustomer"" all of them with the same request/response parameter. The target will pass the request to biztalk and the business rule engine will decide depending on, the amount of the loan and some other fields, if EDRA should execute the corporate, medium or small business action.

I will post more on http://blogs.southworks.net/matiaswoloski ...
Microsoft Communities