Diferencia entre revisiones de «BEA Aqualogic BPM 5.7 (Fuego)»
(→Incluir un jar y utilizarlo) |
|||
Línea 112: | Línea 112: | ||
<code java>ObjetoRespuesta respuesta = (ObjetoRespuesta) instancia.metodo(arg1 : parametroAEnviar);</code> | <code java>ObjetoRespuesta respuesta = (ObjetoRespuesta) instancia.metodo(arg1 : parametroAEnviar);</code> | ||
+ | |||
+ | ===Tratamiento de excepciones de servicios externos=== | ||
+ | Puede suceder que, al momento de invocar algún servicio externo a nuestro proyecto de BPM, este retorne como respuesta una excepción. Para poder darle un comportamiento a nuestro proceso en BPM se puede utilizar una transición del tipo "Excepción" entre dos actividades. | ||
+ | |||
+ | Para dar un ejemplo concreto vamos a imaginarnos 2 actividades a las que llamaremos "Inicio" y "Comportamiento correcto". La actividad "Inicio" invocará a un servicio, y si sale todo bien, se pasará luego a la actividad "Comportamiento correcto". | ||
+ | |||
+ | [[Archivo:1.jpg]] | ||
+ | |||
+ | Ahora, puede suceder que cuando "Inicio" invoca al servicio, éste devuelva una Excepción. ¿Qué hacemos en ese caso? Creamos una actividad (en nuestro ejemplo es "Comportamiento excepción"), la cual nuestro sistema ejecutará en caso de que el servicio falle, y le asociamos una transición entre "Inicio" y esta nueva actividad de esta forma: | ||
+ | |||
+ | [[Archivo:2.jpg]] | ||
+ | |||
+ | Para crear dicha transición, debemos crear la actividad a la cual asociarla, dale doble clic y luego seleccionar como tipo de transición aquella que dice "Excepción". Para indicarle para qué tipo de Excepción queremos que se siga dicho flujo, en "Nombre de excepción" deberemos cargar la clase con la excepción que puede llegar. | ||
=== Ver también === | === Ver también === |
Revisión del 14:19 28 abr 2011
Contenido
Comunicando con Base de Datos con PBL (Process Business Language)
Para ejecutar comandos SQL en Aqualogic BPM 5.7 hay que seguir los siguientes pasos:
Primer paso
Se debe crear nuevo "External Resource", haciendo click derecho en el directorio del proyecto "External Resources", del tipo "SQL Database". Los campos se deben completar con la información de la base de datos que queremos consultar y con un nombre significativo.
Segundo paso
Se debe crear un nuevo "BPM Object", haciendo click derecho sobre el modulo deseado en el directorio de "Catalog", y luego crear un método en nuestro objeto, haciendo click derecho sobre el objeto y seleccionando la opción "New Method". Ahora se debe editar el nuevo método, expandiendo el objeto bpm y haciendo doble click sobre el nombre del método creado. Ahora podemos editarlo e incluir el código necesario para comunicarnos con la BD a través de una clase propia de Fuego, un ejemplo de implementación puede ser el siguiente:
String queryAEjecutar ="SELECT campo1, campo2, campo3 FROM nombreTabla WHERE nombreColumna in (?,?)";
String nombreDeLaBDCreada = "NombreBD";
String[] arrayDeParametros = {"valor1", "valor2"};
Iterator <Any[Any]> iterator = DynamicSQL.executeQuery(sentence : queryAEjecutar, implname : nombreDeLaBDCreada, inParameters : arrayDeParametros);
Como se puede observar, el resultado de realizar la consulta va a ser un iterador, que luego puede ser recorrido con un "foreach".
foreach (e in iterator) {
logMessage("campo1: "+e["campo1"], severity : INFO);
logMessage("campo2: "+e["campo2"], severity : INFO);
logMessage("campo3: "+e["campo3"], severity : INFO);
logMessage("nombreColumna: "+e["nombreColumna"], severity : INFO);
}
Versionando con CVS
El producto Aqualogic BPM 5.7 incluye un cliente de CVS que permite agregar, remover, actualizar en un repositorio CVS.
Configurar el cliente CVS
- Levantar el Studio BPM.
- File -> Preference ->Default Version Control
- Version Control Manger: CVS
- Host: host del servidor CVS
- User Name: usuario del CVS
- User Password: password del usuario CVS
- path: ruta dentro del repositorio donde se guardará el proyecto.
Subir el proyecto al CVS
- Levantar el Studio BPM.
- Abrir el proyecto a versionar.
- File -> Project Preference -> Project Version Control.
- Version Control Manager: CVS (nos carga la información ingresada en el punto anterior).
- File -> VCS -> Store project in repository
- Path: directorio en el que se creará el proyecto en el repositorio.
- Si es la primera vez que se sube un proyecto de Aqualogic BPM, pedirá que se ingrese la ruta del directorio donde se creará el "common catalog"
- Common catalog: Es un catalogo de componente, el cual puede ser compartido por otros proyectos de Aqualogic BPM.
En el repositorio quedarán creados 2 directorios, el del proyecto y el del common catalog, ademas se crearán 2 alias en el CVS que apuntan al proyecto y al common catalog.
Obtener el proyecto del CVS
- Levantar el Studio BPM.
- File -> Project Preference -> Project Version Control.
- File -> Import -> Project -> from Repository.
- Version Control Manager: CVS
- En la siguiente pantalla, seleccionar el proyecto del repositorio.
Trabajar con proyectos versionados
Aqualogic BPM 5.7, posee una política restrictiva de edición para los proyecto versionados. La política, consiste en que todo el proyecto se encuentra en modo lectura y solo un usuario puede editar un determinado archivo versionado (Ej.: un proceso).
Editar un procesos
- Seleccionar el proceso a editar.
- Menú contextual -> VCS -> edit.
Esto habilita al usuario a modificar el proceso. En caso de que exitiera otro usuario modificando el proceso nos aparecerá un mensaje de error.
Grabar los cambios realizados en un proceso
- Seleccionar el proceso que se esta editando.
- Menú contextual -> VCS -> commit.
Este paso es importante, debido a que si se libera la edición del proceso sin realizar el commit se perderán los cambios.
Liberar la edición del proceso
- Seleccionar el proceso que se esta editando.
- Menú contextual -> VCS -> unedit.
Incluir un jar y utilizarlo
Una vez que tenemos creado nuestro proyecto BPM podemos llegar a necesitar utilizar ciertas clases de java, tanto para modelar entidades como para invocar servicios externos a nuestro proyecto.
En el caso que necesitemos incluír alguna librería al proyecto BPM los pasos a realizar son los siguientes:
- En "Recursos externos" hacer botón derecho y seleccionar la opción "Nuevo recurso externo".
- Seleccionar un nombre y en tipo seleccionar "Biblioteca de clase Java".
- Le damos clic al botón "Agregar" y buscamos el jar correspondiente que vamos a querer incluír.
- Aceptar.
Finalizado estos pasos vamos a ver que se agregó a "Recursos externos" la librería que acabamos de incluir. Lo siguiente va a ser crear un módulo desde el cual invocar a las clases de nuestro jar. Para esto tenemos que hacer lo siguiente:
- En "Catálogo" hacemos botón derecho y seleccionamos la opción "Crear módulo".
- Le ponemos un nombre y le damos Aceptar.
- Realizado esto, veremos que se agregó un módulo al Catálogo. Lo que tenemos que hacer ahora es indicarle a ese módulo que contenga la configuración de nuestro jar. Para esto hacemos clic derecho sobre el módulo > Componente de catálogo > Java.
- Seleccionamos la opción "Usar una configuración existente" (está marcada por defecto) y en el combo seleccionamos nuestro recurso externo que agregamos antes.
- Luego, seleccionaremos las clases Java que quiero incluír en mi módulo.
- Se hará la carga de clases automáticamente.
- Finalizado esto deberíamos ver dentro de "Catálogo" nuestro módulo nuevo y al amplicar su contenido ver el árbol de las clases que incluímos en él.
Para poder usar estas clases que incluímos, dentro de una actividad se podrán crear instancias de esta forma:
ClaseDeMiBiblioteca instancia = new ClaseDeMiBiblioteca();
e invocar a sus métodos de esta forma:
ObjetoRespuesta respuesta = (ObjetoRespuesta) instancia.metodo(arg1 : parametroAEnviar);
Tratamiento de excepciones de servicios externos
Puede suceder que, al momento de invocar algún servicio externo a nuestro proyecto de BPM, este retorne como respuesta una excepción. Para poder darle un comportamiento a nuestro proceso en BPM se puede utilizar una transición del tipo "Excepción" entre dos actividades.
Para dar un ejemplo concreto vamos a imaginarnos 2 actividades a las que llamaremos "Inicio" y "Comportamiento correcto". La actividad "Inicio" invocará a un servicio, y si sale todo bien, se pasará luego a la actividad "Comportamiento correcto".
Ahora, puede suceder que cuando "Inicio" invoca al servicio, éste devuelva una Excepción. ¿Qué hacemos en ese caso? Creamos una actividad (en nuestro ejemplo es "Comportamiento excepción"), la cual nuestro sistema ejecutará en caso de que el servicio falle, y le asociamos una transición entre "Inicio" y esta nueva actividad de esta forma:
Para crear dicha transición, debemos crear la actividad a la cual asociarla, dale doble clic y luego seleccionar como tipo de transición aquella que dice "Excepción". Para indicarle para qué tipo de Excepción queremos que se siga dicho flujo, en "Nombre de excepción" deberemos cargar la clase con la excepción que puede llegar.