Libreria de Componentes
De
<keywords content="keywords">component libraries, Librería de Componentes, component, desarrollo personalizado, componente personalizado, excel, pdf, dll, assembly, assemblies, código, codigo, extender, objetos distribuídos, broker, arquitectura broker, conector, jar, ejb, classes, jms, soap, http, https, com, dcom, esb, legacy, core, erp, crm, rest, soap, jdbc, odbc, componente, componentes, biblioteca, libreria, librerias, librería </keywords>
Applies to the ENTERPRISE EDITIONS |
Contenido |
Librería de Componentes
Introducción
Bizagi ofrece una capa de integración que permite que sistemas externos (tales como ERPs, CRMs, aplicaciones Core o legacy, y el ESB en general), sean integrados a la solución corporativa de Bizagi BPMS.
Los procesos organizacionales en Bizagi cuentan con la facilidad de utilizar: un asistente de interfaces para configurar invocaciones a servicios web o REST (de sistemas en la intranet o internet), o una funcionalidad llamada "Librería de componentes" para las integraciones a nivel de proceso (transaccionales).
A través de la Librería de Componentes, Bizagi provee opciones poderosas para tanto: extender la lógica del negocio en los procesos, o para extender la capa de integración (de manera que se puedan incluir APIs o conectores específicos para sistemas, aplicaciones, o bases de datos externas).
Un ejemplo donde se podría utilizar la Libreria de componentes para ampliar la funcionalidad de lógica del negocio, es cuando se tiene un proceso cuya lógica implementa algunos cálculos muy sofisticados, por ejemplo que requiera una simulación de pagos de amortización, u operaciones avanzadas sobre ciertos archivos.
Este tipo de operaciones puede ser de un nivel de complejidad tan alto que se involucren componentes o APIs especializadas.
Sobre el uso de la Librería de Componentes para propósitos de integración, esto es frecuente en las soluciones corporativas donde es posible que se requira la integración contra otros sistemas que no cuenten con una arquitectura orientada a servicios (SOA), como por ejemplo los sistemas legacy.
Cómo funciona
La Librería de Componentes actúa como un middleware, siendo un repositorio de componentes desarrollados según el proyecto. Estos componentes a su vez, pueden usar otras referencias (APIs o conectores específicos).
Cada componente es registrado en Bizagi al incluir su archivo compilado (sea un .dll o un .jar, de acuerdo a la plataforma donde se ejecuten los procesos Bizagi).
Para ambientes basados en .Net (Bizagi Enterprise .Net edition), los componentes de la Librería de Componentes tendrán su ensamblado correspondiente, mientras que en ambientes de Java (Bizagi JEE edition), un componente tendrá su archivo jar asociado.
Una vez se registre un componente en la Librería de Componentes de un proyecto de Bizagi, sus métodos públicos podrán ser invocados desde las reglas de negocio del proceso (tanto desde actividades asíncronas como actividades síncronas).
Lo que debe hacer en Bizagi
Para hacer uso de la Librería de Componentes, los siguientes pasos se llevan a cabo:
1. Tener el compilado del componente (hacer build).
2. Registrar el componente en la Librería de Componentes.
3. Crear la regla de negocio que invoca el componente.
Ejemplo
En el siguiente ejemplo, utilizarermos la Librería de Componentes para incluir un componente desarrollado el cual usa una API en particular.
Ilustraremos esto mediante un proceso sencillo de Solicitud de crédito (Credit Request).
Nótese que en este ejemplo simplificado, vamos a validar que el solicitante no esté reportado en la lista negra centralizada (Blacklist), desde una tarea de servicio llamada "Verificar lista negra" (Verify Blacklist).
En esta tarea de servicio, crearemos una regla de negocio que acceda a nuestro componente desarrollado para hacer uso de cierta API. A través de esta API, invocaremos un método que nos retorne verdadero o falso si el aplicante está o no reportado en la lista centralizada.
Este ejemplo se describirá tanto para la edición Bizagi Enterprise .Net como para la Bizagi Enterprise JEE en las secciones abajo.
Ejemplo para Bizagi Enterprise .Net
En esta sección, ilustraremos cómo usar la Librería de Componentes en un proyecto de Bizagi Enterprise .Net.
Tener el compilado del componente (hacer build)
Nuestro primer paso es desarrollar el componente como un proyecto de tipo clase de librería.
En nuestro componente de ejemplo llamado "MyCreditBureauComponent", utilizamos como referencia "CreditBureau.dll", la cual representa una API externa.
Nótese que incluimos la referencia en nuestro componente.
Para la edición Enteprise .Net, hacemos build del proyecto para generar el ensamblado dll de salida.
Nótese que el namespace de nuestro componente se llama "MyCreditBureauComponent", y que nuestra clase es pública (llamada "Class1"). El método que invocaremos en el ejemplo se llama "IsCustomerInBlackList".
Registrar el componente en la Librería de Componentes
Habiendo compilado el proyecto en un ensamblado en el paso anterior, usaremos dicho archivo "MyCreditBureauComponent.dll" para registrar el componente en la Librería de Componentes de Bizagi.
Para hacerlo, vamos a las opciones de herramientas de Bizagi Studio y adicionamos un nuevo componente:
Asignamos un nombre, nombre para mostrar, y descripción a este componente:
Seguidamente, cargamos el archivo MyCreditBureauComponent.dll y especificamos el nombre del namespace de este componente:
Hacemos clic en Finalizar.
Dado que nuestro componente referencia y usa otra librería de clase (la API), necesitamos registrar e incluir en Bizagi esta API también.
Esto se realiza en la Librería de Componentes, al igual que lo realizado en el paso anterior con el ensamblado de nuestro componente.
Esta vez, se realiza para el ensamblado "CreditBureau.dll":
Para nuestra API, especificamos el nombre del namespace que le asignemos en el campo Namespace.
Cargamos el ensamblado correspondiente e igualmente asignamos un namespace:
Al final, debemos tener los 2 ensamblados registrados como 2 componentes separados:
Crear la regla de negocio que invoca el componente
Ahora que hemos registrado nuestro componente en la Librería de Componentes, procedemos a crear una regla de negocio que invoque los métodos del componente.
Para hacerlo, vamos al paso de Acciones de actividad desde el asistente de proceso, y seleccionamos la tarea de servicio "Verificar lista negra" (Verify black list). Incluimos una regla en este punto del proceso:
En la expresión de la regla, invocamos los métodos del componente con la siguiente sintaxis:
Namespace.Class.Method
Nótese que nuestra Clase no es estática (static), y por lo tanto, podemos crear una instancia previa de ella. En nuestro ejemplo, la expresión completa que invoca el método IsCustomerInBlackList realiza lo siguiente:
- Envia como parámetro de entrada, el id del aplicante.
- Almacena la respuesta (salida) del método en un atributo de tipo booleano "CreditRequest.InBlackList".
El siguiente es el contenido de la expresión:
var temp = new MyCreditBureauComponent.Class1(); Me.setXPath("CreditRequest.InBlackList", temp.IsCustomerInBlackList(Me.getXPath("CreditRequest.ApplicantId")));
Ejemplo para Bizagi Enterprise JEE
En esta sección, ilustraremos cómo usar la Librería de Componentes en un proyecto de Bizagi Enterprise JEE.
Tener el compilado del componente (hacer build)
Nuestro primer paso es desarrollar el componente como un proyecto de tipo clase de librería Java.
En nuestro componente de ejemplo llamado "MyCreditBureauComponent", utilizamos un jar de referencia "CreditBureau.jar", la cual representa una API externa.
Incluimos el .jar de la librería del proyecto Java.
Para la edición Enteprise JEE, hacemos build del proyecto igualmente como un archivo jar.
Nótese que nuestra Clase es pública (llamada "Class1"). El método que usaremos en el ejemplo se llama "IsCustomerInBlackList".
Registrar el componente en la Librería de Componentes
Habiendo compilado el proyecto en nuestro paso anterior, usaremos dicho archivo de salida ("MyCreditBureauComponent.jar") para registrar el componente en la Librería de Componentes de Bizagi.
Para hacerlo, vamos a las opciones de herramientas de Bizagi Studio y adicionamos un nuevo componente:
Asignamos un nombre, nombre para mostrar, y descripción a este componente:
Seguidamente, cargamos el archivo MyCreditBureauComponent.jar. En el nombre del namespace debemos especificar el nombre del paquete (package).
Hacemos clic en Finalizar.
Dado que nuestro componente referencia y usa otra librería de clase (la API), necesitamos registrar e incluir en Bizagi esta API también.
Esto se realiza en la Librería de Componentes, al igual que lo realizado en el paso anterior con el jar de nuestro componente.
Esta vez, se realiza para la API como tal "CreditBureau.jar":
Para la API de CreditBureau, especificamos el nombre del paquete (package) en namespace.
Cargamos el archivo jar correspondiente:
Al final, debemos tener los 2 .jar cargados como 2 componentes separados:
Crear la regla de negocio que invoca el componente
Ahora que hemos registrado nuestro componente en la Librería de Componentes, procedemos a crear una regla de negocio que invoque los métodos del componente.
Para hacerlo, vamos al paso de Acciones de actividad desde el asistente de proceso, y seleccionamos la tarea de servicio "Verificar lista negra" (Verify black list). Incluimos una regla en este punto del proceso:
En la expresión de la regla, invocamos los métodos del componente con la siguiente sintaxis:
Class.Method
Nótese que nuestra Clase no es estática (static), y por lo tanto, podemos crear una instancia previa de ella. En nuestro ejemplo, la expresión completa que invoca el método IsCustomerInBlackList realiza lo siguiente:
- Envia como parámetro de entrada, el id del aplicante.
- Almacena la respuesta (salida) del método en un atributo de tipo booleano "CreditRequest.InBlackList".
El siguiente es el contenido de la expresión:
var temp = new Class1(); Me.setXPath("CreditRequest.InBlackList", temp.IsCustomerInBlackList(Me.getXPath("CreditRequest.ApplicantId")));
Nota: Al guardar la regla de negocio que invoque un método de un componente (como en este ejemplo), la regla se guardará mostrando alertas y errores en la compilación que realiza Bizagi. Para este escenario, dichos mensajes pueden ser ignorados (funcionará correctamente en ejecución). |
Resultado
Para probar y ver el resultado del ejemplo, ejecutamos nuestro proceso desde el portal de trabajo de Bizagi haciendo clic desde la opción de "Ejecutar proceso" (Run process):
Podemos ver que después de la actividad de servicio "Verificar lista negra" (Verify black list), nuestra siguiente actividad mostrará el resultado almacenado de la invocación al método del componente:
En este punto, hemos utilizado un componente desarrollado por medio de la Librería de Componentes en Bizagi!
Componentes en Producción
Toda vez que un proyecto haya sido llevado a un ambiente de Producción (haya hecho deployment), no será posible eliminar los componentes que estén en producción (registrados en la Librería de Componentes).
Por lo tanto, en el ambiente de Desarrollo (a través de Bizagi Studio), la edición de la información de los componentes será restringida de acuerdo a cuando un componente esté activo en el ambiente de Producción.
En detalle, la edición de dichos componentes considerará:
- Se podrá editar (cambiar) el archivo de compilación (el ensamblado dll o archivo jar).
- No podrá editarse el nombre del componente, o su namespace definido en la Librería de Componentes.
Artículos Relacionados
- Usando la Librería de Componentes para la integración con SAP (Ejemplo desarrollado en .Net).
- Usando la Librería de Componentes para ejecutar procedimientos almacenados (Ejemplo desarrollado en .Net).
- Usando la Librería de Componentes para la integración con Excel (Ejemplo desarrollado en .Net).
- Usando la Librería de Componentes para administrar y generar documentos a partir de plantillas dinámicas (Ejemplo desarrollado en .Net).
<comments />