Tuesday, December 9, 2008

Business Activity Monitoring

Automating a business process can bring clear benefits. Yet compared to one performed by people, an automated process is typically quite opaque; getting information about the status of a process can be challenging. The goal of business activity monitoring (BAM) is to provide visibility into automated processes, offering useful real-time information to the people who rely on those processes.
It’s useful to think of BAM technology in two distinct parts:

  • Infrastructure for collecting information about in-progress business processes. Because these processes might rely on multiple applications, this infrastructure must be usable with more than just a single workflow technology.
  • Tools that let information workers access that information. Different people will want to use BAM data in different ways, and so the tools they use might be quite diverse. Some typical examples include dashboards that provide real-time display of critical data, reporting services that present historical trends, and common desktop tools such as spreadsheet applications.

Since the technology required for BAM crosses diverse areas, it shouldn’t be surprising that it involves a number of different Microsoft products. Those products can be grouped into the two categories just described:

  • Infrastructure for collecting information about running processes. This technology is licensed as part of BizTalk Server. Like the BRE, however, the BAM infrastructure can be used with both BizTalk orchestrations and any application built on the .NET Framework.
  • Tools that let information workers access that information. Whatever application the BAM data comes from, it’s always stored in a SQL Server database, typically in a multi-dimensional cube. This means that any tool capable of working with SQL Server cubes can access and display BAM data. The most important of these for BAM include Microsoft Excel, Office PerformancePoint Server, BizTalk Server’s BAM Portal, and SQL Server Reporting Services. Other Microsoft products can also be used, such as Visio, as can products from other vendors.

The figure below gives a simple view of BAM in the Microsoft world, showing the fundamental technologies in both of these categories.








As the figure shows, BizTalk orchestrations can directly generate BAM events and data, all of which are sent into a common BAM database. BizTalk Server also includes a tool called the Tracking Profile Editor that lets a developer configure an orchestration to send the desired information to this database. Along with built-in support for using BAM with orchestrations, BizTalk Server also provides a BAM client API that can be used with any .NET application. (No BizTalk Server license is required for applications that use this BAM API.) In the example shown above, for instance, the BAM API is used by two other applications to send data to the BAM database. The product’s next release, BizTalk Server 2006 R2, will add built-in support for using BAM with applications built on Windows Communication Foundation or Windows Workflow Foundation. Although this forthcoming WF support for BAM isn’t usable with human workflows built on Windows SharePoint Services, it is possible to use the standard BAM client API with custom SharePoint workflows.
However it gets to the BAM database, data is always stored in tables and cubes. Cubes are most commonly used in data warehouses, and so they’re typically seen as a business intelligence technology. Yet BAM can also be viewed in this light: It’s real-time business intelligence. The information in the cubes is accessible via a set of BAM web services, as shown in the figure, and different clients are free to do different things with this information. An Excel user, for instance, might read it into a pivot table, then create a graphical view of the aspects of this process that she wishes to see. (BizTalk Server provides an Excel add-in to make this easier to do.) This view can be updated as often as necessary, allowing real-time monitoring of the business process.
Other tools can display the data in other ways. Office PerformancePoint Server, for example, might display BAM data generated by one or more business processes as part of a dashboard. The screen shot below shows an illustration of how this might look using PerformancePoint’s Business Scorecard Manager.








When it’s done well, an automated business process that uses BAM can provide more information to the people who depend on it than if it were a manual process. People don’t always have the time or the inclination to respond to status requests, but well-designed software does. Improving business processes with BPM technologies hinges on making them more automated, which implies an increasingly important role for BAM.

No comments: