I have presented a grok on BRE essentials tonight at our monthly Solutions Group meeting. The main focus on my presentation was to give a quick glance at what is available to developers when they enter the realm of BizTalk. Some smart guy once said that knowing what's available out there is half the battle.
Anyways, the main points of my talk was to show how you can interface with the BRE (from BRE to .NET, and from .NET to BRE). I have found the BizTalk rules engine to be very efficient and fast. In the last project we have, we had over 450+ policies, and each policy had an average of about 5-7 rules on each of them. On top of that I had an orchestration that call the vocabularies, determine the policy that needed to be executed, and then execute that policy. The time for all of this to happen, is between 1-2 seconds from the time the message enter BizTalk to the time it gets send back to the calling routine.
How do you show this much functionality in 20 minutes or less? Well, I came out with this fictitious company that had the following requirements:
The first thing that you do in BizTalk is that you need to define the schemas that will contain the inputs and output of the message that you are dealing with. So a simple schema:
Next, I have implemented those rules in the BRE composer
So now that I have the rules implemented, we need to get a way to call them and executed them. Here is the sample solution code that will call this policy.
I have also included some code that shows how to call the vocabulary. And some code to show how to implement a .NET assembly that can be called from the BRE.
Feedback [good|bad] is always welcome. Hope this help someone get a small peek into the vast universe of BizTalk.