Ejemplo en .NET

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Integrar > Integración con aplicaciones > Integrar APIs o código personalizado en Bizagi > Componentes personalizados >

Ejemplo en .NET

En el siguiente ejemplo, utilizaremos la funcionalidad de Librería de Componentes para incluir un componente desarrollado que utiliza un API externo.

Para más información sobre esta opción en Bizagi, consulte el artículo principal.

 

 

¿Qué se necesita en Bizagi?

Para utilizar una funcionalidad de Librería de Componentes, se llevan a cabo los siguientes pasos:

 

1. Construir su componente (una salida compilada).

2. Registrar el componente en Bizagi.

3. Crear las reglas de negocio que invocan el componente.

 

 

Importante

Cuando se desarrolla un componente para usarlo directamente en Bizagi .NET, debe asegurarse de que el componente se compile y soporte el framework utilizado por la aplicación de Bizagi.

En versiones Bizagi 11.x, el framework soportado de .NET es la versión 4.6.1.

Esto puede implicar que si su componente estaba siendo utilizado en versiones 10.x de Bizagi (las cuales utilizaban versión 4.0 de .NET), usted deberá asegurarse de que dicho componente sea aún compatible con la versión más actualizada 4.6.1.

 

 

Ejemplo

Ilustraremos esto a través de un Proceso de Solicitud de Crédito.

 

ComponentLibrary01_Process

 

 

Observe que este es un ejemplo simplificado, en el cual validaremos que el solicitante no este reportado en la central de riesgo, desde la tarea de servicio "Verificar Lista Negra".

 

En esta tarea de servicio, crearemos un regla de negocio que acceda a nuestro componente desarrollado para hacer usos de ese API. A través de este API, invocaremos un método que devuelva si el solicitante está o no, en la lista negra (verdadero o falso).

 

En esta sección ilustraremos como usar la funcionalidad de Librería de Componentes para un proyecto Enterprise.NET.

 

 

Construir su componente (una salida compilada)

Nuestro primer paso es desarrollar el componente como un proyecto de librería de clase.

 

En nuestro componente ejemplo llamado “MyCreditBureauComponent”, hacemos uso de un “CreditBureau.dll”, el cual representa un API de ejemplo.

 

ComponentLibraryNET00

 

Observe que incluimos la referencia en nuestro componente.

 

ComponentLibraryNET01

 

Para la edición Enteprise .Net construimos el proyecto de librería de clase como un montaje dll.

 

ComponentLibraryNET02

 

Note que el nombre del espacio del componente es  “MyCreditBureauComponent”, y que nuestra clase es pública (llamada “Class1”). El método que utilizaremos en este ejemplo se denomina "IsCustomerInBlackList”.

 

 

Registrando el componente en Bizagi

Habiendo construido el montaje del componente en nuestro paso previo, utilizaremos la salida “MyCreditBureauComponent.dll” para registrar el componente en la Librería de Componentes de Bizagi.

 

Para hacerlo, vamos a las Herramientas de Bizagi Studio y agregamos un nuevo componente:

 

ComponentLibrary02_CL

 

 

Encuentre el archivo .dll y después dé clic en abrir, descargue el archivo ensamblado MyCreditBureauComponent.dll

 

 

ComponentLibraryNET02_102

 

Una vez ha añadido el componente, asígnele un nombre y una descripción.

 

Dado que este componente  referencia y utiliza otra librería de clase (el API), es necesario registrar e incluir dicho API a nuestra librería de componentes.

 

Por lo tanto, se repite los pasos para añadir un componente, pero esta vez, se realizar para el ensamblado CreditBureau.dll

 

 

ComponentLibraryNET03_102

 

Al final, necesitamos tener registrados nuestros 2 montajes como 2 componentes separados.

 

ComponentLibrary07_CL

 

 

Crear las reglas de negocio que invocan el componente

Ahora que se ha registrado nuestra Librería de Componentes, procedemos a crear una regla de negocio que invoque el método del componente.

 

note_pin

Por cuestiones de simplicidad en el ejemplo, se enseña cómo invocar el componente desde una regla de negocio directamente.

 

Sin embargo, como buena práctica en términos de mantenibilidad de la solución, se recomienda crear una regla global (regla de librería) que reciba los parámetros de entrada, invoque el componente, y retorne parámetros de salida.

De esta manera, las reglas de negocio llaman a su vez a esta regla global y usted mantiene en Bizagi un único punto acoplado al componente.

Los miembros de su equipo que trabajen en el mismo proyecto, únicamente necesitarán conocer qué regla global utilizar.

Para mayor información sobre reglas globales, consulte la Reutilización de reglas de negocio.

 

Para hacerlo, vamos a la vista de Acciones de la Actividad desde nuestro Asistente de Procesos, y seleccionamos la tarea de servicio Verificar Lista Negra. Incluimos una regla de negocio en este punto del Proceso:

 

ComponentLibrary08_CL

 

En la expresión, invocamos nuestro método de MyCreditBureauComponent con la siguiente sintaxis:

 

Class.Method

 

Note que nuestra clase no se define como una clase estática, y por lo tanto podemos crear previamente una instancia de este, para invocar sus métodos. En nuestro ejemplo, la expresión completa invoca el método IsCustomerInBlackList por:

 

Enviar el id del Solicitante.

Almacenar el resultado del método en el atributo de tipo booleano CreditRequest.InBlackList

 

 

ComponentLibrary09_CL

 

Este es el contenido de la expresión:

 

var temp = new Class1();

Me.setXPath("CreditRequest.InBlackList",temp.IsCustomerInBlackList(Me.getXPath("CreditRequest.ApplicantId")));

 

 

En este punto, hemos configurado un componente desarrollado con la funcionalidad de Librería de Componentes en Bizagi.

 

 

Ejecución

Para ver este ejemplo funcionando, ejecutaremos nuestro Proceso en el Portal de Trabajo de Bizagi, dando clic en la opción Ejecutar Proceso:

 

ComponentLibrary_Run

 

 

Podemos ver que después de la tarea de servicio "Verificar Lista Negra", nuestra próxima Actividad será mostrar el resultado de la invocación de los métodos de nuestro componente:

 

ComponentLibrary10_Execution