×

Encuéntranos

Dirección
Eustorgio Salgado N19-275 y Santa Rosa
Ecuador, Quito

Horas
Lunes a viernes: 8:00AM a 6:00PM
Sábado y domingo: 11:00AM a 3:00PM

1 Tickets de Soporte https://jtrac.atikasoft.com/

Si aún tiene problemas, háganoslo saber enviando un correo electrónico a info@atikasoft.com. ¡Gracias!

 

Creando un simple API con WSO2 Integrator

Índice de Contenidos

  1. Entorno
  2. Introducción
  3. Preparación
  4. Creando los artefactos de la mediación de mensajes
  5. Desplegando los artefactos a WSO2 Integrator
  6. Envío de solicitudes a WSO2 Integrator
  7. Conclusión

1. Entorno

Este tutorial se ha redactado utilizando el siguiente entorno:

  • Toshiba Satellite
  • 16GB RAM
  • Intel® Xeon(R) CPU E3-1220 V2 @ 3.10GHz × 4
  • Ubuntu 20.04.1 LTS
  • WSO2 Integrator 6.6.0
  • WSO2-Integration-Studio-7.2.0-linux-gtk-x86_64
  • JDK 1.8.0_282

2. Introducción

WSO2 Enterprise Integrator es una plataforma de integración híbrida de código abierto. Está diseñada para permitir una integración centrada en API al utilizar estilos de arquitectura de integración, como microservicios o ESB (bus de servicio empresarial, por sus siglas en inglés) centralizados. Esta plataforma proporciona un diseñador gráfico de flujo de arrastrar y soltar y un enfoque basado en la configuración para crear soluciones de integración de poco código para proyectos nativos de contenedor y la nube.

Probemos un escenario simple en el que un paciente realiza una consulta especificando la especialización (categoría) del médico para recuperar una lista de médicos que coinciden con la especialización. Configuraremos un recurso API en WSO2 Enterprise Integrator (WSO2 EI) que recibirá la solicitud del cliente, en lugar de que el cliente envíe mensajes directamente al servicio back-end, desacoplando así al cliente y el servicio back-end.

En este tutorial, creará una API REST en WSO2 Enterprise Integrator para conectarse a un servicio de back-end REST que se define como un punto final HTTP en WSO2 EI.

3.Preparación

  1. Instale Oracle Java SE Development Kit (JDK) version 1.8.* y cree la variable de ambiente JAVA_HOME.
  2. Descargue el archivo ZIP de WSO2 EI desde aquí,  y extraiga los archivos a un directorio local. La ruta a esta carpeta se denominará <EI_HOME> a lo largo de este tutorial.
  3. Seleccione y descargue el archivo ZIP de WSO2 EI Tooling (basada en eclipse) correspondiente según su sistema operativo desde aquí y luego extraiga el archivo ZIP. La ruta a esta carpeta se denominará <EI_TOOLING> a lo largo de este tutorial.

4. Creando los artefactos de la mediación de mensajes

Las solicitudes que pasan por Enterprise Integrator se denominan mensajes y la mediación de mensajes es una parte fundamental de cualquier ESB. En esta sección, configuraremos la mediación de mensajes para las solicitudes recibidas por Enterprise Integrator que deben enviarse al servicio de back-end HealthcareService. Usaremos herramientas WSO2 EI basadas en Eclipse para crear los artefactos de mediación de mensajes y luego implementarlos en WSO2 EI.

Consulte los siguientes temas para obtener una descripción de los conceptos que necesita saber al crear artefactos EI de WSO2:

Creando el proyecto de artefactos desplegables (deployable artifacts project)

  1. En Eclipse, abra el panel de Developer Studio haciendo clic en el menú Developer Studio.
  2. Haga clic en “New Integration Project” cree un proyecto llamado SampleServices y seleccione las siguientes casillas de verificación para que se creen los proyectos relevantes.

Presione “Finish”

Ahora ha creado los siguientes proyectos como se muestra en el Explorador de proyectos:

A continuación, dentro del proyecto SampleServices ESB Config, crearemos un Endpoint que permitirá que Enterprise Integrator se conecte al servicio back-end.

Conexión con el servicio de back-end

El servicio de back-end de muestra utilizado en este tutorial (es decir, el archivo Hospital-Service-2.0.0.jar) está alojado en WSO2 App Cloud. Para conectarse al servicio de back-end, debe exponer una URL que se pueda utilizar para conectarse al servicio. Para hacer esto, cree un endpoint para este servicio.

  1. Haga clic con el botón derecho en SampleServicesConfigs en el Explorador de proyectos y vaya a New -> Endpoint.
  2. Asegúrese de que la opción Crear un nuevo endpoint seleccionada y haga clic en Siguiente. Proporcione la información como se muestra en la siguiente imagen:

