Sunday, November 21, 2010

Blog improvements

As you might have noticed, we made some changes to our blog.

The most interesting change is probably that you can now directly DZone vote an article up or down. So, if you found Kris's Towards Case Management article as interesting as I did, be sure to vote it up with the button on the bottom.

You also can easily share an article on twitter. Just hit the button at the bottom and you get a tweet proposal with a shortened URL, so you got room to add short opinion.

Friday, November 19, 2010

jBPM5 webinar online now

For those who missed the JBoss Developer Webinar on jBPM5 last Wednesday, a recorded version is now available. It gives a short intro on BPM and gives an overview of the new features of jBPM5.

If you're only interested in the slides, you can see (and download) them here.

There were a lot more questions than we actually could handle in the Q&A part of the presentation, so I'll try to compile a list of additional answers and publish them on this blog next week.

Hope you all enjoyed it!

Drools&jBPM Boot Camps 2011 USA - Sponsorship Needed

I previously mentioned our next planned USA 2011 bootcamp:

We are seeking sponsorship to help make this happen. These have been great events with growing numbers.
San Diego
San Francisco
So if you want to help make a 2011 event happen, then please let me know. Maybe your a rules or workflow based consulting company that wants to get the word out, or someone who benefits from furthering Drools itself, or someone who has some interesting value add product you want to let people know about.

The location is still undecided, we have a few affordable hotels earmarked - in Florida and Dallas Fort Worth.

Mark - mproctor at codehaus d0t org

Thursday, November 18, 2010

Webinar: Best practices for using JBoss Drools (James Taylor)

The webinar from the 16th of November, mentioned previously here, is now available online here.

Tuesday, November 09, 2010

JBoss Developer Webinar on jBPM5

As part of the bi-weekly JBoss Developer Webinar Series, I will be giving a presentation on jBPM5 next week Wednesday, November 17, 12:00 PM EST / 17:00 GMT.

This presentation will be suited both for people that are not really familiar with jBPM but would like to get an introduction what it is all about as well as for people that have experience with previous versions of the project and would like to know what's new. With the possibility to ask your questions afterwards of course.

I will also touch on how jBPM5 is tackling exciting hot topics like case management, event-driven BPM, etc.

So don't miss out and register now!

Monday, November 08, 2010

Left and Right Unlinking Progress

A while ago we proposed "Left and Right Unlinking - Community Project Proposal"
Since then Leonardo Gomes has taken on this challenge, after successfully completing the Lazy Truth Maintenance System enhancement.

You can follow the thread here on nabble:

Leonardo has also made a jira with his patch so far and looking for reviews, JBRULES-2776

Friday, November 05, 2010

Webinar: Best practices for using JBoss Drools (James Taylor)

James Taylor, author of Smart Enough Systems, is organising a Drools webinar. I've provided the link below and a copy of the text.

November 16, 2010 10:00 am to 11:00 am (Pacific time)

Claye Greene and Kristy Sanders of Technology Blue are giving a webinar on Best practices for using JBoss Drools on November 16th, 2010 at 10am Pacific.

Open source has proven to be a valuable solution for companies looking to lower implementation costs of software solutions. A few years ago open source Decision Management solutions were considered a risky proposition at best. However as a technology solution for managing and executing decisions, open source solutions like JBoss Drools have quickly become a viable, enterprise-class alternative.

This webinar discusses the pros and cons of using an open source Decision Management solution while leveraging meaningful code samples to illustrate lessons learned and best practices with JBoss Drools. If you are currently implementing, or planning to implement an open source solution for managing enterprise decisions, this webinar will provide insight and approaches to maximize success.

Register here.


Wednesday, November 03, 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!