Monday, August 10, 2009

Drools Flow videos

We've been preparing various presentations recently, and because not all of you can join us at a local event, I decided to create a few recordings and put these online. These videos range from showing how to get started by creating your first Drools BPMN 2.0 process to showing some of the more advanced features of Drools Flow, like the rule integration, the pluggable work items and the web-based management console.

Enjoy !
Kris Verlaenen


Hello World


A simple video that shows how to create and execute your first Drools Flow process using the Drools Eclipse plugin. It assumes you have the plugin installed correctly. You will learn how to create a Drools project, containing a sample BPMN2 process, and how to execute this process.

Features
- BPMN 2.0


Evaluation

This example continues where the Hello World example left off and shows how to create a simple but real example for evaluating employees. The process first requires the user to perform a self-evaluation, after which the HR manager and the PM manager will be required to perform an evaluation as well. The video shows how to create the BPMN2 process, i.e. create all the nodes and fill in all the necessary properties. Next, the process will be executed in debug mode to simulate its behaviour, using the task client in Eclipse.

Features
- BPMN 2.0
- Human tasks
- Debug
- Audit


Console

Once the the evaluation process has been completed and uploaded to Guvnor, it can also be executed using the web management console. This video shows how to start a new evaluation process and how the various users can execute the requested tasks using custom task forms. It also shows how a user can get an overview of all currently running process instances (and their state), and how reports can be generated to monitor the overall activity of your business processes.

Features
- Process instance management
- Process instance overview (control flow + data)
- Human tasks + custom task forms
- Reporting


Order

This examples shows another real example of a business process that is used to handle sales orders. It shows some more advanced features, like rule integration for validation and discounts, timers for timeouts, etc. It also shows how breakpoints and the various debug views can be used to figure out what's going on at runtime.

Features
- Rule integration
- Debug
- Audit


Order CEP

This extension to the Order example shows how events generated by the process during execution could be fed back into the engine itself to monitor your processes. It shows how a very simple CEP rule can then for example show a warning message if more than 5 instances of this process have been started in the last hour, but much more advanced CEP rules could really intervene and dynamically alter the business logic when problems occur.

Features
- CEP rule integration


Eventing

This example shows how pluggable work items can be used to easily integrate with external services. In this case, the process manages the registration of events in a calendar system (using Google Calendar in this case), and how feedback can be provided to the end user (using email) when problems occur. It shows some more advanced features, like rule integration for validation, for each, etc.

Features
- Pluggable work items (email, google calendar)
- Rule integration
- Timers
- For each


15 comments:

  1. I really love this!

    Would it be possible to hear/learn more about drools flow at JBoss World this year?

    ReplyDelete
  2. Yes, on Wednesday September 2nd, 14:10hs, we will present a complete overview of the present and future of Drools, including Drools Flow, Expert, Fusion and Guvnor. Check the agenda:

    http://www.jbossworld.com/agenda/tracks/

    The presentation was named "Drools: State of the Union".

    ReplyDelete
  3. I'm also going to try and setup a drools "Lounge Bar" session next week. Just so we can have a chat with the community about stuff.

    Mark

    ReplyDelete
  4. Kris,

    Could you let me know the trunk for Process Management

    ReplyDelete
  5. There's only one Drools trunk, where process and rule management are integrated and unified in one environment:
    http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/

    Process-specific modules can be found in the drools-process folder.

    Kris

    ReplyDelete
  6. I am actually working with Drools 5.0 and guvnor, I saw this demo with Drools 5.1 and Drools flow GWT console, anyone could tell me where can I find the source or the binaries of both projects?

    ReplyDelete
  7. How does it compare to jbpm? Are they competing projects now?

    ReplyDelete
  8. They compete at a .org community level, but not a .com product level - where jBPM is, for the moment, the only officially supported workflow product at JBoss.

    jBPM takes a more traditional process centric approach. Where as Drools Flow is neither rule or process centric, taking more of a rich behavioural modelling approach - we consider process centric to be very much a legacy subset of this.

    As well as leveraging the rules and event processing to provide deep integration - not simple stateless service invocations - Drools Flow puts a big emphasis on domain specific modelling.

    You can find out more details here:
    http://www.jboss.org/drools/drools-flow.html

    ReplyDelete
  9. Do these videos also have an audio track? I hear nothing when playing them via IE or Firefox.

    ReplyDelete
  10. No, sorry, no audio. I hope the video itself, with the description on the blog, is sufficient to understand what's going on.

    ReplyDelete
  11. Kris,

    Thanks for the clarification - and thanks too for the videos - very useful.

    ReplyDelete
  12. Hi! Could you please give the right way...
    Is there any sample of integration drools flow with web workflow (for example user registration process). "Drools Flow" has samples with swing but the execution is in the same thread. So i couldn't find the way to stop the flow to send user next page and then continue flow.
    But may be is the wong way to use drools flow. :(

    Thank you very much!

    ReplyDelete
  13. If you're talking about using Drools Flow for specifying how a user should go through your web application, I don't know of any example that shows this, but it is possible.

    The key I think is to create a custom work item that will navigate the user to some web page. You will then simply notify the engine whenever the user performs an action. You don't have to stop the engine, the engine will stop automatically when it is waiting for further input. And using a custom work item that invokes a web page and that is completed when the user performs an action on that page (like submit a form) will make sure the process will continue where it ended last time.

    ReplyDelete
  14. Hi,

    thanks for the great work. Do you mind adding the code for the examples ? That would make it perfect.

    Rob

    ReplyDelete
  15. Hi, where can I find google calendar sample? thanks.

    ReplyDelete