- Mantén ordenado tu contexto de ejecución. No mezcles variables de proceso con variables del modelo y mantenlo simple.
- 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.
- 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.
- 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".
- 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.
- 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
- 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.
http://www.mastertheboss.com/en/jbpm/106-jbpm-best-practices.html
un poco mierda
ResponderEliminar