Ejemplo de conector Personalizado

<< 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 > Conectores de Bizagi > Crear conectores > Conectores Personalizados >

Ejemplo de conector Personalizado

Introducción

En esta se sección se ilustra un ejemplo a manera de paso a paso donde se crea un conector Personalizado.

En el ejemplo, se publica un nuevo mensaje en Twitter desde un proceso de Bizagi.

Para mayor información sobre esta funcionalidad, consulte los Conectores Personalizados.

 

Antes de comenzar

Recuerde que típicamente para integrar servicios en la nube, como aquellos proporcionados por Twitter, usted deber contar con una aplicación válida y autorizada a acceder a su cuenta en Twitter.

Esto significa en este escenario, crear una app directamente en https://apps.twitter.com/.

 

Registre su aplicación para obtener las credenciales de autorización (las cuales serán utilizadas posteriormente).

 

example_custom_10

 

Usted deberá contar en este punto con: un API Key, API Secret, Access Token y un Access Token Secret.

 

example_custom_9

 

Y de esta manera, su app deberá quedar autorizada a acceder su cuenta, configuración que podrá verificar en https://twitter.com/settings/applications.

 

Pasos

Los pasos generales que se ilustran en este ejemplo son:

1. Crear el conector: Los pasos necesarios para producir el conector con librerías y tecnología de Node.js (usando www.npm.com y el Editor de Conectores).

2. Probar el conector: Los pasos realizados con Bizagi Studio para contar con un proceso que utilice dicho conector.

 

note_pin

El paso #2 considera un proceso de ejemplo que ilustra el potencial de este conector puntual.

Para este paso, usted debe conocer sobre el uso y opciones básicas de Bizagi Studio, y tenga presente que usted no necesariamente debe utilizar este mismo proceso para probar este conector.

 

1. Crear el conector

Para empezar a crear un conector de Twitter, nótese que primero se ilustra cómo puede descargar y apoyarse en una librería existente de conexión específica para ese sistema.

 

1.1 Ubicando una librería de Node.js.

Descargue desde www.npmjs.com, una librería de Node.JS para ser utilizada como base de la conectividad dentro del conector.

En este ejemplo, se ilustra el uso de la librería llamada twit, creada por ttezel.

 

Consulte la documentación de la librería misma, o incluso su código, para prestar especial atención a cómo se utiliza la librería, incluyendo la configuración de parámetros de entrada y de salida.

 

example_custom_11

 

example_custom_12

 

1.2. Creando un conector Personalizado

Acceda al Editor de Conectores y cree un nuevo conector con los siguientes pasos.

 

a.Adicione la librería twit al conector.

 

example_custom_14

 

b.Adicione los parámetros de autenticación.

 

example_custom_15

 

note_pin

Dado que estos parámetros tendrán información sensible, el cifrado de sus valores se debe usar (field encryption).

Habilitando este switch, se tendrá en Bizagi Studio los valores desplegados como un campo de tipo contraseña (con asteriscos para proteger los valores en caso de intentar copiarlos).

 

c.Adicione una acción y configure sus propiedades. Tenga presente que el nombre y la descripción se muestran cuando se se configure el uso del conector desde los procesos.

 

example_custom_16

 

d.Defina la estructura de los datos de entrada (no necesariamente deben ser todos los campos del API; solamente aquellos que usted detecte sean útiles para su conector).

 

 

example_custom_17

 

 

 

e.Defina la estructura de los datos de salida (no necesariamente deben ser todos los campos del API; solamente aquellos que usted detecte sean útiles para su conector).

 

example_custom_18

 

f.Implemente el código donde se especifica el comportamiento de la acción.

 

example_custom_19

 

En este ejemplo se utiliza el siguiente código (clic para desplegar el código):

hmtoggle_plus1Show Action code

 

g.Descargue el conector como archivo .bizc.

 

example_custom_20

 

 

2. Configurar el conector

Una vez que haya creado el conector, su configuración y uso se lleva a cabo desde Bizagi Studio.

Para este fin y para poder ilustrar el potencial de este conector, se ilustra a continuación un proceso donde que emula una compañía de media (periódicos) que publica enlaces a sus noticias en su cuenta de Twitter.

 

Para ello se utiliza este proceso:

 

example_custom_1

 

