Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

Mejores prácticas en JBPM

Me tope con un articulo sobre las mejores prácticas al usar JBPM y pues quise hacer una pequeña traducción al español, espero que nos sirva como referencia.
  1. Mantén ordenado tu contexto de ejecución. No mezcles variables de proceso con variables del modelo y mantenlo simple.
  2. Usa ExceptionHandler solo para asignar valores a variables o notificar errores. El manejo de excepciones en JBPM es distinto a java, pueden ser (A) cachadas por jbpm o (B) no cachadas y ser re-lanzadas al cliente que hizo un signal(). Así que no puedes usar exception-handler por ejemplo para controlar el flujo, es mas agradable cachar excepciones de la aplicacion en un Action y que éste, de acuerdo al error, asigne valores a una variable de contexto que permita al flujo (un Decision) tener el control de que procede.
  3. Usa superestados en donde te sea posible. Un superestado es un grupo de nodos dentro de un conjunto que representa el proceso y los nodos sus fases. Si se asocia un Action a un superestado existe la manera de conocer en que nodo se encuentra el proceso. Otra de las ventajas es que suele ser mas legible y ordenado un diagrama construido por plugin en Eclipse.
  4. Si deseas tener un JBPM tolerante a fallas. En la mayoría de los casos, la forma mas sencilla es encapsular todas las llamadas a la api de jbpm en un ejb stateless, este puede ser incluso "clusterisable".
  5. Usa la amplia API de JBPM, es mejor hacer un modelado haciendo uso de todas las capacidades de la api de jbpm (action, handler, node, exception-handler, task) que hacer un flujo sencillo y cazarse con una funcionalidad bastante compleja.
  6. Contrata un desarrollador de Drool si tienes reglas complejas. Que tan complejo es el Action Handler? si se requeire de bastante implementación para realizar el procesamiento, pudiera ser más sencillo y legible realizarlo con Drools
  7. Usar o no BPEL. La ventaja con BPEL es que te ayuda a orchestar tus procesos con aquellos corriendo sobre otra plataforma, por ejemplo .NET; esto es importante para aplicaciones B2B. Tambien se puede usar cuando se quiere lograr una compensación en transaccionalidad y no se requiere mucho la intervención humana. En otro caso usa JPDL.
Fuente:
http://www.mastertheboss.com/en/jbpm/106-jbpm-best-practices.html

1 comentario:

Que opinas sobre esta publicación?