Invocar servicios desde el Bus de IBM WebSphere

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Asistente de Procesos > Integrar > Integración con aplicaciones > Conector de servicios Web > Invocar servicios Web (SOAP) >

Invocar servicios desde el Bus de IBM WebSphere

Overview

El Bus de servicios empresariales de IBM WebSphere se ha convertido en un Bus de integración ampliamente adoptado en las instalaciones corporativas.

Bizagi se integra con el  Bus de servicios Empresariales de IBM WebSphere, a través del conector genérico de servicios Web que Bizagi presenta, llamado WS Connector.

 

WebSphereESB

 

 

¿Qué necesita hacer?

Para configurar en Bizagi que los procesos invoquen servicios directamente manejados por el ESB de IBM WebSphere, usted necesitará usar el conector de servicios Web de Bizagi.

El conector de servicios Web de Bizagi, le permite configurar los parámetros de entrada y salida por medio de un mapeo gráfico y una transformación propia de funciones que no requieren de programación.

 

La configuración requerida sigue los mismos pasos presentados en Invocar servicios Web (SOAP).

 

Ejemplo

Con el fin de mostrar el proceso de consumir servicios configurados en el Bus de integración de IBM WebSphere (ESB), usaremos como ejemplo un proceso sencillo para registrar clientes y direcciones.

 

Además, Usaremos un bus de IBM con un servicio llamado AddressBookService que contiene dos métodos:

SaveAddress que es responsable de almacenar o actualizar una dirección en una base de datos.

FindAddress que es responsable de cargar una dirección basándose en un nombre.

 

Lo que haremos será crear un cliente y revisar si tiene direcciones registradas.

Si existe una dirección asociada al cliente, el usuario puede usarla o actualizarla, de lo contrario, el usuario puede crearla.

 

El proceso modelado es como se ve a continuación:

 

AddressRegistration

 

En la actividad llamada Register Address, vamos a validar la existencia de una dirección asociada con el cliente usando el método FindAddress y en la actividad Save Address vamos a guardar la actualización o registro de una dirección asociada a un cliente usando el método SaveAddress.

 

El modelo de datos para este proceso se muestra a continuación:

 

DataModel

 

La entidad Address será actualizada con el resultado del Servicio Web.

 

note_pin

Observe que la entidad City es una entidad paramétrica.

Como nuestro servicio envía y recibe solamente el código de la Ciudad, estableceremos que el atributo code es la llave de negocio definiendo la unicidad de los registros en la entidad City (cada ciudad tiene un código único).

Para definir Llaves de negocio en entidades de Bizagi, diríjase a Llaves de Negocio.

 

Para encontrar la dirección, hemos definido nuestra forma con un botón que ejecuta la interfaz.

Una vez el servicio retorna la respuesta, Bizagi mostrará la información de cada campo con la información.

Si se debe registrar una nueva dirección, la actividad Save address se ve involucrada para ejecutar el otro servicio.

 

 

Procedimiento

Vamos a mostrar el procedimiento que se lleva a cabo para configurar la invocación del servicio FindAddress.

 

1.Abra el conector de Servicios Web.

Para este caso en el cual el servicio web es invocado desde un botón, el conector de servicios Web se abre desde Acciones y Validaciones dentro de la forma de la actividad Register Address.

 

WSC_01

 

2.Configure la información general del servicio.

Seleccione SOAP como el tipo de servicio, escriba la URL del servicio y haga clic en Ir a URL para mostrar los métodos disponibles.

Recuerde que la URL no debe tener espacios en blanco de sobra.

 

WSC_02

 

Seleccione el método y haga clic en Siguiente.

 

3.Mapee los parámetros de entrada.

Arrastre los parámetros para mapear la información que Bizagi debe enviar al servicio FindAddress.

 

En nuestro ejemplo, enviamos el identificador del cliente que fue establecido como nombre de la dirección para el parámetro Name.

Observe que el nombre del parámetro tiene un atributo XML llamado Value, en el cuál necesitamos enviar la información.

 

Haga clic en Siguiente.

 

WSC_03

 

4.Mapee los parámetros de salida.

Al igual que en el paso anterior, use la funcionalidad de arrastrar y soltar para mapear gráficamente la información de la respuesta del servicio la cual, actualizará el modelo de datos de Bizagi.

 

En nuestro ejemplo, almacenamos toda la información de las direcciones en nuestra entidad Address (El usuario tiene una dirección asociada).

 

note_pin

Observe que la información de entrada de la ciudad de la dirección es enviada como un código de texto.

Vamos a mapear el valor de Ciudad en el atributo Code en la entidad City de Bizagi lo que permite hacer un enlace entre el registro de la ciudad que ya se tiene en Bizagi y que corresponde al código.

De esta manera, no se crean nuevas ciudades.

 

Haga clic en Siguiente.

 

WSC_04

 

5.Defina el manejo de errores.

Este paso es opcional

Usted puede definir un manejo de errores para este servicio y luego hacer clic en Finalizar.

 

En nuestro ejemplo, no definimos manejo de errores.

Para información sobre cómo definir el manejo de errores, diríjase a Manejo de Errores en Interface.

 

WSC_05

 

En este punto, hemos configurado la invocación de un servicio del Bus de Servicios Empresariales de IBM WebSphere desde un proceso en Bizagi.

Los mismos pasos deben ejecutarse para la invocación del servicio SaveAddress, pero en vez de usar el conector de los servicios Web desde un botón, lo configuramos en la actividad asíncrona Save Address.

 

 

Ejecución

Una vez hayamos configurado la invocación del servicio, ejecutamos el proceso:

 

Cuando se trabaja en la actividad Register Address Cuando se trabaja en la actividad FindAddress.

 

FindAddress

 

Cuando se trabaja en la actividad Save AddressCuando se trabaja en la actividad SaveAddress.

 

SaveAddress

 

 

Ambos métodos de del servicio son consumidos del WSDL publicado, manejado por el ESB de IBM WebSphere:

 

WSDL00

 

Consideraciones

Los servicios Web disponibles en el Bus de Servicios Empresariales de IBM WebSphere deben ser definidos con endpoints HTTP.

Otros endpoints como JMS no están soportados.