El detalle detrás de este proceso, es que cada vez que se crea un caso, se publica el enlace al URL de la noticia y se configura un número predeterminado de ocurrencia para hacerlo (o.e cada 2 horas, un post a Twitter). El caso puede ser cancelado en cualquier momento.

Para configurar el conector desde este proceso, primero se presenta cómo implementar dicho proceso y finalmente, desde dónde configurar el uso del conector.

 

2.1 Implementar el proceso.

Basado en el modelo BPMN de arriba, los siguientes detalles de implementación consideran:

 

a.Utilizar este modelo de datos:

 

example_custom_2

 

b.Configurar el tiempo de espera de un temporizador en el modelo de proceso.

 

example_custom_28

 

c.Definir la forma para la tarea donde se registra la noticia (Register News).

 

example_custom_3

 

d.Definir la forma donde se maneja la información de la noticia:

 

example_custom_4

 

e.Configurar la lógica dentro de la compuerta (permitiendo una nueva publicación cuando el número de intentos previos no haya superado la cantidad permitida definida a priori):

 

example_custom_5

 

example_custom_6

 

f.Definir una regla que se ejecute en la tarea de registro (Register news), donde se asigne información inicial del usuario y la fecha:

 

example_custom_7

 

//Case information

 <MediaPublicity.Newsregistrydate> = DateTime.Today;
 <MediaPublicity.Newsregistryperformer> = Me.Case.WorkingCredential.UserId;

 

g.Definir una regla que se ejecute en la tarea de publicación (Publish news trough Twitter).

 

 

 

example_custom_8

 

Seleccione un mensaje para Twitter, de una lista de mensajes previamente definidos:

var MessagesEntity = CHelper.GetValueAsCollection(<MediaPublicity.Messagestopublish>);
var MessagesAmount = MessagesEntity.size();

var randNumb = CHelper.Math.Rand(0,MessagesAmount-1);
var MessageToPublish = MessagesEntity.get(randNumb).getXPath("Message");

Me.setXPath("MediaPublicity.Currentmessage",MessageToPublish);

 

Incrementar el total de número de publicaciones realizadas:

<MediaPublicity.Currentpublication> = <MediaPublicity.Currentpublication>+1;

 

 

2.2 Configurar el conector.

Ahora que el proceso se encuentra listo, la configuración y uso del conector en él se realiza mediante los siguientes pasos.

 

a.Vaya a la vista experta (Expert view) y hacia los sistemas externos (External Systems). Seleccione Connectors y dé clic en la opción de adicionar uno nuevo desde archivo (Add connector from file).

 

example_custom_21

 

b.Seleccione el conector .bizc descargado previamente y dé clic en Aceptar. Seguidamente seleccione el conector que aparece listado producto de esta acción, y dé clic derecho sobre su versión (1.0.0) para adicionar una nueva configuración de sistema (New System Configuration).

 

example_custom_22

 

c.Asigne a la configuración un nombre y descripción. Asegúrese también de seleccionar el método de autenticación ("Custom") para configurarlo. Ingrese: API Key, API Secret, Access Token y Access Token Secret, según como pertenezca a su cuenta de Twitter. Estas credenciales serán utilizadas de ahora en adelante al momento de ejecutar la conexión con Twitter.

 

 

example_custom_23

 

d.De vuelta a la vista de asistente (wizard view), seleccione el paso 4 (Activity Actions). Adicione una acción de tipo conector para que se ejecute a la salida de la tarea de publicación, asegurándose de seleccionar Connector desde la lista desplegable en la opción On Exit.

 

example_custom_24

 

e.Seleccione el conector y luego la acción a ejecutarse.

 

example_custom_25

 

f.Mapee los datos de entrada.

 

example_custom_26

 

note_pin

Dado que Currentmessage y URL son 2 atributos separados que irán dentro de un mismo parámetro, se deben concatenar.

Para su mejor uso, se utiliza un espacio en blanco como constante, entre estos 2 atributos.

 

g.Mapee los datos de salida y dé clic en Finalizar.

 

example_custom_27

 

 

 

Ejecución

Lance el Portal de trabajo de Bizagi para ejecutar y probar el conector para este proceso.

Cree un nuevo caso y registre la URL de la noticia. Seguidamente, adicione mensajes para la publicación.

 

example_custom_30

 

Dé clic en Siguiente(Next) al finalizar.

 

En este punto usted notará que un nuevo tweet será publicado con el mensaje y la URL de la noticia.

 

example_custom_31