Building advanced case-driven applications

download Building advanced case-driven applications

If you can't read please download the document

Transcript of Building advanced case-driven applications

Building Advanced Case-Driven Applications

Kris Verlaenen
jBPM Project Lead
Red Hat JBoss BPM Suite Product Architect

Hi, my name is Kris Verlaenen and I'm the jBPM project lead. The jBPM project is a completely open-source BPM project and there's also a supported offering based on this by Red Hat called JBoss BPM Suite.

Unstructured and Adaptive Cases

Unpredictability

StructuredProcess

AdaptiveCase

DynamicCase

Complexity

What I would like to present today is how we are including support for more adaptive and dynamic cases. We see this as an extension to processes, supporting more flexibility using more advanced features.

Unstructured and Adaptive Cases

Structured Process

Dynamic Case

?

No clear line between
what is a process and what is a case

We believe that there is a wide spectrum of processes, from well-structured to completely dynamic, where nothing is defined upfront, and that there is no line between where a process ends and where a case starts.

Foundation

Flexible BPMN 2.0 - based engine

Meta-driven extensionsCase roles

Ad-hoc choice

Dynamic tasks

Milestones/ stages

Etc.

The approach we have taken is to add support for these more advanced features, that aren't unique to cases, on top of what we already have, a flexible process engine based on BPMN 2.0.

Foundation

Integrated processes, rules and events

The close integration that we have with business rules and event processing inside the engine makes it possible to extract certain business logic in adaptive cases under the format of for example rules or decision tables.

Demo Example

Ad-hoc Choice

Dynamic
Modifications

In the demo I will present a simple healthcare example where a patient is followed across multiple stages of diagnosis and treatment, and it's the doctor who will be making all the decisions.

Case-driven applications
=
Helping you develop
your application

But users don't just want to build processes or cases, they typically need applications that end users can depend on to achieve certain goals, and we want to help developers with that as well.

Case-driven Applications

Processes, Cases, Rules, TasksEnd UserApplicationEnd UserApplicationEnd UserApplicationWorkbenchOur approach is to offer all the building blocks so our users can quickly create these applications by combining and customizing the features and UI building blocks they need.

Domain-specific Applications

?

?

?

?

End User

A first reason that explains the need for custom application is that the various UIs that a BPM solution offers to keep track of running instances or task lists are usually too generic and not using the language the end user is expecting.

Customize

On top of that, UIs that are customized and tailored to the specific use case of the end user are much more capable of showing exactly the right data in the right way.

Choose Your Building Blocks

And while cases can potentially use advanced features like milestones and ad-hoc tasks, every case is different and so the user can choose which features are relevant.

For example, our demo application consists of a UI that is custom built for our use case. As you can see it's using healthcare-specific concepts and everything can be customized to the detail.

Case Details

Milestones

Case Roles

Active Tasks

Ad-Hoc Choice

Case Description

But this UI is based on more generic building blocks for showing for example case details, milestones that have been achieved, case roles that are participating, tasks, etc.

Intelligent Process Execution Server

ProcessesExecution Server FoundationCasesRulesQuery......

REST APIThose screen components get their information from our intelligent process execution server, that offers easy-to-consume REST endpoints to provide the data that is required and to interact with the cases.

Screen Components

Reporting

Our workbench allows you to combine existing UI building blocks, like small screen components or reporting charts into these custom views and applications using drag and drop.

Custom Application

Extend Workbench

Administrators can extend the workbench itself with custom screens and entire perspectives, and expose their custom built applications to end users, either within the workbench or as separate applications.

Model

Deploy

Execute

Rapid Application Development

Show value early and often !

By combining and customizing out-of-the-box UI building blocks, you are able to rapidly prototype and show immediate value during development of case applications.

Generate Your Application

And by looking at your case model, we might even be able to generate this application for you (in the future), based on the features you've been using in your case.

Pre-packaged Solutions

Processes, Cases, Rules, Tasks End UserApplicationEnd UserApplicationUI Building BlocksCustom UIPredeployedModelsThis approach also enables building vertical solutions on top. Because you can package predefined processes, additional UI building blocks or even customizable applications on top of our product.

Demo

In the demo I will be showing a healthcare case related to treating a patient and how our workbench can be extended with a custom application for the doctor and nurses.