Showing posts with label case management. Show all posts
Showing posts with label case management. Show all posts

Friday, September 22, 2017

Watch Drools, jBPM and Optaplanner Day LIVE (Sept 26)

We will be streaming all the sessions of the Drools, jBPM and Optaplanner day in New York on September 26th 2017 LIVE !  Check the full agenda here.

Use the following link to watch: http://red.ht/2wuOgi1

Or watch it here:


Part 2:



Tuesday, July 4, 2017

Take a look at jBPM 7.0

It's been a while since we released a new mayor version of the jBPM project, but I'm happy to announce that jBPM 7.0.0.Final is now available.
For those not yet familiar with our project, jBPM is a completely open-source Business Process Management (BPM) and case management solution.  It supports to full life cycle of processes and cases, from authoring tools through execution all the way to monitoring and management.
For the readers that don't have too much time to read all of the details below, some of the major new features include:
  • Case management capabilities
  • New simplified authoring experience for creating projects
  • Business dashboards
  • Process and task admin api
  • Process and task console can connect to any (set of) execution server(s)
  • Preview of a new process designer and form modeler
  • A new security management UI
  • Upgrades to Java8, WildFly 10, EAP 7, etc.
You can find all information here:
Downloads
Documentation
Release notes

Ready to give it a try but not sure how to start?  Take a look at the jbpm-installer chapter.

A quick introduction to some of the most important features is available below.

Case management 

Case management has been a hot topic in the BPM world for a few years now (and maybe even longer under terms like flexible and adaptive processes etc.).   Case management use cases are different from more traditional business processes since they (typically) require more flexibility and support more unstructured and unplanned work. Rather than following a nicely predefined plan from start to finish, actions are more ad-hoc decisions, what to do next is more based on the data associated with the case, the end user needs to be given the flexibility to decide what to do next (although recommendations are welcome), etc.
Ever since v5 our core engine has always had a lot of advanced features to support more flexible and adaptive use cases. While we did introduce some case management building blocks in v6 already, v7 comes with a lot more extensive support for case management use cases:
  • Core engine: extended to support more advanced features like case file, ad hoc and dynamic work, stages and milestones, case roles, etc.  All these features are available through the remote API as well.
  • The web-based authoring environment has been extended to support defining your own cases, with a case project wizard, additional case building blocks and properties in the process editor, etc.
  • A new web-based case management UI that showcases how you can use the latest features and manage cases.  This UI is built from a number of independent UI building blocks that you can use in your own application as well.

New authoring experience

The experience you get when you open the workbench for the first time, create a new project (or import an example one) and create your first processes, data models and forms has been updated significantly.



Business dashboards

Where it was possible to create your own dashboards in v6 using the (separate) dashbuilder application, dashbuilder has been refactored completely to better align with the workbench technology.  It is now possible to do all of this from within the workbench, and integrate it in your own applications as well.



Process and task admin api

A new API has been introduced that includes powerful capabilities for process and task administrators. The process admin API allows you to:
  • get all process definition nodes
  • cancel node instance
  • retrigger node instance
  • update timer (absolute or relative)
  • list timer instances
  • trigger node
The task admin API allows you to:
  • add/remove potential owners, excluded owners and business admins
  • add/remove task inputs and outputs
  • list/create/cancel escalations and notifications
Process and task console separate from execution server

Our web-based management and monitoring console used an embedded execution server in v6 to execute all process and task operations.  We also offered a standalone process execution server.  In v7 the monitoring console is a UI front-end only, all requests for process and task data and operations on them are delegated to a standalone execution server.   The main advantage is that the console can now 'connect' to basically any (set of) execution servers out there.  

When multiple independent kie-servers are used, you can either connect to a specific one or use the smart router to aggregate information across multiple servers:
  • requests can be sent to the smart router, it will be able to figure out which of the known kie-server instances the request should be sent to
  • when trying to retrieve information, the smart router can collect information from different servers and aggregate that information for you
Preview of new form modeler

The form modeler has been upgraded significantly as well.  The new form layout system (based on the Bootstrap Grid system) allows more advanced and flexible layouts, new widgets, generation of forms, a Java-based file format and much more.  We will do a few more feature enhancements before we will remove the old form modeler in one of the future minor releases.



Preview of a new process designer

We are working on a completely new web-based process designer, and this release introduces a early preview (where we only support a small subset of the full feature set).  The idea is to move away from a very developer-focused UI and introduce an easier to use interface for different kinds of users.  Properties behave much more as advanced forms (rather than a table of key-value pairs) and the user is assisted as much as possible whenever we can (using content assist, etc.).

Currently it is still recommended to use the existing designer for modeling your business processes (since the capabilities of the new one are still limited) but feel free to give it a try and let us know what you think.


A new security management UI

While it was already possible to define users and groups (and their relationship), a new security management UI allows you to define permissions for all of these users (or groups).  You can control who can use which part of the UI, but also which projects users have access to, etc.



Decision Model and Notation (DMN)

Drools has introduced support for the DMN standard, and since jBPM integrates closely with Drools for rule execution, you can now trigger DMN rules from a business rule task.

Other features
  • Minimum Java version was upgraded to Java8
  • Support for WildFly 10 and EAP7
  • New preferences page
  • Data source management
Please take a look at the full release notes for more details. jBPM is integrated closely with the Drools and Optaplanner projects (for business rules and constraint optimization respectively), so take a look at the Drools and Optaplanner release announcements for more details on how some of the new features you can use in combination with your processes as well !

Friday, November 18, 2016

bpmNEXT recording on case management

The recordings from the bpmNEXT 2016 conference (which I blogged about here) are available (for quite some time already it seems, I must have missed it somehow), but wanted to share the video of the presentation I did related to case management. 

It's a topic we are asked about regularly, and this presentation + demo might give you a good idea of where we are going:



Since then, we've made good progress, if you want to know more, take for example a look at the blog series by Maciej about case management as well.

Tuesday, October 26, 2010

Towards Case Management

Case management was one of the recurring themes last week at the Business Process Forum. There definitely seems to be a growing need amongst end users for more flexible and adaptive business processes, without ending up with overly complex solutions. Everyone seems to agree that using a process-centric approach only in many cases leads to complex solutions that are hard to maintain. The "knowledge workers" no longer want to be locked into rigid processes but wants to have the power and flexibility to regain more control over the process themselves.

The term case management is often used in that context. I'm not going to try and give a precise definition of what it might or might not mean [1,2], but it refers to the basic idea that many applications in the real world cannot really be described completely from start to finish (including all possible paths, deviations, exceptions, etc.). Case management takes a different approach: instead of trying to model what should happen from start to finish, let's give the end user the flexibility to decide what should happen at runtime. In its most extreme form for example, case management doesn't even require any process definition at all. Whenever a new case comes in, the end user can decide what to do next based on all the case data.

A typical example can be found in healthcare (clinical decision support to be more precise), where care plans can be used to describe how patients should be treated in specific circumstances, but people like general practitioners still need to have the flexibility to add additional steps and deviate from the proposed plan, as each case is unique. And there are similar examples in claim management, helpdesk support, etc.

So, should we just throw away our BPM system then? I don't think so! Even at its most extreme form (where we don't model any process up front), you still need a lot of the other features a BPM system (usually) provides: there still is a clear need for audit logs, monitoring, coordinating various services, human interaction (e.g. using task forms), analysis, etc. And, more importantly, many cases are somewhere in between, or might even evolve from case management to more structured business process over time (when we for example try to extract common approaches from many cases). If we can offer flexibility as part of our processes, can't we let the users decide how and where they would like to apply it?

Let me give you two examples that show how you can add more and more flexibility to your processes. The first example shows a care plan that shows the tasks that should be performed when a patient has high blood pressure. While a large part of the process is still well-structured, the general practitioner can decide himself which tasks should be performed as part of the sub-process. And he also has the ability to add new tasks during that period, tasks that were not defined as part of the process, or repeat tasks multiple times, etc. The process uses an ad-hoc sub-process to model this kind of flexibility, possibly augmented with rules or event processing to help in deciding which fragments to execute.


The second example actually goes a lot further than that. In this example, an internet provider could define how cases about internet connectivity problems will be handled by the internet provider. There are a number of actions the case worker can select from, but those are simply small process fragments. The case worker is responsible for selecting what to do next and can even add new tasks dynamically. As you can see, there is not process from start to finish anymore, but the user is responsible for selecting which process fragments to execute.

And in its most extreme form, we even allow you to create case instances without a process definition, where what needs to be performed is selected purely at runtime. This however doesn't mean you can't figure out anymore what 's actually happening. For example, meetings can be very adhoc and dynamic, but we usually want a log of what was actually discussed. The following screenshot shows how our regular audit view can still be used in this case, and the end user could then for example get a lot more info about what actually happened by looking at the data associated with each of those steps. And maybe, over time, we can even automate part of that by using a semi-structured process.

We hope that already goes a long way in supporting your cases!