Oracle has just released BPM 184.108.40.206 (also known as “PatchSet 6”). This release adds a lot of new functionality so I wanted to share with you an overview of what’s new.
For the rest of this post, I will be assuming that you are familiar with the functionality in previous releases. If you are new to BPM, you might want to read back over these two earlier posts first:
This release adds what I like to think of broadly as two major new sets of functionality:
- First, it adds all of the tools needed for a business user to be able to use BPM extensively and without the need for a developer (assuming that all of the services and integration they need is in place) – browser based modeling, forms design, simulation, a ‘conference room pilot’/walkthrough capability, as well as enhancements to WorkSpace, BAM and Rules to make them easier for business users, and
- Secondly, it adds cases as a new first class citizen. This release has full support for case management in the runtime engine and in JDeveloper, and exposes APIs to allow you to build your own user interface for case management.
We’ll walk through these in a bit more detail in the remainder of this post. There is also another small new feature that it worth mentioning – PS6 will add the ability to migrate a running process instance from one revision of the process model to another. An ANT-based utility will be available that will allow you to find process instances that are eligible for migration, and to actually perform the revision migration for you. More on this in a later post!
Composer – Process Modeling
There are a number of enhancements to BPM Composer, the web based process modeling environment. Here is the new project screen, let’s discuss some of the new things we see here:
- We can now edit (create and update) not just processes, but also rules, human tasks, web forms, business objects, data objects, roles, business indicators and activity guides right here in composer. ‘What are web forms?’ you say – we will come to that shortly.
- We can define and run simulations in composer.
- We have this new ‘Process Player’ which essentially lets us conduct a test run of a process – to show a business user what it would be like.
The process editor is updated and has a few new options including editing data objects, business indicators and viewing the collaboration diagram.
Here we can see the new data associations editor.
And with this release, we get the ability for business users to author and modify rules in Composer. Here we can see a decision table being created in Composer. You can also define bucket sets, globals, functions, and If/Then rules.
This is the Human Task editor. Here you can see that we can define human tasks in Composer, including the data objects in the payload. We can use the data association editor to map data from process data objects into the human task payload. We can also set the outcomes, priority, deadlines, etc., and choose whether the presentation (task form) will be an ADF Form or a Web Form.
This is the Business Objects editor, where we can define and modify business objects directly in Composer, including simple and complex types, and we can also add documentation.
So, overall we can see that there is a lot of new functionality in Composer, to the extent really that a business analyst could pretty much model all of the process, data and user interface components right here in their browser, without needing any IT or developer support.
Of course, we still need developers to create the business services and publish them into the Business Catalog so that they are available for use in processes!
A major new feature in this release is Web Forms. This feature gives business users the ability to design the user interface for human tasks right here in Composer. You can of course still use ADF if you prefer, or any other web framework, to design the task forms. You can choose on a task by task basis, and you can mix and match as needed.
Web Forms are designed in Composer using a simple drag and drop approach. You drag form components from the palette and drop them on the form, then you can set properties to control things like names, visibility, sizes, colours, and so on.
You also have the ability to write ‘form rules’ which allow you to do things like set up validation of fields, or to show and hide fields based on previous selections, or to autofill parts of the form.
You can also call external services from here. So if you wanted to call a web service to get a list of product codes in order to populate a form on the field for example, this can also be implemented in a ‘form rule’.
Previously, simulation was only available in JDeveloper. Now with PS6, we have the ability for a business user to define and run simulations in Composer.
A simulation is made up of two parts:
- Simulation Models – which provide details for a single process model, like costs, times, resources, etc., and
- Simulation Definitions – which group together all of the simulation models that you want to include in a particular simulation.
You can have as many different simulation models and definitions as you like, and simulation models can be reused across as many simulation definitions as you like.
When you create a simulation model, you have the option of setting the properties for all of the interactive (human) tasks and automatic tasks in the one go:
This is a great new feature – it used to be necessary in older versions to set these one by one for each activity, which could take a long time if you have a lot of activities!
You can also define resources, assign them to roles and give them costs and productivity and availability factors:
When you run a simulation, you can see details right on the process model. This example is showing the average number of instances that passed through each activity in the process per time unit for example:
Simulation allows business users to test one or more processes in various circumstances to understand their behaviour, costs and resource utilisation.
The Process Player is a new feature that is designed to allow a business user to have a test run through a process to see what it would look like. It is intended that this feature would be used to conduct a ‘conference room pilot’ of a process – to allow business users to see how the process would actually look and run before it is actually deployed to the production environment.
Player allows you to visualise how a process is going to work. When you start a Player session, you can map some users to each role in the process, and then start an instance of the process to see how it works.
As you step through the process, you will see the task forms and you can interact with them as if the process were really deployed.
The process model is coloured in as you move through the process so that you can easily visualise where you are up to in the process – what has happened, and what will happen next.
This is intended to provide an easy way to ‘show’ and ‘explain’ the process to the business owners and stakeholders to validate it is correct before moving on to deploy it.
The BPM Workspace has been given a facelift to make it better looking and easier to use. Here is what it looks like:
Some of the frequently requested features have been added in this release – for example easily customisable views (including the inbox), a ‘next task’ button, simplified wizards for task reassignment and delegation which display more user information, not just the userid, and a simplified vacation rules editor.
This new release also allows you to navigate from tasks to process instances easily.
The other main new feature in this release is Case Management. Cases are added as a new first class citizen – alongside BPMN, BPEL, Mediators, Rules, Human Tasks, etc. In this release there is design time support for cases in JDeveloper, and an API to allow you to build your own Case Management applications/user interfaces.
Learn more about Case Management from this series of posts from my colleague Mark Foster: