Metastorm is one of the fastest growing vendors in the BPMS field and seems to be a popular choice in medium sized enterprises. Metastorm take a three discipline approach to enterprise process optimization via their three main product offerings covering enterprise and business architecture, business process analysis and business process management. These software solutions enable analysis, execution and reporting (via their Provision package) of business processes. In this and subsequent articles we focus on their BPM product, explaining its purpose, basic architecture and practical uses.
Metastorm BPM is essentially a human centric business process modelling and implementation tool. It allows pretty quick design and deployment of forms based workflow for windows. Metastorm BPM connects people, information and systems across multiple business area’s (LOB) and provides the tools to create innovative and agile business processes. The product ships with the Metastorm BPM Designer, which offers a graphical process building tool that both developers and business analysts can use to model processes. Using stages and actions, the user can quickly draw out processes with ease. The general concept is that the end user interacts with web based forms to view and capture business data and then follow a back end workflow move the data around to others in the organization or to other business systems. BPM has all of the standard BPMS features, including systems integration (advanced using the optional Metastorm Integration Manager), business rule validation, conditional flow, (a)synchronous (sub) process execution, cross process communication (via raised flags), BPEL support and an easy to understand SDK amongst a long list of other features.
Metastorm BPM process instances are long running and all process data is persisted to the Metastorm database. Architecturally the system is a client / server (engine) setup and uses an XML based request and response model in regards to client / server communication (essentially you can imitate client request messages via the Transaction Protocol interface on the Metastorm engine). The advantage to this is a disconnected architecture is that process data is either in an XML message (the current non committed data) or stored in the database (committed data) – great for moving the system around, backup and high availability. Version 7.x of Metastorm introduced .NET support – server side scripting can utilize JScript.NET and .NET written assemblies can be referenced. Sharepoint Integration is also a key feature in that web parts can be integrated into your existing portal setup.
All in all, Metastorm BPM is a great product for small to medium sized enterprises with excellent integration into existing Microsoft investments (office 2003/7 seamless integration playing big part in this). I can’t possibly talk about all of its offered features in a short post however my plan is to follow this up with talk around Metastorm BPM’s architecture.