Endpoint Name: QueryDoctorEP

Endpoint Type: HTTP Endpoint

URI Template: http://wso2training-restsamples.wso2apps.com/healthcare/{uri.var.category}

Method: GET

Save Endpoint in: SampleServicesConfigs

Presione “Finish”

El endpoint QueryDoctorEP que creó se guarda en la carpeta de endpoints dentro del Proyecto de configuración ESB que creó.

Ahora que ha creado el endpoint para el servicio back-end, es hora de crear la API REST y el recurso API relevante que recibirá solicitudes de las aplicaciones cliente, mediará en ellas y las enviará al punto final, y devolverá los resultados al cliente.

Mediar solicitudes al servicio back-end

Usaremos el Tooling WSO2 EI para crear una API REST llamada HealthcareAPI. Luego, crearemos un recurso dentro de esta API para el método GET HTTP que se utiliza para enviar solicitudes al servicio de back-end HealthcareService y recuperar la información médica disponible.

Haga clic con el botón derecho en SampleServicesConfigs en el Explorador de proyectos y vaya a New -> Rest API.

Asegúrese de que la opción Crear un nuevo artefacto de API esté seleccionada y haga clic en Siguiente.

Complete la información como en la siguiente imagen:

Name: HealthcareAPI

Context: /healthcare

Save location: SampleServicesConfigs

Haga clic en Finalizar. Una vez que se crea el recurso de API, aparece la vista de diseño del archivo HealthcareAPI.xml para que pueda comenzar a configurar el recurso de API.

Haga clic en el icono de recursos en el lado izquierdo del canvas. Las propiedades del recurso API aparecerán en la pestaña Propiedades en la parte inferior de la ventana. (Si no aparecen, puede hacer clic con el botón derecho en el icono de proxy y hacer clic en Mostrar vista de propiedades).

En la pestaña Propiedades, proporcione lo siguiente información.

Desde la paleta Mediadores, haga clic y arrastre un mediador de Log (Log mediator) a la secuencia  (la parte superior del lienzo).

Ahora agregaremos la propiedad que extraerá de la solicitud e imprimiremos un mensaje de bienvenida en el registro. Haga clic en el campo Valor de la propiedad Propiedades y luego haga clic en el icono de exploración (…) que aparece.

Haga clic en Aceptar para guardar la configuración del mediador de log.

Ahora configuraremos el Mediator Send para enviar el mensaje de solicitud al endpoint de HealthcareService.

Desde la paleta Mediadores, haga clic y arrastre un Mediator Send a la secuencia In adyacente al mediador de log que agregó anteriormente. Junto a esto, haga clic y arrastre el QueryDoctorEP que creamos encima de la paleta Defined EndPoints.

La secuencia In ahora está completa. A continuación, debemos asegurarnos de enviar la respuesta desde el punto final HealthcareService al cliente. Para esto, usamos un mediador de envío sin un punto final de salida definido, que por defecto devuelve la respuesta al cliente solicitante.

Desde la paleta Mediadores, haga clic y arrastre un Mediator Send a la Secuencia de salida (la parte inferior del lienzo).

Esto completa los pasos para crear los artefactos necesarios para enviar una solicitud a través de WSO2 EI al servicio de back-end HealthcareService. Ahora empaquetaremos estos artefactos y los desplegaremos en WSO2 EI.

5. Desplegando los artefactos a WSO2 Integrator

Empaquete el endpointQueryDoctorEP y el API HealthcareAPI en el proyecto de Aplicación compuesta (C-App) llamado SampleServicesCompositeApplication. Guarde todos los cambios.

Inicie WSO2 desde la consola.

WSO2 Integrator es iniciado, debe ingresar al browser con el siguiente url: https://192.168.100.118:9443/carbon/

El usuario y clave por default es “admin”

Presionar “Carbon Applications -> Add” para publicar el archivo CAR correspondiente.

Se procede a ejecutar la publicacion del archivo CAR.

6. Envío de solicitudes a WSO2 Integrator

En el panel de navegación izquierdo, haga clic en API en Service Bus. Aquí puede ver que la API REST que creamos anteriormente, HealthcareAPI, está disponible en WSO2 EI y está lista para recibir solicitudes y enviarlas al servicio de back-end. Aquí también puede ver la URL de invocación de API que se utiliza para enviar la solicitud al servicio.

Se utiliza Postman para ejecutar el API.

Se muestra el mensaje de log en la consola.

7. Conclusión

WSO2 EI constituye la red troncal más importante dentro de la plataforma WSO2.  Gracias ella es posible la integración de cualquier tipo de servicios web, así como los RESTful; este último es el que permite la interacción con todos los recursos de un servidor.

 

TOP