You know where I’m not this week? Oracle OpenWorld. You know why? Because after an email conversation where I said that I could attend if my travel expenses were covered, and having them register me for the conference, I was informed that “PR doesn’t cover any hotel rooms or air travel”. Whatever.
However, I did have an in-depth briefing and demo recently on the latest release of Oracle BPM 11g, covering their Business Process Composer modeling tool and the integrated WebCenter Portal for end-user experience, and this seemed like a timely week to publish it.
Front and center is the new release of the Business Process Composer, targeted at business/process analysts, used for modeling and collaborating around business processes. As with many other BPMS, Oracle BPM has one (web-based) tool for the semi-technical analysts to do process discovery and modeling, then another (Eclipsedesktop) environment for the technical developer to complete the design and implementation of the process application. In previous versions, the process could be modeled in the Composer, but the UI could only be created in the JDeveloper IDE; with this release, the analyst can now create the UI directly in the Composer, and play it back as a prototype to show to users and other stakeholders. The Composer functionality doesn’t include complex data transformations or integration requirements, or creating web services, which must still be done in JDeveloper, but it moves the bar considerably for what can be done before developers are (inevitably) engaged in an Oracle BPM project. The Composer also includes simulation based on manual scenarios or runtime data, although it doesn’t show the animations as in the IDE.
We went through a travel request process application to demonstrate some of the UI and modeling capabilities of the Composer:
- Portal view of projects, with links for favorites, projects owned by me, and projects shared with me. From within an open project, there is a presence indicator for other active viewers on the project.
- Supports most of the BPMN 2.0 standard, except for some of the less-common activities, such as conversation handler and escalation handler. What the analyst uses is not fully standard BPMN, however: there are some obvious extensions in the “Interactive” (human) tasks, and in fact, the human task management is very reminiscent of their BPEL4People implementation heritage although they claimed that they are executing BPMN natively.
- The properties available for any given task can be quite technical, although there appear to be some logical defaults if the analyst doesn’t want to (or can’t) specify all of the details in the Composer.
- A UI form can be created for a human task, and can either be based on the payload (process instance parameters) or completely freeform. Although eventually many of the form parameters have to be attached to instance variables, business analysts often think about UI before data, so it’s good not to have to keep jumping out to define an instance variable just to put a field on a form.
- The UI form composer is pretty standard: drag and drop controls, including a wide variety of formatted controls such as email addresses and telephone numbers; dropdowns can be populated with values entered at design time, or called from a database or REST service.
- The process and forms can be played back within the Composer, making it a good tool for prototyping and reviewing with end users: it animates the path through the process, provides the option to launch the form at each human task as a specific user, and can discover and invoke services .
The general idea, as with many other BPMS, is that the business analysis will create the initial forms and processes, then a technical developer will add rules, invoke services, and generally make the application executable. The Composer and IDE can share process models via a common repository, but if I understood it correctly, there’s a bit of a kludge: the IDE must manually move models back to the repository since it uses a different format.
The second major enhancement in this release of Oracle BPM 11g is production case management functionality, enabled through greater integration of ECM capabilities into the BPM product. We went through a demo of the end-user case management functionality within the WebCenter Portal (a restricted-use license of the portal is provided with BPM), which has several panels of information:
- Case information, with tabs for the audit trail (events and comments), data, attached documents (WebCenter Content based on Stellent acquisition, restricted license included with BPM, or any CMIS-compliant ECM), and discussion (forums/wikis).
- Milestones and status; these can be marked complete or reopened based on user permissions.
- Stakeholders, for access control to this class of cases. Permissions are defined in the context of case design, not predefined for entire system.
- Activities, which can be filtered by status, where “Available” means activities that the current user is permitted to start.
- Linked and referred cases; cases can be linked automatically by a model-driven parameter (e.g., account number), or by the user searching and creating a manual connection at runtime.
The JDeveloper IDE is used for modeling cases: defining milestones, outcomes, instance variables, user events and stakeholders, then defining rulesets (either in decision tables, or if-then code) and enabling each rule for different milestones within the case definition. Rules can be self-contained, or can invoke services or trigger processes. Case activities can be manually or automatically activated, and may be human tasks, BPMN processes, or exit to Java. Unfortunately, the case definition environment is still pretty technical, so unlikely to be done by a non-technical analyst.
Oracle is allied with the CMMN case modeling notation standards efforts, which puts them at about the right time in the CM standards wave, although I think that we may eventually see this merge with the BPMN standard.
It feels like Oracle is doing a bit of catching up with the competition: analyst tools for form-based UI design as part of a process application have been available in other BPMS for some time, and the technical nature of the case management designer is behind the times. However, these significant improvements in the Business Process Composer now allow for a complete prototype model to be created and approved by the business before developer involvement.
I haven’t heard any updates on the BPM product coming out of OpenWorld this week, but if you’re there in person, you’ll hear about it before I do. 🙂
It seems a typo. It should not say Eclipse, should be JDeveloper.
“Oracle BPM has one (web-based) tool for the semi-technical analysts to do process discovery and modeling, then another (Eclipse) environment for the technical developer to complete the design”
Not a typo, a mistake. 🙂 I haven’t worked with JDeveloper, I’ve only seen it during demos, and it looked Eclipse-based so I made that assumption since most of the developer IDEs are. Fixed in the post to state “desktop”, which was really the point that I was trying to make, to contrast it with the web-based analyst client.