IBM® WebSphere® Process Server is a powerful software platform that enables business process management applications for your enterprise. This article covers the new features and functions available in Version 7.0, released December 11th, 2009.
In this article, you will learn about enhancements in many areas, including:
- Administration of human-centric workflow processes.
- User experience improvements.
- Installation and migration improvements.
- Support for open standards.
- Shortened development cycles.
- Productivity improvements.
- Support for updated versions of prerequisite software.
Enhanced workflow capabilities
WebSphere Process Server automates business processes, whether they are integration-centric, human-centric, or a mix of the two styles. There are several enhancements in Version 7.0 to support additional workflow scenarios.
A common workflow requirement is to have two or more approvers look at the same request to "vote". In previous versions of WebSphere Process Server, you can explicitly model the parallel approvals in your process, or use a loop for multiple iterations. In Version 7.0, it is now possible to have a parallel approval with voting and result aggregation.
In this scenario, a parallel routing task is assigned to a group of users. For each assigned user, a subtask is automatically created. The output of the parallel routing task is created by aggregating the results from the subtasks.
When defining a human task, a new attribute enables you to set the ownership pattern to single or parallel, as shown in Figure 1.
Figure 1. Ownership pattern
An optional completion function is available to preemptively complete the task, even if all of the subtasks are not yet completed. For example, if a simple majority of two out of three people is needed for approval after two "yes" votes, there is no need for the additional person to perform the approval. In the task properties, the conditions for preemptive completion are defined, as shown in Figure 2. You can specify a time or a condition. Simple predefined conditions as well as the ability to define a custom condition are provided.
Figure 2. Completion properties
Once the subtasks have completed or the completion condition has been met, the results need to be aggregated into the output of the human task. In the human task properties, the aggregation is defined, as shown in Figure 3. Predefined functions are provided for different data types. For example, when using an int data type, the aggregation functions include average, minimum, maximum, and total.
Figure 3. Aggregation properties
WebSphere Process Server V7.0 added API support to migrate in-flight processes from one version to another. Instances can be migrated, as long as all changes to the business logic are still in the future instance. For example, if a human task named ApprovalTask exists in both the old and new versions, you can migrate a process instance that is currently on that task. If the task does not exist in the new version, you cannot migrate to that process version. Version 7.0 enhances this capability by adding migration support to the Business Process Choreographer.
To migrate a process instance to a new version:
- Log in to the Business Process Choreographer Explorer.
- Click Process Instances - Administered By Me.
- Locate the process instance you are interested in, and click the link for the process instance's name.
- Along the top with the other actions, you will see the "Migrate"
button if a process template at a newer version level is available, as
shown in Figure 4. Click Migrate. The instance is migrated.
Figure 4. Migrating a process instance
Version 7.0 also provides a rich set of functionality for changes that you can apply to a running process.
In addition to migrating versions, you can modify in-flight processes to:
- Add or remove activities
- Modify properties of an activity
- Add or remove branches and links
- Modify conditions associated with branches and links
- Modify fault handling
- Add variables
- Change Quality-of-Service properties
- Change transactional behavior or a process or its activities
- Change the deletion behavior or a process
- Reset timers
- Repair correlation sets
- Modify process instance ownership
These new capabilities enable greater flexibility for workflow processes. Authorized administrators can change a process instance "on the fly" to meet the needs of the business.
Page flow support
Previous versions of WebSphere Process Server introduced the concept of a page flow, where you complete your work item and claim the next one in the same process, all in one single action, through the use of a new API. In Version 7.0, you can leverage this capability out-of-the box, with the default Business Space user interface.
To enable page flow support for a human task:
- In the Process Editor, select a human task.
- In the Properties tab, click the Environment tab.
- Add a custom property by clicking the Add button. Specify
htm.hasNextfor name, and
truefor value, as shown in Figure 5.
Figure 5. Custom property for human task
When the process is deployed, this property tells the runtime engine that this task is to be used in a page flow. At runtime, when you are working on the human task, the Task Information widget has a Next button rather than the normal Submit button, as shown in Figure 6. Clicking the Next button calls the completeAndClaimSuccessor API, going directly to the next human task in the flow.
Figure 6. Page flow
Accept next available task
In a traditional workflow, a person decides what to do next by selecting a task from a list. In some cases selecting the task is looked at as a wasted step, since the person might need to always select the newest task, highest priority, or by some other sorting method. In other cases, you may not want to let the user decide what to do next, so they do not just "cherry pick" the easiest tasks. To support these scenarios, the Task Information widget has a new setting to accept the next available task, as shown in Figure 7. When you enable this option, you can select which task list to retrieve the next task from, and select the order in which to get the next task. Now the user saves a step by having the system automatically get the next task for them in their preferred order.
Figure 7. Task information settings
In some cases, it is required to initialize variables before they are used in a process. In previous versions of WebSphere Process Server, you use a BPEL Assign activity or a Java™ snippet to initialize variables. In Version 7.0, you can specify a default value in the properties for each variable, as shown in Figure 8.
Figure 8. Assigning a default value
When using an Assign BPEL activity, you can use new option called "Value Composer" to select from the list, as shown in Figure 9.
Figure 9. Selecting the Value Composer
The Value Composer enables you to enter values for a complex or simple type. You can either use the Value Composer shown in Figure 10, or you can select the radio button to use the XML editor. The Value Composer is available for Assign activities as well.
Figure 10. Value composer
WebSphere Process Server has a feature called Query Table that improves performance for large deployments. If there were hundreds of thousands of human tasks, it takes some time for the database to refresh a work list or find a particular human task instance. You can use query tables to speed things up.
A developer can create a query table definition using the Query Table Builder tool. The administrator then deploys the query table definition onto the server. The query tables are then used by the Human Task Manager APIs, specifying the query table to use, as shown in Listing 1.
Listing 1. Query table API example
// retrieve HTM EJB InitialContext context= new InitialContext(); Object object = context.lookup("com/ibm/task/api/HumanTaskManagerHome"); HumanTaskManagerHome htmHome = (HumanTaskManagerHome) javax.rmi.PortableRemoteObject.narrow(object, HumanTaskManagerHome.class); HumanTaskManager htmEJB = htmHome.create(); // claim task FilterOptions filterOptions = new FilterOptions(); filterOptions.setThreshold(20); // claim within the first 20 entries ClaimResult result = htmEJB.claim("CUSTOMER.HIGHTHROUGHPUT", // use this qtd filterOptions, // pass filter null, // current user null, // no parameters to provide 10); // 10 retries
Substitution support has been enhanced to support a new pattern: a temporary absence defined by a time interval. Rather than having to mark someone as absent, then having to mark them as being back, you can use this new pattern. The Business Process Choreographer (BPC) Explorer has been updated to support this new function.
Business Space enhancements
Business Space powered by WebSphere is the Web 2.0 user interface, which all of the WebSphere Business Process Management (BPM) products use. Each product provides a set of widgets, which plug in to Business Space. In WebSphere Process Server V7.0, there are a number of enhancements to Business Space.
In addition to the existing workflow widgets (Human Workflow Diagram, Task Definitions List, Task Information, and Task List), there are three new widgets in Version 7.0:
- Escalations List
- Task Information
- Human Workflow Diagram
In the Escalations List widget, you can view or start any escalations you are authorized to access, as well as check any escalations assigned to you. Escalations can be filtered using the menu and column headers. Figure 11 shows the Escalations List. The highlighted pulldown menu has options to browse all escalations, manage escalated tasks, or to escalate a task, even if the timer has not yet been reached. As a default, the Escalations List widget is wired to the Task Information widget. Clicking the Open the task icon brings up the escalation information in the Task Information widget, if you sent the notification as a work item.
Figure 11. Escalations List
The process definitions list displays a list of process templates, as shown in Figure 12. Click Open the process definition to display the process definition in another widget, such as the Human Workflow Diagram widget.
Figure 12. Process Definitions List
The processes list displays a list of process instances that have been started, as shown in Figure 13. You can open the process by clicking the icon at the right, or by selecting the process, then clicking Open.
Figure 13. Processes List
As with previous versions of Business Space, you can click to the right of a column header, then select the up or down arrow to sort. In a production environment where the number of processes in the list is quite extensive, it is helpful to not just sort, but also to filter the list. A new feature in Version 7.0 filters the lists in the Business Space widgets. To set a filter, fly over the left-hand side of a column header. The filter icon appears, as shown in Figure 14. You can select it, then enter your filter. You do not need a wildcard. If you want all process names starting with "Pr", you simply enter "Pr" as your filter. The list will now show only the items that match the filter criteria.
Figure 14. Set a filter
Solution administration widgets
In previous versions, Business Space was targeted primarily for business users. Version 7.0 adds new capabilities for solution administrators, with several new widgets that enable them to create solution management spaces using out-of-the-box templates.
The Module Administration widget displays a view of a deployed module, similar to the layout in WebSphere Integration Developer, as shown in Figure 15. You can view and update module properties, as well as module policies created through WebSphere Service Registry and Repository. The status of the service control points can be viewed through this widget as well.
Figure 15. Module administration widget
The Business Calendars widget is used to administer and manage time tables. You can create or delete events in the timetables. The Security Roles widget as shown in Figure 16, enables the solution administrator to manage system and module roles, assigning users to the roles of BPMAdmin and BPMRoleManager.
Figure 16. Security Roles widget
Service administration widgets
A new set of widgets enables service administration. The Service Monitor widget monitors service response times and throughput in a graphic chart, as shown in Figure 17. You can configure statistics to be provided using operations, such as mean, min, and max, time periods of one second or one minute, or since the monitoring started. You can also compare monitoring data sets.
Figure 17. Service Monitor widget
Store and Forward is a new quality of service available in WebSphere Process Server V7.0. Two new widgets are used to manage the store and forward of messages sent to a target service. The Store and Forward widget lists all service points with this quality of service enabled, while the Store and Forward Details widget is used to view and manage the endpoints themselves. In the case of service failures, the service requests are stored. Administrators can resubmit the stored requests. This feature enables easier migration for WebSphere Interchange Server users.
Module Health widget
A new Module Health widget is provided to monitor the health of your modules and to diagnose any problems. You can view and act on information about your environment and topology. A multi-tabbed interface enables you to view information about your system. The Topology tab shows the status of deployment environments, clusters, and stand-alone servers, as shown in Figure 18.
Figure 18. Topology
The System Components tab shows the status of server, Business Space, and BPC and SCA components, as shown in Figure 19.
Figure 19. System Components tab
The System Messaging Engines tab shows the status of your messaging engines. The Queues tab shows the status, depth, and utilization of queue points defined to your messaging engines, as shown in Figure 20.
Figure 20. Queues tab
The Data Sources tab shows the health of database data sources. The Failed Events tab shows any failed events in the system. You can sort any column in any of these new widgets by clicking on the column header.
These new widgets enable administrators to access information about the health of the system, which was previously only available from the administration console. Instead of navigating through dozens of screens, it is now consolidated into a single view.
System Health widget
The new System Health widget monitors the health and status of your deployed integration modules, enabling you to quickly diagnose problems. Whereas the Module Health widget previously discussed drills into the health of a particular module, this widget looks at the health of the overall system. A multi-tabbed interface is used to drill down to see information. Server and cluster status is displayed in the Topology tab. Application status is shown in the System Applications tab. The Applications tab shows information about deployed applications, as shown in Figure 21. Information about queue points is displayed in the Queues tab.
Figure 21. System Health widget
Other Business Space updates
Existing widgets have been improved for ease of use, with less configuration required out-of-the-box. Business Space is now based on Lotus Mashups 2.0, enabling greater interoperability with existing widgets. Widgets created for Business Space Version 7.0 can now run in WebSphere Portal Server Version 6.1.5.
WebSphere Process Server is built on an SOA foundation. Version 7 brings numerous changes to leverage newer standards and improved performance. Event sequencing is now supported in both WebSphere Process Server and WebSphere Enterprise Service Bus (ESB).
New SCA container
WebSphere Process Server V7.0 is based on WebSphere Application Server V7. A new Service Component Architecture (SCA) container delivers significant improved performance. In previous versions, a deployed module required an EJB project to be generated and deployed. The new SCA container eliminates this requirement in most cases, improving the speed of code generation, packaging, deployment, and validation. There are no programming model changes required to leverage this new functionality.
The Version 7 runtime includes both the new and the V6.2 versions of the SCA container, enabling support of projects built for either version. Modules in V6.2 and V7 modes can interoperate.
These enhancements enable faster deployment of BPM solutions from WebSphere Integration Developer, WebSphere Business Modeler, or from the command line.
Business object runtime
In previous versions, business objects were based on the Service Data Object (SDO) programming model, with an Eclipse Modeling Framework (EMF) implementation. In Version 7.0, the programming model is still SDO, but the implementation is now XML-based. This improves performance in some cases, and enables improved XML handling. The new implementation enables you to use weak data typing, casting, and other complex data handling functions. Both the V6.2 and V7.0 implementations are included with the runtime for compatibility, and both can interoperate with each other. If you wrote EMF code in previous versions rather than using SDO as recommended, you need to remain at the V6.2 level. If you did use SDO code, your modules can run in V7 mode without any coding changes.
WebSphere Process Server V6.2 supported SCA imports with EJB 2.1 bindings. Version 7 now supports the EJB 3.0 specification, while still supporting EJB 2.1. You can now use SCA exports to expose modules with a local EJB interface, while imports can call a local EJB. Both WSDL and Java™ interfaces are supported.
WebSphere MQ V7 support has been added for both MQ and MQ JMS bindings. These bindings now use the MQ V7 JCA resource adapter, which provides support to both MQ V7 and earlier interfaces. Rather than using listener ports, you now use activation specifications. You can specify a pre-configured one, or you can create it automatically when the application is installed. In previous versions, MQ Client and CCDT connections were supported. In Version 7, support has been added for BINDINGS and BINDINGSTHENCLIENT connections.
All MQ and JMS bindings now support Pub/Sub, where a message is published to a topic, rather than to a queue.
Store and Forward
WebSphere MQ and JMS offer persistent messaging as a quality of service. If the message target is offline, the message is stored on disk so it can be processed once the target system is back online.
WebSphere Process Server and WebSphere ESB V7 enable you to use Store and Forward so that messages are persisted to disk, then sent on to the target once the service is again available. Store and Forward is available for both synchronous and asynchronous services. An SCA qualifier for Store and Forward is available on asynchronous services. See the section on Business Space for information about the Store And Forward widgets.
Store and Forward is not supported for synchronous calls from long running processes.
Improved time to value
The installation and configuration of WebSphere Process Server have been improved, including easier cluster configuration. Topology and database configuration and management have been improved. You can import and export static relationship data, simplifying the process of loading the relationship tables.
Moving to Version 7.0 from an earlier version
WebSphere Process Server V7 has common commands and a user interface for version-to-version migration utilities across WebSphere Dynamic Process Edition, WebSphere Business Services Fabric, WebSphere Process Server, WebSphere ESB, WebSphere Business Monitor, and WebSphere Business Compass. WebSphere Process Server for Multiplatforms or WebSphere ESB for Multiplatforms environments running V6.0.2, V6.1.0, V6.1.2, or V6.2 can migrate to V7.0 in a single step.
WebSphere Process Server V7 has been updated to support newer versions of software and standards:
- On z/OS®, delivers improved integration of the WebSphere Customization Tool with the WebSphere Process Server for z/OS installation experience, enhanced tool support assists the DB2® database creation process, and a Common Installer Framework that provides an integrated experience for all z/OS BPM products.
- Microsoft® SQL Server 2008 can be used as the underlying database for storing WebSphere Process Server program data (excluding Business Process Choreographer Explorer reporting capabilities).
- Java EE 5, EJB 3.0, JPA, Java SDK 6 support, and enhanced Java integration are now supported.
- Web services support enhancements include WS-Addressing, attachments, Kerberos token profile, and WS-Policy support. Referenced attachments are also now supported, with a MIME binding generated in the WSDL.
- Interoperability has been added for Open SCA, enabling secured transactional connections over a standard protocol.
- OSGi support has been enhanced, with enhanced XML fidelity.
Product information updates
The Information Center for WebSphere Process Server V7 has been enhanced with more welcome pages that provide tabbed areas for learning, accomplishing tasks, and finding additional support, as shown in Figure 22. Linked search terms in the "tag clouds" at the beginning of the topics improve indexing for search and provide a useful, alternative means of navigating the documentation. The Information Center has also been improved to enable better search engine indexing.
Figure 22. Information Center
Information to facilitate version-to-version migration has been improved, as well as integrated, cross-product procedures, commands, and user interfaces for migrating business process management runtime products.
Scenarios are used to describe products and key tasks in terms of high-level user goals and the business process management lifecycle. More information has been included on common configuration scenarios, network deployment, database configuration, and Business Space.
Other Version 7 enhancements include:
- Custom properties for processes and activities can now be binary.
- The REST API has been extended for greater support of business processes and human tasks.
- The BPC Explorer has new support for repairing error situations:
- Join condition evaluation errors
- Loop condition evaluation failures
- For Each activity counter value evaluation errors
- Transition Condition evaluation failures
In this article, you learned about the new features and functions available in WebSphere Process Server Version 7.0. You learned how support for workflow scenarios has been enhanced, how Business Space now supports administrative functions and business users. You also learned about new standards support, an improved SOA core, and better performance.
- WebSphere Process Server Version Version 7.0 samples and tutorials
- WebSphere Process Server Version Version 7.0 Information Center
- WebSphere Process Server discussion forum