4 min read

One Month Drools Trip

After being traveling for one month in a mission to spread the word about Drools I met a lot of people that teach me a lot of new things and give me a lot of useful feedback about the Drools Project. I would like to share in this post all the presentations that I was doing in different places in the US and Brazil.

Drools Guvnor Improvements

(San Diego, CA - US / Drools Bootcamp for the Health Care Industry)

Here is the link for the Drools Guvnor Improvements that we have done in Plug Tree during the last few months. The idea of these presentations is to show the new features included int he latest release of the Drools Guvnor project.

Drools Server

(San Diego, CA - US / Drools Bootcamp 2010  for the Health Care Industry)

In this presentation I've just introduce the main components in the new version of the Drools Server project. This projects nowadays allow us to define multiple knowledge sessions and host them inside a web application that can be hosted in any Servlet Container.

Drools Grid

(San Diego, CA - US / Drools Bootcamp 2010  for the Health Care  Industry)

During this presentation I introduce the new APIs and functionality for use Drools in a Grid environment (this is my current work right now). During the presentation I present a demo that shows how we can create distributed knowledge sessions using one of the Rio Grid implementation. You can see the presentation and a video about the demo clicking in the following images:

(add video here... I need to upload it to vimeo)

Drools In Real World (Use Case / Knowledge Driven Development)

(Sao Paulo, Brazil / JBoss In Bossa 2010)

During this presentation in JBoss In Bossa I've introduced the full Drools Platform using a real life use case to show how to abuse of all the framework features. I also introduce the concepts around Knowledge Driven Development and how using Drools you can create applications and solve problems in every business domain.

In this presentation I show to the audience how to create a business processes for the Emergency Service Use Case, how to create rules that represent the business logic used in this scenario and how to correlate events from event streams to be able to monitor and react over dynamic information.

Take a look at the presentation and I will explain the demo video at the bottom.



In the previous demo you will see the Emergency Service Central Offices console. Where we can see in the top left corner all the incoming emergency calls that are being handled in a specific moment. In the central panel we will see different types of information. During the demo you will see that the main panel will show different User/Human Tasks, that are required in order to continue the business processes specified for attend the Emergency. When the Ambulance Pick Up the Patient, the main panel will show the Patient Vital Signs (Heartbeat) that is being simulated using the Wii Remote Control Accelerometer .

The two bottom panels are used to display logging information. The bottom left panel only show the button pressed on the Wii mote, that are used to represent notifications sent by the Ambulance (or some external source) to the Central Offices (Incoming Emergency Call, Patient Pick Up and Patient at the Hospital). The bottom right panel will show all the events generated by the business processes, in other words will show us which activity in the processes we complete, and also is used to display the alerts that can be caused based on the event information (heartbeats information) that it's coming in real time from the ambulance.

So, basically you can follow the next sequence in the video:

We receive a new Emergency Call, a Human Task Activity is created. This Human Task activity needs to ask a set of specific questions about the Emergency Situation. In this case we will see that ask for: Emergency Type, Patient Name/Description, Patient Gender and Age.

When the first activity is completed, a set of business rules (business logic) is executed to Equip the Ambulance for this specific emergency type and for this specific patient.

A new Human Task is created, to review the ambulance equip and to dispatch as soon as possible the Ambulance to the emergency location. At this point we will wait an event from the ambulance to inform the central offices that it already Pick Up the Patient

When this event arrives we will start receiving on line information about the patient vital signs. We need to look up to the Alerts windows that will show us if some wrong pattern is detected in the heartbeats information that we are receiving in real time (information emulated shaking the wii remote control). Based on this analysis we will see that I stop shaking the wii mote, an alert is fired because we are not getting the heartbeat information. And if shake the wii mote quickly we will get a Heart Attack alarm.

At the end when I press the Home Button of the Wii Remote Control, the patient reach the Hospital and we get a complete report about how we have treated the Emergency Situation.

Wrapping Up

During the last month I met a lot of interesting people that I want to mention here because they really treat me very well and teach me a lot of cool things: Alexandre Porcelli (best host ever) , Feu Teston (really smart guy), Peter Muir (Seam core developer), Benjamin Paillereau (Exo/GateIn project lead), Edgar Silva, Mark Proctor, Edson Tirelli, Emory Fry and a lot of Brazilian friends. Thanks you all for sharing very good and quality moments with me!