The new Ajax-based portal environment serves both process development and run-time delivery. The portal itself uses business rules to dynamically build the Ajax environment (rather than being a static portal environment with Ajax built into it). As with the previous version of Process Commander, the user experience is composed (and driven) at run time based on the rules and process definitions. With the Ajax upgrade, the user interface itself is more intelligent, as it responds to the intent that was defined in the process and rules base. New rule-driven "pop-ups" help the user quickly identify related information.
The Process Commander portal is role-based and augmented by a rich security model that ensures people only see the information and processes they're supposed to see. What's more, the buttons and choices made available are dynamically constructed based on the context of the case. This functionality supports a "delegated development model" that ensures the appropriate managers, analysts and administrators maintain the rule sets that directly affect their part of the business.
The look and feel of the development environment has been updated and modernized. The developer's desktop is split across six areas representing the different roles involved in development: Process, Decisions, User Interface, Integration, Reports and Security. All six areas are under the control of the security model to ensure that the right user interface is delivered to the right class of user.
Within the development tooling, users can see snapshots of an object just by hovering over its name. Control over the content of a pop-up in the user portal is defined declaratively using rules, and the corresponding Ajax code is generated and managed automatically. Moreover, these intent-driven interfaces can be updated instantly as higher level policy changes ripple down through the rule sets.
For modeling, Process Commander relies on Microsoft Visio, which must be available on the designer's desktop. It's launched through an OCX control into the browser window (along with the relevant stencil). A check-in/out mechanism ensures that the process model is only worked on by one individual at a time (typically these models are relatively small parts of larger models).
The system stops short of providing process support for the development activity itself (using the power of the process model and rules to guide the developer). However, a context-sensitive help system calls the relevant references at the field level. In the next version, this will extend right into facilitated online discussion groups and product support.
Prepare for a Few Rough Spots
Developers face some issues I would not have expected. For example, since the entire execution environment relies on Java, there are no built-in dialogues for role assignment. Work is assigned based on a property set of a Java class. Creating a new role for a given process model is somewhat cumbersome and convoluted.
Although a business user will probably be unnerved to see the underlying Java code exposed in the configuration dialog (though role-based security can protect the faint of heart from seeing it), the IT community will feel relatively comfortable inspecting the dynamically generated Java code. Depending on the needs of the application, this code can be embedded or, if need be, developers can embed their own Java code into the application (although this could easily break the round-tripping associated with a model-driven environment).
Version 5.1 facilitates introspection of third-party applications, letting developers represent such applications in the development environment without actually connecting to live production systems. An LDAP wizard is also provided to guide a system administrator through the process of creating single-sign-on access to third-party applications.
In the Process Analyzer component, wizards are used to build differing "scenario definitions" that become automated tests for the application. These simulations leverage existing performance data, with measurement carried out automatically.
Measure to Manage Bottlenecks
Version 5.1 also delivers new functionality to support deployment, including an "Autonomic Event Services" module, which monitors the health of third-party applications, measuring fine-grained service-level agreement (SLA) information. This helps in the overall management of the environment, tracking response times and helping eliminate bottlenecks associated with third-party applications. The module offers wizard-style support for setting up monitors across multi-node, multi-server clustered environments and WANs that are common in most large businesses.
Pegasystems has set itself a challenge: to unify and simplify the worlds of both business process and rules as they interact with line-of-business data. Competitive products tend to treat these as distinct disciplines, which implies multiple skillsets, but perhaps more importantly, a less-extensible application. All BPM products require you to jump through a few hoops to get started, it's just that Pega's hoops are a bit higher than most. However, given Pega's focus on supporting BPM applications across global organizations (rather than just a process or two at a time), the rewards--like some of the challenges--are on a bigger scale.
Derek Miers is an independent business process management analyst and consultant. Write him at [email protected].