Emergency Service Drools Application

Hi there, the following video shows the Emergency Service Drools Application.

You can get the source code cloning the github repo:

(relocated)

https://github.com/Salaboy/emergency-service-drools-app

or read more about it in:

https://salaboy.wordpress.com/2010/12/23/javaone-2010-brazil-speaker-notes-slides/

https://salaboy.wordpress.com/2010/12/23/drools-at-javaone-brazil-2010/

Click into the Read More link to see the video 🙂

link

(github repo renamed -> https://github.com/Salaboy/emergency-service-drools-app)

Please give us feedback and feel free to join us adding new features, forking the app or asking for new features!

Happy new year to you all!

Advertisements

8 thoughts on “Emergency Service Drools Application”

  1. Thanks.
    I had to download and generate the latest Smart Tasks (Salaboy-smart-tasks-db74530) to get it working. (Otherwise there were ‘NoSuchMethod’ and ‘Classnotfound’ errors)

    Like

    1. Hi there, thanks for the feedback.
      I will check out that later, it should be working with the plugtree repository, downloading the latest version of smart tasks.
      Greetings.

      Like

  2. Today i started researching Drools. I bought a couple of books online, and the examples don’t build using latest RH IDE.

    I am looking for a simple end-to-end CEP example, that I can gradually extend.

    Like

    1. Good luck with your search, if you explain us what are you looking for, we can probably help you. There are a lot of things that can be done with CEP that is almost impossible to give you something that can be extended to your particular needs. You should read the documentation and then build your own application that you can design and adapt to your needs..

      Cheers

      Like

  3. Hola Mauricio, felicitaciones por tu nuevo libro, lo compré y me está siendo muy util, del mismo modo que tu blog.
    En el ejemplo de Emergency Service claramente podemos ver qué configuraciones y dependencias se necesitan para que jBPM5 funcione en una aplicación standalone, fuera de JBOSS. Y claramente uno de los subsistemas que hay que configurar e inicializar es el Transaction Manager (que implementa la API de JTA). En este ejemplo y en otros que he visto, usan la implementación de Bitkinex, y me pregunto si no sería suficiente con usar JtaTransactionManager de Spring.
    Spring implementa un “facade” donde uno puede usar distintas implementaciones de JTA por debajo. Si el problema es acceder a una única fuente de datos, si no se pretende tener transacciones distribuidas, sino solo a un único motor de DB, usando por ejemplo Hibernate, no sería suficiente con configurar HibernateTransactionManager en Spring? O hay otras razones por las cuales usar Bitkinex?

    Muchas gracias y saludos

    Like

    1. Marcelo, si podes usar la integración de jBPM con Spring (incluida en droolsjbpm-integration), con lo cual estarias usando el JTATransactionManager de Spring.
      Para usar persistencia si o si necesitas JTA, asi que deberias revisar las configuraciones en droolsjbpm-integration.

      Like

      1. Ok Mauricio, muchas gracias.
        Una duda mas que se me presenta: si tenes una arquitectura de dos tomcat’s corriendo cada uno en su servidor, con un balanceador de carga adelante (típicamente un Apache con mod_jk), y en ambos tomcat’s está corriendo la misma aplicación, que tiene jBPM5 embebido, como te aseguras que cada motor jBPM está enterado de los cambios que hizo el otro motor? Porque al tener cada tomcat su propia HTTP session, en realidad funcionan como apps diferentes, pero ambas actualizan la misma base de datos. Por lo que vi de tu libro, habría que hacer en cada interacción la secuencia “Load session, Register WorkItemHandler and event listeners, Interact and Dispose”, porque esa sería la única manera de que a la hora de que un motor evolucione el workflow, lo haga sobre un estado consistente, puesto que el otro motor pudo haber cambiado el estado. En este caso, no sería conveniente tener una sesión con múltiples instancias de procesos, sino una sesión separada para cada instancia de un proceso. Esto es así o estoy equivocado?

        Muchas gracias y saludos

        Like

  4. Vas por el buen camino, pero tenes que analizar un poco mas tu escenario en concreto. Si tenes usuarios los cuales son los duenios de los procesos, por ahi tener una sesion para cada proceso tiene sentido. Si tu problema es la session http, hay applicaciones que replican las sessiones en un cluster de tomcats, eso no deberia ser un problema. Fundamentalmente tenes que analizar quienes van a ser los duenios de las instancias de los procesos y en base a eso tenes que identificar la arquitectura que te permita escalar.

    Saludos

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s