Invocar servicios REST

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Integrar > Integración con aplicaciones > Conector de servicios Web >

Invocar servicios REST

Introducción

Bizagi ofrece un conector de servicios Web (el cual hace parte de su capa de integración) que promueve una configuración sencilla para la invocación de servicios Web externos.

Este conector soporta tanto la invocación de servicios Web SOAP estándar, como la de servicios REST.

 

En este artículo describiremos la integración con servicios REST basados en protocolos Web.

Para la integración con servicios Web de tipo SOAP, consulte Invocación de servicios SOAP.

 

note_pin

La versión 11 introduce un nuevo concepto poderoso para la integración donde se contemplan servicios REST también, llamado los Conectores Bizagi.

Para mayor información sobre este concepto, consulte Conectores de Bizagi.

 

Integración de servicios RESTful

La siguiente imagen ilustra cómo Bizagi integra fácilmente los servicios de tipo REST a través del Conector de servicios Web.

 

WS Connector REST

 

El intercambio de información entre Bizagi y el sistema externo se realiza por medio de XMLs.

De esta manera, la integración es independiente de las plataformas o tecnologías involucradas, y del lenguaje de programación de la implementación del servicio.

 

Antes de continuar revisando este artículo, listaremos brevemente algunos servicios REST, sus características, y mencionaremos algunas diferencias entre servicios REST y servicios Web tradicionales (SOAP); principalmente porque ambos son importantes y utilizados frecuentemente en aplicaciones (el empleo de uno no pretende reemplazar el otro).

 

Servicios REST comparados con servicios web SOAP

Primero que todo, es importante entender los servicios REST como un concepto, fueron reforzados como la mejor alternativa para consultar información desde dispositivos móviles.

 

De acuerdo a esta idea, a través de los dispositivos móviles es frecuente querer consultar información en línea contenida en sitios Web de una manera ágil (como mapas geográficos, información general de la Web, actualizaciones de redes sociales, tasas de cambio actuales, reporte del clima, precio de productos comerciales, etc.). Esto es porque los servicios REST exponen información como "recursos" a ser consumidos via HTTP (o HTTPS).

 

Dicho esto, los servicios REST diseñan y utilizan diferentes métodos a los presentados por los servicios web SOAP. Los servicios web SOAP están destinados para un diseño SOA en sistemas corporativos internos, con la posibilidad de medidas adicionales y más fuertes de seguridad para su acceso.

 

Cuando se consumen SOAP o REST, la configuración de la invocación difiere en lo siguiente:

 

Cuando se  invoca un servicio web SOAP, el sistema puede interpretar y utilizar definiciones previas del sistema Web (su estructura esperada de entrada y salida). Esto se describe a través de WSDL publicados en el diseño y construcción de los servicios SOAP.

 

Cuando se invoca un servicio REST, por defecto, no hay definición disponible para los parámetros de entrada y estructura de salida de este servicio, que un sistema pueda interpretar. Esta tarea se delega al usuario que hace la invocación.

 

Acerca de servicios REST

Los servicios REST presentan cuatro métodos posibles (los cuales son los cuatro métodos HTTP) para consumir sus recursos expuestos: Get, Post, Put y Delete. Cada método para servir cada posible acción para la materia del recurso (leer, crear actualizar o eliminar).

 

La tabla a continuación clarifica el método para estas posibilidades:

 

Acción

Método HTTP

Crear

PUT

Leer

GET

Actualizar

POST

Eliminar

DELETE

 

 

Tenga en cuenta que los pasos varían ligeramente de acuerdo al método de interfaz escogida en el asistente de interfaces de Bizagi (de acuerdo al método HTTP escogido para el servicio REST). Mientras se utilicen los métodos POST o PUT (esos métodos en los cuales la información persiste hasta el recurso), esa información extra involucrada (para crear o actualizar), se envía estableciendo una configuración en un paso adicional.

 

Para estos métodos, se utilizaría autenticación básica.

 

Prerrequisitos

Tenga en cuenta que debido a su naturaleza, se espera que los servicios REST sean proveídos sobre Internet, y por sitios Web que publiquen información en todo el mundo.

 

Por lo tanto se requiere consultar primero la documentación del servicio REST publicado que se invocará, con el fin de comprobar los parámetros esperados por el servicio (entrada), y cómo se estructura la respuesta retornada por el servicio (salida).

 

Los APIs de los servicios REST presentan la estructura de información (Entrada y Salida) y sus correspondientes ejemplos para consumir los recursos de acuerdo a los cuatro métodos HTTP: Get, Post, Put y Delete.

Consulte un listado completo de posibilidades de configuración avanzada en la invocación de servicios REST como por ejemplo, la edición del content-type, en Configuración especial en la invocación de servicios REST.

 

¿Qué necesita en Bizagi?

Usted puede invocar un servicio REST de sistema externo desde cualquier Actividad en su Proceso Bizagi.

 

Para configurar este tipo de invocación, se utiliza el asistente de interfaces Bizagi: se define que información se envía desde Bizagi y cómo se actualiza la información recibida en el Proceso.

 

En resumen, la configuración de la invocación de un servicio REST en Bizagi se hace:

 

1. Creando una invocación de interfaz.

2. Especificando el tipo de servicio, URL y método.

3. Mapeando todos los parámetros del entrada del servicio.

4. Mapeando la respuesta del servicio externo.

5. Configurando el manejo de errores (opcional).

 

Ejemplo

En los siguientes ejemplos, vamos a mostrar cómo invocar servicios REST:

 

Para la invocación de métodos GET y DELETE, consulte Ejemplo para métodos de obtención de información.

Para la invocación de métodos POST y PUT, consulte Ejemplo para métodos de colocación de información.

 

Una vez haya completado los ejemplos anteriores, ¡usted sabrá cómo invocar servicios REST desde Bizagi!.

 

Consideraciones Adicionales

Bizagi guardará de manera precisa la información para su invocación y mapeo, incluso si hay un cambio posterior en el método de servicio Web externo.

 

Esto significa que si su servicio Web externo cambia (por ejemplo, su definición posee parámetros nuevos o diferentes), usted necesitará considerar si es necesario reconfigurar la invocación en Bizagi Studio.

 

Sería recomendable examinar la invocación de sus servicios Web y navegar por su configuración para revisar el mapeo de parámetros nuevos o alterados.

 

Observe que usted también puede administrar sus interfaces en ambientes de pruebas o producción (útil por ejemplo ante eventuales cambios como por ejemplo, si se mueven los servidores que alberguen servicios web externos).

Para mayor información, consulte Administración de Interfaces.