A long time ago, IBM Case Manager (ICM) was known to peek over the back fence into the yard of his neighbour, IBM Business Process Manager (IBPM), and gaze longingly at the advanced process capabilities that lived there. Sometimes, ICM would see IBPM doing the same, admiring ICM's powerful case modelling, persistence and process orchestration.
One day, the two decided it would be really cool if clients who had both offering could more easily build solutions where one could call the other; a process could create an ICM case if a more collaborate exception step was required or a case could launch a IBPM that might already be available as a service.
For the latter use case, a feature was added to Case Builder where a case activity (known as a case task back then) could be linked to an existing IBPM process using the "Task with existing BPM Process" command. This command, only visible if an IBPM was pointed to during installation, allowed the selection of a process from a specially named Process App and the mapping of case properties to process variables on launch (inputs) and completion (outputs).
Although this was a very useful capability for our clients, it was still a very arm's length integration, with the process not really knowing much about the case that launched it other than through the case properties that were passed in.
Fast forward to today! That fence has been torn down. Case and Process have moved into a nice new home called Business Automation Workflow (BAW) on a street called Digital Business Automation with their fantastic neighbours Tasks (RPA), Decisions (OBM), Content (ECM) and Capture (Datacap).
With BAW, Case and Process are much more tightly integrated with (IBPM) Processes on their way to becoming the primary method of automating a structured case orchestrated activity. This enhanced integration can be seen in the updated Activity features of BAW 184.108.40.206.
The Activity with Existing Process feature has been enhanced to allow the selection of any process from any exposed Process App.
The Activity with New Process command is a new command available when you create a new BAW Project or promote and existing ICM 533 solution to a BAW Project (your case solution will work exactly as it did before and you will see these new features).
Instead of selecting an existing process that you or someone else has already created and made available, this command lets you create new process and store and manage it as part of your BAW Project. One big happy family!
But wait, there's more!
New system properties and methods have been added to processes that are launched from case activities.
Note! In BAW 220.127.116.11 we improved the way you find and access the case specific methods by adding a parentCase object to currentProcessInstance and moving all the individual case methods into it. Existing use of 18.104.22.168 API is still supported but has been removed from the auto-complete helper.
These properties on the currentProcessInstance object contain the case folder ID (FileNet GUID) and the name of the FileNet server. These values can be used with the handy Content Management Toolkit that can be added to your projects since many of services require those values as inputs to identify the content object that the service is interacting with.
These content management services and can be performed on any content management object including a BAW Case Folder instance where all the case property values are persisted as folder meta data.
But what about other operations a process might want to perform on its parent case? For that, we have made it even easier with a new set of parent case related methods you can call on the currentProcessInstance object. These include operations like:
tw.system.currentProcessInstance.addCommentToParentCase("Here we go!", true);
The full set of currently available case related methods can be viewed here:
Although this is a great start, we are busy working on our next update that will make interacting with case properties even easier. We are also working on new integrations with our other family members and neighbours.
Maybe we should plan a block party!