BizTalk Server 2006 R2 has a set of features which work great doing what BizTalk is normally used for, integration. But these features are so powerful by themselves in a non-integration environment that I can see customers buying BizTalk and never using it, just some of the features. The first I want to look at is a feature call BAM, Business Activity Monitoring. This feature initially allowed you to see inside a running BizTalk orchestration. This is helpful in so many many ways. But the real power is starting to come through in R2 as it now allows you to see in side Workflow Foundation (WF) processes, since R2 supports those.
But most of the time IT thinks BizTalk = Integration. But really with BAM it is almost an infrastructure tool as well, especially if you think the following products all have WF as a core system:
-
Microsoft CRM 4.0 (was Titan)
-
Microsoft Office SharePoint Server 2007
-
Speech Server 2008
-
Customer Care Framework 2008
Now how do you see whats going on inside all of these without your own tools or Visual Studio? BAM it! Also just think of developing a custom WF solution, now you can no spend time on a WF monitor rather just use BAM for that.
The next feature is the rules engine. The rules engine takes data from a BizTalk mapping, .NET component (so basically anything) or a database and runs it through a set of rules. The rules are versioned and items on one set of rules remain on those until they end of life. Now just thinking about how many applications I have written which have a very tightly built rules engine (i.e. business rules) which you can only really change the parameters, to extend that to add/remove rules etc... would be great. The rule designer also is in readable English, rather than C# or some weird language. This is great since it means that a business analyst or customer can manage it, not a developer. Why this is great is that you can integrate this engine into .NET in 5 lines of code or less! Image just plugging in a full rules engine in 5 min and then moving onto something else (in reality maybe not that easy but still easier than building your own).
The last feature is Enterprise Single Sign On (ESSO), where it was originally developed to store credential mappings. i.e. You are MYDOMAIN\USER1 in AD and in Siebel you are ROBMAC01 and your password is XYZ. BizTalk could then use ESSO to authenticate you into these other systems because it knows your user name/password etc.... and it's authenticated you against AD. It's also secure since your credentials are encrypted by your AD account, meaning no one can see other peoples details and there is even a nice client tool which users can use to manage password changes. This is great and maybe useful in your next application, but BizTalk internally and many other people don't use it for this. They use it for configuration setting storage per user. Since the credentials could be anything, including simple name/value pairs, instead of storing credentials you store values. Now instantly you have a accessible and secure config system with a client management tool and a great admin interface which is also scriptible. Once again all for very little development.
Update 16 October 2007: Thanks to Ryan for pointing out BAM is Business Activity Monitoring not Business Automation Monitoring.