Throughout the series, we have been looking at how EAI
addresses the typical issues that hamper productivity of an organization.
Typically, the problem with having disparate systems is the lack of information
in each system to provide a complete picture and the lack of implementation
knowledge to make the complete picture of any related workflow.
|
Integrating these systems provides the solution and can
assist in
improving productivity and agility for a particular business process. However,
despite the integration, the decision makers still need access to the data
generated by the daily operations for various purposes-the data can be
used to assess business trends or even to check the 'health' of any process
or might simply be for reporting purposes. Access to a birds-eye view of the
data helps get a complete picture without delving into much of routine details.
Essentially, it means looking at KPIs (Key Performance Indicators) of the
business. These can be compared and benchmarked to determine the efficiency and
direction of the organization.
Typically, KPIs would include things like 'how many days
it takes for the order to be fulfilled after it is confirmed?' or 'what is
the average turn around time for any customer queries?' that indicate the
concerned numbers. These numbers, translate directly to the performance, hence
the name 'Performance Indicators'.
Analyst defines the KPIs and the developer integrates them into the biz process. End users put BAM generated data for analysis |
Typically, a BizTalk solution would contain several
applications, business scenarios and events. Consider a typical order management
process. It would involve several disparate participants such as the ordering
front-end, the billing system, the inventory system, the credit-card approval
system, and the fulfillment partners besides many others. Most of these
end-points are owned by different physical entities, like for example, the
credit card verification and amount approval would be from a third party
financial institution (usually known as credit card gateways). This disparity,
however, increases the complexity in getting the data from each of these points.
What is BAM?
The Business Activity Monitoring (BAM) tool that comes as a part of the
BizTalk Server 2004 suite takes the ownership of this problem. It provides a
flexible interface to directly peek in almost real-time business data flowing
through the various integration workflows developed with the BizTalk. What this
means is the data is not acquired from the individual systems, but from the
workflow that binds these systems together. That the systems are integrated in
an automated workflow, the end-systems themselves, cannot take ownership of the
accuracy and reliability of their data. Hence, it is necessary for the
integrating workflows to take care of it. The BAM offers this data to the
information workers with the help of familiar desktop tools that they use in the
day-to-day interactions. The data can be available for analysis and aggregations
through simple tools like MS Excel or Sharepoint portals, with almost no effect
on the
performance of the business processes.
As a very obvious approach to deal with this, the business
user or analyst can define the KPIs, aggregations and the trends that he needs
to monitor with familiar tools like Excel. This data can then be mapped by a
technical person to the actual messages flowing within the BizTalk processes.
Once these mappings are deployed to the database, the BAM stores all the
required data from the business processes to its own SQL Server database. This
data can later be used by information workers for analysis or daily operations.
The Tracking Profile Editor Tool in BizTalk maps process definitions to actual business processes |
BAM user roles and tools
Fundamental to the understanding of BAM, is the understanding of the roles
that each of the participants play to bring the visibility in the business
process and the understanding of the tools that can be used to achieve this.
Once a business analyst has defined the KPIs, he can use an
Excel add-in for BizTalk (provided with the BAM tool) to write the definitions.
The analyst can define the data elements and create views and pivot table out of
it. At this stage, the BAM add-in generates sample data that is displayed in the
table or pivot table created by the analyst to simulate the end result. Once the
analyst is done with defining what he needs from the processes, he can simply
send the definitions to the developer for integrating them in the business
processes. BAM does not limit how the analyst chooses to communicate the
definitions. Infact, the analyst can be sitting geographically apart and create
the definitions. He can then e-mail the definitions to the developer who can
then work on them.
BizTalk comes with a tool called TPE (Tracking Profile
Editor), to map the definitions to the actual business processes. The TPE
provides a 'panes' view with one pane detailing the definitions from the
analyst and the other one showing the actual business process already developed.
So it becomes simply a matter of matching the definitions to the appropriate
points in the orchestration-both being visible in a single view. The developer
can, thus, import the BAM definitions from Excel into the TPE and then map the
definitions to functional points in the orchestrations. Various messages and
events can be mapped from the orchestration.
After mapping, the data needs to be deployed to the
database in order for BizTalk to actually start tracking the data. As we know,
BizTalk 2004 relies heavily on the SQL Server for most of its functionality.
Amongst the set of databases created at the time of BizTalk configuration, also
created is the 'Tracking Database', which stores the tracking configuration
and information in SQL Server.
Once the data is deployed, BizTalk monitors the running
orchestrations at the specified points and stores the runtime data in the
tracking database. BizTalk supports not just the plain two-dimensional SQL
Server database tables, but also the SQL Server's Analysis Services to offer a
multi dimensional view of the captured data. This can be used for in-depth
analysis including tracking of trends over a period of time.
Once the data is recorded in the database, BizTalk allows
reading the tracking data in several ways. Out of the box, it offers a
Sharepoint portal that can produce the data based on various search filters
specified. For better interaction, this data can be pulled into Excel that can
allow its analysis in several other ways. For instance, the Business user can
analyze trends by creating a pivot table with multi dimensional views of the
data. This data can also be used to pin point the bottlenecks in the existing
implementation, thus triggering an exercise of optimization of the process.
Potential bottlenecks in the process can be traced down and reduced so as to
boost the productivity further. For instance, the data might be able to provide
some vital information like: the existing payment gateway takes almost 2 days to
verify the credit card information and approve the transaction. The management
can then decide to shift to another gateway that might be able to provide a
faster response time. In effect, for our order management sample, the company
will be able to fulfill the orders faster.
The Business Activity Monitoring makes it very easy for the
business analysts, the developers and the end users working individually or
collaboratively, to provide the much needed visibility in the business
processes. All this, with a very familiar set of tools that help to clearly
delineate the responsibilities of the each of the participants in the solution.
Business analyst can use the Office tools that he is
already familiar with. The developers obviously make use of the TPE in the
BizTalk suite to link the requirements to the technology. This information is
automatically delivered to the business users. The business users can enhance
the business value of this information by creating charts, reports or alerts
using the supporting tools like Sharepoint Portals and Excel. To the business
this means better knowledge of the numbers that are crunched beneath the
technology covers.
Of course, this equips them with the most important
weapon-the information-to attack any problem concerning the productivity of
any particular business process.
Sanket Bakshi