BizTalk as a collection of tools OUTSIDE of integration

BizTalk Server 2006 R2 has a set of features that work great for doing what BizTalk is normally used for—integration. But these features are so powerful in themselves in a non-integration environment that I can see customers buying BizTalk just to use some of them. The first feature I want to look at is BAM (Business Activity Monitoring). This feature initially allowed you to see inside a running BizTalk orchestration, which is helpful in so many ways. But the real power comes through in R2, as it now also allows you to monitor Workflow Foundation (WF) processes, since R2 supports those.

Most of the time, IT thinks BizTalk = integration. But really, with BAM, it becomes almost an infrastructure tool as well—especially if you consider that the following products all have WF as a core system:

Now how do you monitor what’s going on inside all of these without building your own tools or using Visual Studio? BAM can handle it! Also, think about developing a custom WF solution—you no longer need to spend time on a WF monitor; just use BAM for that.

The next feature is the rules engine. This engine takes data from a BizTalk mapping, a .NET component (basically anything), or a database and runs it through a set of rules. Rules are versioned, meaning items on one set remain until their end of life. Just think about how many applications I’ve written with tightly built rules engines (business rules) where you can only change parameters. Extending them to add or remove rules would be great. The rule designer also uses readable English instead of C# or some other obscure language—perfect for business analysts or customers to manage, not just developers. And the best part? You can integrate this engine into .NET in five lines of code or less! Imagine plugging in a full rules engine in five minutes (well, maybe not that easy, but still easier than building your own).

The last feature is Enterprise Single Sign-On (ESSO), originally developed to store credential mappings. For example, you might be MYDOMAIN\USER1 in Active Directory but ROBMAC01 in Siebel with password XYZ. BizTalk could use ESSO to authenticate you into these other systems because it knows your username/password and verifies your AD credentials. It’s also secure since your credentials are encrypted by your AD account, meaning no one can see others' details. There’s even a nice client tool users can use to manage password changes. This is great for applications, but many people inside and outside of BizTalk don’t use it for credentials. Instead, they use it to store configuration settings per user—since credentials can be any name/value pairs, you can store arbitrary values. Now you have a secure, accessible config system with a client management tool and a scriptable admin interface—all with minimal development.

Update: 16 October 2007—Thanks to Ryan for pointing out that BAM stands for Business Activity Monitoring, not Business Automation Monitoring.