
Based in London, UK
Informatics Engineer (Mendoza University – Argentina)
Formal CV PDF: CV Salaboy 2011 – Updated July 2011
2012
Drools & jBPM5 – Senior Software Engineer at Red Hat / JBoss UK
2011
Github account : https://github.com/salaboy
Master Branch Profile: https://www.masterbranch.com/developer/salaboy
JBoss Community Profile: http://community.jboss.org/people/salaboy21
CTO @ Plug Tree
Speaker & Comittee @ JBoss in Bossa Brazil 2011
Speaker @ Rules Fest 2011
Spearker @ Jazoon 2011 Speaker
Jboss Community Award Winner (New Features – Bug Fixes)
Speaker @ JUDCon 2011, Boston: Drools and jBPM5 in real life
Speaker @ Drools and jBPM5 Bootcamp in NY and Washington DC, May 2011
Speaker/Organizer @ JUG Argentina
2010
Member of the Business Rules Expert Group (http://brexperts.ning.com/)
Speaker at Java One Brazil 2010 (December – Sao Paulo, Brazil)
Speaker at JBoss In Bossa (May – Sao Paulo, Brazil)
Speaker and contributor at Drools Health Care Meeting, San Diego, USA.
JBoss Consultant at OSDE (Argentinian Health Care Company).
2009
Author of the book jBPM Developer Guide for Pactk Pub
Co-founder at JBug Argentina (JBoss User Group Argentina: www.jbug.com.ar)
Red Hat Official Trainer for JBoss jBPM courses, Buenos Aires.
Attendee at Java One 2009, San Francisco, USA.
Attendee at October Rules Fest, Dallas, USA.
Attendee and contributor to Drools Boot Camp, San Francisco, USA.
Drools Training Session (Drools 5.x), Las Vegas, USA.
JBoss Consultant at OSDE (Argentinian Health Care Company).
2008
Red Hat Official Trainer for JBoss jBPM courses, Buenos Aires.
JBoss SSO contributor/commiter.
JBoss Consultant for a Red Hat Partner in Argentina.
Technologies that I’ve used:
JBoss Drools, JBoss jBPM, Apache Camel, Infinispan, HornetQ, RIO Project, JBoss Application Server (4.x – 5.x), JBoss Portal, Hibernate (JPA), Java EE 5, Java ME, etc.
Cordial Saludo
lo felicito por el blog, me ha ayudado mucho a entender un poco mas de jBPM, estoy interesado en conocer si van a realizar otros cursos en Argentina, me pueden informar cuanto valen?, soy de Colombia y estoy dispuesto a ir por alla, aca en Colombia se necesita esta tecnologia pero no hay consultores, ni se entiende el concepto en la parte mas tecnica.
Gracias por las felicitaciones, voy a consultar si hay alguna otra fecha para el curso de jBPM en particular, la verdad que a mi no me han informado nada. Por lo general este tipo de cursos se hacen On Demand, por lo cual no veria ningun problema si hay gente interesada. Habria que ver si en Colombia tambien hay gente interesada para ver si puede armarse un curso especial si se junta un cupo minimo. Con respecto al precio vere si puedo averiguar algo, pero la verdad que tampoco es un tema que yo manejo.
Saludos.. Espero haber aclarado un poco las cosas.. Si quieres dejame tu contacto personal para seguir la conversacion de manera privada.
Queria felicitarte por el blog, esta barbaro y me esta siendo de gran ayuda, ya que estoy estudiando una materia para la facu y tengo justo todo lo q necesito aca…!! Osea no solo felicitarte sino q agradecerte por este blog…
Saludos!!
Muchas gracias por tu comentario. Espero seguir contribuyendo y ayudando en temas relacionados con JBoss y estos frameworks que uso dia a dia.
Prometo una ráfaga de post en este próximo mes para poner cosas mas actuales.
Hola, me permito felicitarte porque según leo eres un apasionado de todo lo relacionado con JBoss. Me atrevo a formularte una pregunta relacionada con Drools. Se puede integrar Drools y Alfresco y si Drools es el entorno de desarrollo para todo el tema de JBPM. En la actualidad me encuentro explorarndo todo el tema de Alfresco y según entiendo el motor de BPM es precisamente JBPM. Espero no estar diciendo tonterias. Por tu ayuda muchas gracias…
Gracias por tu comentario.
Exactamente Alfresco hasta la versión 3 que creo que es la mas reciente al momento, utiliza jBPM para modelar lo que ellos llaman Advanced Workflows. Estos te permiten crear flujos complejos para administrar, revisar, o manipular tus documentos.
Por otro lado esta Drools, que de apoco esta empujando para ganar parte del terreno que ha ganado jBPM en el campo de los BPM systems.
Integrar Drools dentro de Alfresco seria tarea fácil, si lo que quieres es utilizar a Drools como Motor de inferencia con reglas de negocio. Ahora si lo que quieres es hacer uso de las características de BPM de Drools 5.0, lo veo mas complicado. Aunque charlando con la gente de Alfresco, me entere que habían hecho las cosas bastante amigables para que cuando haya algún nuevo framework de BPM lo pudieran adaptar fácilmente.
Espero que mis comentarios te sirvan, cualquier cosa espero tu próxima pregunta.
Saludos
Log Jboss Drools
13:03:35,281 ERROR [STDERR] RuleAgent(andrei) INFO (Wed Jun 03 13:03:35 CDT 2009
): Configuring package provider : URLScanner monitoring URLs: http://localhost:
8085/drools-guvnor/org.drools.guvnor.Guvnor/package/andrei/andrei_deploy
13:03:38,394 INFO [STDOUT] PackageName: andrei
13:03:38,547 INFO [STDOUT] PackageVersion: andrei_deploy
13:03:38,548 INFO [STDOUT] PackageIsLatest: false
13:03:38,548 INFO [STDOUT] PackageIsSource: false
13:03:39,167 ERROR [STDERR] RuleAgent(andrei) INFO (Wed Jun 03 13:03:39 CDT 2009
): Applying changes to the rulebase.
13:03:39,167 ERROR [STDERR] RuleAgent(andrei) INFO (Wed Jun 03 13:03:39 CDT 2009
): Creating a new rulebase as per settings.
13:03:39,169 ERROR [STDERR] RuleAgent(andrei) INFO (Wed Jun 03 13:03:39 CDT 2009
): Adding package called andrei
13:03:39,880 ERROR [STDERR] com.thoughtworks.xstream.converters.ConversionExcept
ion: tns:queries : tns:queries : tns:queries : tns:queries
—- Debugging information —-
message : tns:queries : tns:queries
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassExceptio
n
cause-message : tns:queries : tns:queries
class : org.drools.server.ServiceRequestMessage
required-type : org.drools.server.ServiceRequestMessage
path : /knowledgebase-request/tns:queries
line number : 3
——————————-
Esquema que envia Intalio
Saludos, Quiero consultarte una duda que tengo, espero puedas ayudarme. Actualmente estoy trabajando con Drools 5.0.1 y estoy tratando de counsumir las reglas que he creado desde guvnor, las planeo cunsumir usando REST de acuerdo a la documentacion (instalado drools-server, crear un agente, crear el archivo .properties y colocarlo en ‘WEB-INF/classes’) la aplicacion que uso para consumir el servicion es Intalio. Pero al tratar de llamar el servicio me marca un error, he estado revisando por todos lados y no se que pueda estar mal. Ojala pudieras ayudarme ya que esto nos esta generando mucho retrazo.
De antemano Gracias
archivo .properties
#——————————————————————
newInstance=true
file=/home/andrei/Escritorio/andrei_andrei_deploy.pkg
url=http://localhost:8085/drools-guvnor/org.drools.guvnor.Guvnor/package/andrei/andrei_deploy
poll=30
name=andrei
#——————————————————————-
<tns:inOutFacts
Perdon creo que puse mis comentarios invertidos
Antes que nada mis agradecimientos por este gran blog es de mucha importancia en la documentación open source sobre todo en Jbpm para mi que estoy empezando, y pues aprovecho para hacer una pregunta estoy “camellando”:) en Jbpm y tengo un problema: cuando voy a crear una instancia de un proceso la crea en estado suspendida y cuando trato de enviar un signal termina la instancia. ¿algún indicio de que puede ser?
Agrego que es sobre una aplicación jsf+spring
La verdad no he podido saber cual es mi error, este es el código
GraphSession graphSession = jbpmContext.getGraphSession();
ProcessDefinition processDefinition = graphSession.getProcessDefinition(processDefinitionId);
ProcessInstance processInstance = new ProcessInstance(processDefinition); processInstance.getRootToken().signal();
jbpmContext.save(processInstance);
Gracias por su tiempo.
Salaboy, como va.
Bueno,Como te habia comentado en post anteriores, me tire al agua con Jbpm 4.0 y la verdad, todo a la perfeccion, muy intuitivo, facil de usar, lujo.
Te consulto quiza podés tirarme algun pique.
Queremos integrar Alfresco en nuestra aplicacion para que funcione con jbpm, queria saber si contas con algun manual en español o guia para esto, ya que seria de gran ayuda.
Saludos y gracias.
Sebastian.
Como va Sebastian, que bueno que estés usando jBPM4 y todo vaya para adelante.
Con respecto a Alfresco, yo el anio pasado estuve jugando con el y Alfresco internamente usa jBPM (si la versión 3.2.x) así que no hace falta que hagas mucho.. solo aprender a usarlo.
Con respecto a la documentación, es muy complicado conseguirlo, pero lo que te puedo contar es que si analizas como funciona, para mi fue bastante fácil darme cuenta como esta embebido y como tienes que hacer para utilizarlo.
Te recomiendo que busques en la wiki de Alfresco por algo llamado AMP (Alfresco Module Package) que sin duda son la forma recomendada de crear tus extensiones e integraciones contra Alfresco.
Saludos!
Buenisimo, calculo que voy a hacer eso si, con jbpm4 fue igual,la javadocs y user Guide me salvaron la vida , seguramente este bien documentado, q es lo que importa.
Bueno, luego te cuento como me fue.
Saludos y gracias.
Sebastian.
Salaboy,como va, yo volviendo por estos lados, luchando contra el Jbpm 4 y sus particularidades.
Mira, quiza me podes dar una mano.
Tengo una situacion en la que tengo forks anidados, es decir lanzo un fork con tres tareas,imaginemos tarea 1 , tarea 2 y tarea 3,. la tarea 1 y 2 convergen en un join llamemoslo Join (1 .2) a modo de ejemplo. La tarea 3 aun no necesita ser cerrada.
Continuando con la ejecucion finalizada la tarea 1 y 2 , se lanza una tarea intermedia,llamemosla (intermedia) q esta intermedia converge en un nuevo fork2 (tarea 4 , tarea 5) q se cierran en un Join, pero sobre el join este, tambien converge la tarea 1, la cual lance al ppio.
Bueno, la cuestion es esta, el ultimo join respeta q se complete la tarea 1 y las tareas 4 y 5) como debe ser, pero el tema es q cuando lanza el fork 2.
lanza las tareas 4 y 5 , pero me repite la tarea 4, nose porq.
Internamente nose como funciona, y no lo he podido resolver.
Si viste algo similar o se te ocurre algo. estare agradecido.
Si queres te puedo adjuntar un png del proceso, asi se entiende mal, ya q soy bastante malo redactando :S
Saludos.
Cbaz.
Yo estatoy tratando de integrar alfresco sobre jboss-portal y me estoy guiado por un manual que me encontre, pero hay un paso que me dice:
Copiar a $JBOSS_HOME/MiServidor/lib el jar de jakarta-commons-el.jar
y no encuentro por ningun lado el jar de jakarta-commons-el.jar
Por si alguien me puede ayudar
Gracias
Hola,
Felicidades por el blog! El post de tareas dinámicas me fue super util
Tengo un problema, estoy usando jBPM 3.2.6, mi workflow tiene que modelar la siguiente situación:
Cuando el usuario finaliza una tarea (de un nodo), el flujo tiene que esperar un tiempo X (que dependerá de una fecha dinámica) antes de pasar a la siguiente tarea (de otro nodo). Otro caso de modelado de mi flujo es crear una tarea ‘aislada’ cada X tiempo.
He posteado como lo he modelado y los problemas que tengo en: http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267764#4267764
Si alguien puede ayudarme
Muchas gracias
Saludos!!
Good morning,
I am not sure if you are in the US or in Argentina but found your website on Google and saw that you must have good experience with JBPM. One of my client in San Diego, California, US is looking for a strong JBPM/JBOSS SEAM consultant for 3 days work, let me know if you or someone you know would be interested in this opportunity.
Thanks and regards,
Jay Munj
Business Development Manager
Information Gateways, Inc.
Toll Free: 888-770-0190 x 102
Cell – 248-495-4534
jaym@Infogateway.com
Hola.. Felicitaciones por tu blog, es excelente.
Queria preguntarte si has utilizado jBPM con Seam?..
estoy aprendiendo jBPM y drools buscando una mejor opcion para los procesos en la compañia donde trabajo. y de verdad que tengo pocos o muy pocos conocimientos de estas herramientas.. si pudieras orientarme un poco, te lo agradeceria. Saludos y reputo, excelente blog
Hola como estas?
que version de jBPM estas tratando de usar?
Usar Seam/Weld y jBPM junto con drools son una excelente opción. El gran problema es la curva de aprendizaje que no es del todo feliz y puede llevarte un tiempo para aprender todos los conceptos.
Pero te puedo decir que vas por buen camino. Si puedo ayudarte con algo mas concreto.. encantado.
ejemplos con Seam no tengo actualmente pero debería ponerme a escribir sobre eso.
Saludos.
Hola, gracias por tu rapida respuesta.
Bueno las herramientas que he podido utilizar son jBPM 4. y si, tienes razon, aprender drools me ha costado un poco, creo q sobretodo por las 4 versiones que hay (expert, guvnor…), con jBPM he podido hacer varios ejemplos, pero ninguno el cual me haga ver que tanto puedo hacer con el. Por cierto aqui te dejo un link con el cual puedes ver una integracion de seam y jBPM
http://chrisrod.wordpress.com/2008/10/06/jbpm-seam-en-07-pasos-un-simple-tutorial-para-ver-la-integracion-del-jbpm-en-seam/
Vi tu post de Fork Vs. Join. (muy buena la forma de explicar). yo estoy utilizando ahorita esos conceptos, pero no tengo claro como manejar el codigo java. (osea el signalExecutionById para el Fork por ejemplo) estoy realizando el ejemplo de esta pagina https://ame.endesa.es/confluenceame/display/PP4JENDESA/Ejemplo+jBPM pero el ultimo de ellos, tiene un Fork y no explican como usarlo a nivel de codigo. estaba buscado tu post donde explicas Fork y Join a nivel de codigo, pero no lo consegui.
Saludos.
Buenas Salaboy,
te comento que estoy iniciandome con jBPM debido a un proyecto de la empresa para la cual trabajo, pero realmente tengo muchas dudas y no lo veo muy aplicable a nuestras necesidades, sin embargo insisten en usarlo. Y dado tu experiencia me gustaría, que de ser posible, me pases tu email asi puedo comentarte mis dudas y me des tu punto de vista sobre el uso o no de jBPM.
Gracias y Saludos.-
Por supuesto, mi mail esta en la seccion de contact me. Igualmente me parece mucho mas valioso que pongas tus dudas aca en los comentarios, asi personas que se encuentran en situaciones similares a las tuyas pueden ver la respuesta y aprovecharla.
Saludos
Buenas Salaboy, AYYYUUUDDAAA
Tengo un gran lio con estos temas. Estoy tratando des de una clase java ejecutar el workflow y ejecutar las reglas pero no me ha funcionado. Contexto: Archivo .xls con las reglas del negocio. Archivo .rf con el flujo y ejecuto todo en una aplicación j2ee. El problema es: cargo una session de BD (ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(idProceso, knowledgeBase, null, env)), adiciono el conocimiento (ksession.insert) y ejecuto el flujo (ksession.fireAllRules()), pero cuando ejecuto éste ultimo metodo, el flujo se ejecuta con los valores anterior y no actualiza el conocimineto, y no he podido hacerlo..
Le agradezo inmensamente
Buenas Camilo, Perdon por la demora, estoy recien volviendo de un viaje y no he tenido tiempo de responder en tiempo y forma.
Leyendo tu pregunta me imagino que estas escribiendo tus reglas en formato XLS, las estas compilando y las tienes agrupadas usando ruleflow-group, es esto cierto? Como son tus reglas? estas llamando a startProcess()? que nodos tiene tu proceso?
Saludos
Hola Salaboy, he estado siguiendo el blog y leyendo tus aportes a la comunidad hispana sobre jbpm & drools, me parece sencillamente maravilloso tu trabajo, solo quería saber si hay alguna versión de tu libro jbpm user guide en Español
Saludos
Gracias
Perdón quise decir “JBPM Developer Guide”, habrá alguna versión en español ??
Slds
Armands, Como estas? Muchas gracias por escribir, pero no lamentablemente no hay una versión en español del libro. Es mucho trabajo escribirlo y luego traducirlo. Como la audiencia es bastante internacional directamente escribo en ingles. Ahora antes de fin de anio sale la versión nueva del libro sobre jBPM5. Saludos
[...] Para mas información sobre Mauricio Salatino visitar su blog:http://salaboy.com/about/ [...]
Hola Salaboy.
Primero contarte que te sigo hace mucho, he leido mucho tu blog y tus publicaciones, gracias por el gran aporte a la comunidad.
Soy consumidor fiel de JBOSS, actualmente tengo ya algo de experiencia en SEAM y Drools, la integracion yo diria que no fue dificil ni facil. Ahora intento y estoy muy interesado en utilizar JBPM 5, he logrado ejecutar los ejemplos, etc Pero aun no he logrado descubrir como integrarlo con SEAM 2 y en realiad esa es mi necesidad, tener SEAM 2 y poder realizar el flujo de procesos con JBPM 5, pero como te dije no lo consigo, he leido mucho y nada que lo consigo, creo que lo importante es que la documentacion de SEAM dice que la integracion con JBPM 5 vendra desde la version 3 de SEAM. Tienes algun ejemplo de esto.
Desde ya muchas gracias por tu apoyo.
Freddy, por lo que tengo entendido la integración viene con seam 3, deberías revisar seam 3 para ver como viene la integración ya que ellos se están haciendo cargo de la misma. Ni bien tenga un ejemplo lo voy a estar compartiendo por este medio.
Saludos
Que buen blog, me sirvio mucho para aprender JBPM, pero quisiera aprender mas, yo resido en La Paz-Bolivia y quisiera tomar unos cursos sobre esta tecnologia en forma presencial, pero por la distancia me es imposible, por los menos quisiera que exista unos cursos virtuales. gracias te deseo todo lo mejor
No hace falta cursos virtuales, si quieres aprender puedes seguir el material que hay online.
Saludos
hola, estamos teniendo problemas con la instalacion en jboss 5.1 de jbpm 5.2
en particular existen clases de los .jar que estan en los .war de jbpm que se solapan con las del servidor, no nos ha funcionado editando tanto el jboss-web.wml del .war en cuestion, para q se fije en las clases del .war primero y luego las del servidor.
le agregamos a nuestro jboss-web.xml del .war jbpm-gwt-console-server.war lo siguiente
(claro que falta la apertura y cierra de tags, es porque no lo muestra correctamente en esta pagina)
slf4j-jboss-logging.jar es el .jar q nos da conflicto en el .war jbpm-gwt-console-server.war
class-loading java2ClassLoadingCompliance=”false”
loader-repository slf4j-jboss-logging.jar:loader=jbpm-gwt-console-server.war
loader-repository-config java2ParentDelegation=false loader-repository-config
loader-repository
class-loading
gracias (escribi algo similar en el post, jugando con jbpm 5, prefiero q me responda aqui)
Hola Mauricio como estas? yo fui alumno tuyo en el 2008. Nos distes un curso de jbpm. En ese entonces estaba trabajando en el Banco Credicop. Nose si recordarás. Bueno al margen de esto queria hacerte una consulta ya que estoy lidiando con algo que me vendría barbaro para un proyecto en el que estoy trabajando. Estoy tratando de utilizar jbpm sobre jboss 6.1 y no le puedo encontrar la vuelta para que me funcione. No encontré mucha info al respecto con esta version de jboss en particular. Tenes idea de algo al respecto? donde puedo conseguir alguna documentación piola? o que otra herramienta que no sea jbpm hay en el mercado que me pueda servir para armar workflows que trabaje sobre jboss 6.1? La verdad me sería de gran utilidad que me sepas ayudar. Hoy buscando sobre esto en la web me topé en un foro con un comentario que habias hecho vos y ahi recordé de tus azañas con jbpm en el curso y por eso aquí estoy consultandote. Bueno desde ya te agradezco un monton! Hasta pronto.
Buenas
Por lo general, todo esta para jboss 5 o 7. No estoy muy al tanto de jboss 6, pero si estas teniendo algún problema ponelo en los foros, alguien seguro que puede ayudarte.
Saludos