Click here to access my new Blog http://blogs.msdn.com/ahmedfarrag

Sunday, August 05, 2007

Biztalk Build or Buy ???

I have been asked a lot, "where is the power of Biztalk?" and that’s comes from experienced Software engineers, they always tend to say "Well, we can do this!!”, and in fact that's true, if you took a bird’s eye view on what Biztalk does, it's primarily two things,, Business Process Management and Messaging Solutions, and this involves basically handling messages from different sources with different formats.

So what about the engineer who said that he can do this, well the answer is simple, Yes, you can do custom code to query a web service and get the response and then transform the message using XSLT and possibly apply some business rules checks. However when you try to deploy this solution in an enterprise, you will start facing some problems that you will have to address.
First, you will need to worry about the online vs. offline support of your application, what if the web service is not available? And you need to re-try the call; you will hence need to develop some sort of service that does this for you. Also, what about the business rules that you have applied; you need to give access to the business users to change them at any time, so you'd probably create a separate business rules store with its own configuration and database.

What about the throughput of the messages, what if the load on the server increased, could your application be load balanced? , you'd then have to create some sort of a load balancing service that is could be distributed on multiple servers...!!

You will find so many "what if" in this application that you will eventually end up building a complete framework just to support your initially small application!!
This framework of tools is what Microsoft calls Biztalk Server!!!

Biztalk Server comes with out-of-the-box support for long-running transactions; Rules engine storage, scalable infrastructure, tracking capabilities and much more; basically all what you need to host an integration/BPM solution.

So if you are targeting enterprise level solutions, I believe the equation turns in the favor of "Buy" not "Build”.

No comments: