Product Review
BPM Suite From Bluespring Software
Strong Web services capabilities and an intuitive user environment
Nov. 7, 2005 10:45 AM
In the past, business process management has not been a significant area of concern for many corporations. However, with increased regulatory scrutiny facing companies today, the need for formalized definitions, checks and balances, and management oversight is a reality.
The Challenge
A number of technical solutions have entered the marketplace to assist with the challenges that these requirements present. One such offering is the BPM Suite from Bluespring Software. The BPM Suite is a Microsoft .NET-based system that provides a technical foundation for the design, management, and execution of business processes in an environment of heterogeneous systems.
Designing Business Processes
The BPM Designer, shown in Figure 1, is the main development environment for the BPM Suite and provides all of the tools for modeling business processes. Out of the box it ships with several activity types, some of which include:
- Database actions
- User interactivity including e-mail, instant messaging, task lists, and document creation
- Web Services integration
- Business Rules processing capabilities
- XML document handling
For the purposes of this review, I have created a simple process model that manages the business functions related to data errors when interfacing between systems (
Figure 1). The process is defined as follows:
- An Error Report is generated by the external data interface system and submitted to the business process manager via a Web service invocation
- The report is routed as a task to the appropriate user by role based on the report type; Product errors to a Product Analyst, Sales errors to a Sales Analyst, and Customer errors to a Customer Analyst
- An external manual process is performed by the user to correct data errors
- When all errors are corrected by users, a new Data Load is initiated in the data
interface system
Along with the general process model, a number of run-time variables have been created to manage the transfer of stateful information between the various activities in the model; the most critical of which is the Error Report. The Error Report is an XML document that contains the details of issues encountered by the interfacing process. XML documents are stored as text strings within the process model and may be parsed by the XML Reader activity. This activity uses XPath statements to extract specific values from the XML document. In this example, the reader extracts the report type, which is used to determine the user role responsible for addressing items in the Error Report document.
All business processes created in the BPM Designer may be initiated through a Web services call. The service calls include all run-time variables as parameters allowing external applications to set any necessary initial values. For this example, the Error Report value is provided as part of the call from the data interfacing system.
In addition to process models being initiated by Web service calls, process models may also invoke external Web services. The BPM Designer allows the developer to import a WSDL definition from a URL. Once specified, the parameters of the service call must be mapped to run-time instance variables in the process model. The Web service invoker also supports authentication, proxy servers, and SSL certificates.
Building the Business Model Around the Process
Building and structuring business processes in the BPM Designer consumes the vast majority of the effort required to build an application. However, the BPM Suite also provides some simple yet significant business modeling capabilities that greatly impact functionality of process models, the first of which is the design of the security model within the tool. In any business process model, the roles that the users play in the execution path are important. The Bluespring product looks at users and security both from a traditional access control standpoint (users/roles) as well as from an organizational standpoint. Organization charts, shown in Figure 2, can be created and associated with manual tasks within the BPM Designer. In this example, an org chart has been modeled to capture the reporting hierarchy of the analysts responsible for each type of Error Report: Customer Analysts, Sales Analysts and Product Analysts. The org chart is then assigned to each of the manual tasks in the Data Management business process. Now the business process is independent of the specific IT security structures, which often evolve in an organization, and reflects the true business responsibility hierarchy. As the business hierarchy changes, the org chart may be updated and the business process automatically reflects this change without any additional development effort.
The second component of business modeling in the BPM Designer is the concept of Geographies. As the name implies, a Geography represents a physical location. Locations may be incorporated into process models to determine users available to complete manual tasks.
User Interaction
In the example business process created for this review, there are manual tasks that must be completed in order for the process to finish successfully. User tasks are managed in the BPM Web application, shown in Figure 3. This application provides an out-of-the-box Web portal for viewing, updating, and completing user tasks, as well as basic administration of active processes, depending on user privileges. In the example shown in Figure 3, a task has been created for the Sales Analyst. From this screen, the user may double-click on any assigned task, update the required properties, and complete the task.
As effective as the BPM Web portal is for managing tasks, many organizations will require integration of user tasks and activities into existing portals or other applications. To facilitate this requirement, the BPM Suite provides a full Web services API for task management and administration. It provides access to all tasks and the data supporting those tasks. In the case of the example process created, the full Error Report document is accessible in its raw XML form, providing for the application of stylesheets for presentation to the user.
Summary
Business process management is becoming increasingly important to today's corporate environment. Challenges abound for IT professionals because BPM solutions must typically cross system boundaries and business departments. This requires strong systems integration capabilities and an intuitive business user environment. Bluespring Software's BPM Suite is an offering that helps address these challenges. It leverages the .NET platform's strong support of Web services with some well thought-out functionality to provide a solid foundation on which to perform business process management.
Notes
At the time of this writing, Bluespring is preparing the release of version 4.3 of the BPM Suite due in October of 2005. Some highlights of the new release include:
- Embedded business rule engine
- Integration with Visio to support diagramming in the tool using a Bluespring-specific template or a standard BPMN template
- Updated Sharepoint integration
About Brian BarbashBrian R. Barbash is the product review editor for Web Services Journal. He is a senior consultant and technical architect for Envision Consulting, a unit of IMS Health, providing management consulting and systems integration that focuses on contracting, pricing, and account management in the pharmaceutical industry.