Un repaso a Oracle Integration Cloud service, la nube de integración

Por Mariano Zetina
Publicado en Octubre 2016

Introducción a Oracle ICS

Hoy en día las empresas de gran tamaño tienen el deber de adaptarse a las nuevas tecnologías, al no hacerlo quedan rezagadas y pierden competitividad.

¿Quién no ha escuchado ya el concepto de cloud computing? Porque a mi parecer desde hace pocos años este concepto se ha popularizado mucho en términos de tecnología, y, no es para menos pues el llamado cloud computing está ayudando a las empresas a desacoplar carga de infraestructura tecnológica ayudándoles a crecer en términos de TI. Al día de hoy ya muchas empresas están apostando por las soluciones en la nube y no dudo que este número siga creciendo.

Pero; ¿Qué sucede cuando llega la necesidad de integrar las soluciones de una nube a otra nube?

“Oracle Integration Cloud Service” representa la integración a través de un servicio en la nube; nos ofrece la posibilidad de conectar soluciones de nube a nube, a servicios de soluciones on-premise o a diversos productos/aplicaciones de una manera bastante sencilla. Una de las promesas de Oracle con la nube de ICS fue poder reducir el tiempo de integración de un proyecto ocupando menos recursos y vaya que Oracle ha cumplido su promesa.

Así que adentrémonos en el producto:

Cuando ya hemos obtenido nuestro usuario de cloud (previo registro en un dominio de identidad), podremos acceder a nuestra cuenta:

Después de haber hecho log in veremos la página de cloud services, esta página se divide en tres áreas importantes:

  • Dashboard: muestra las nubes de Oracle a las cuales tenemos permiso para acceder.
  • Users: Enlista todos los usuarios del identity domain al cual pertenecemos.
  • Notifications: A modo bandeja de entrada, muestra las notificaciones de cloud que hemos recibido.

En la parte superior se muestran datos como el dominio de identidad, las preferencias de idioma y zona horaria y las acciones que podemos realizar con nuestro perfil de usuario.

Para ingresar a la ventana de detalle de alguna de nuestras nubes, será suficiente con dar clic sobre de ella.

En esta ventana podremos ver información a detalle como son:

  • Tiempos de funcionamiento activo por mes, cuarto de año o año.
  • Métricas de los servicios.
  • Información adicional.
  • Botón de acceso para acceder a la consola de servicio, es aquí en donde podemos crear nuestros servicios de integración.

Dentro de la consola de servicio lo primero que veremos es una página de inicio con accesos directos a las diversas funciones de ICS a modo de mosaicos y en la parte superior derecha distinguiremos tres botones que nos llevaran a las vistas de diseño, monitoreo y administración.

  • Vista Designer, en esta vista es en donde crearemos nuestras integraciones, una integración de ICS se compone de diferentes componentes, en esta vista podremos crear cada uno de esos componentes:
    • Connections

Aquí es en donde se crean las conexiones de los servicios que quieres integrar en cloud de una lista de adaptadores disponibles. Por mencionar algunos de ellos: “Database”, “FTP”, “SOAP”, “REST”, “Eloqua”, “RightNow”, “Sales cloud”, “Commerce Cloud”, “Siebel”, “SAP”, “NetSuite”, “EBS”, “Twitter”, “Facebook”, “LinkedIn”, “GoogleMail”, “MicrosoftMail”, etc. Ya es una lista bastante grande y Oracle nos ofrece nuevos adaptadores con cada actualización de ICS.

    • Integrations

Aquí es en donde se crean las integraciones de cloud, se necesita por lo menos una conexión configurada para poder crear una integración de cloud.

    • Lookups

Este tipo de componente dentro de cloud nos ayudará a hacer más fáciles los mapeos de datos para nuestras integraciones, nos ayudaría, por ejemplo, a relacionar que el EAN en el servicio A es igual al IdProducto en el servicio B.

    • Packages

Dentro de los packages podremos agrupar más de una integración, el objetivo de esta función de cloud es facilitar la exportación/importación de integraciones.

    • Agents

Este componente nos es de utilidad para crear una conexión natural a aplicaciones on-premise. De esta manera cloud no solo se limita a poder hacer integraciones con los adaptadores que están disponibles.

  • Vista Monitoring, en esta vista es en donde podremos supervisar el estado de nuestras integraciones. A través de un pequeño dashboard ICS nos muestra la cantidad de mensajes recibidos en todas nuestras integraciones activas, el total de mensajes procesados, el total de mensajes que han sido exitosos y el total de mensajes que han terminado en error, además del dashboard en esta vista podremos ver el detalle de:
    • Integraciones
    • Agentes
    • Tracking de mensajes (Se definen por integración)
    • Errores por integración

  • Vista Administration, en esta vista podremos administrar los certificados de seguridad que ocupa ICS, la seguridad en ICS es esencial por lo que toda comunicación hacia ICS es cifrada. Aquí las acciones son muy limitadas. Subir un certificado nuevo, borrar certificados (No es recomendable si no sabes si el certificado por borrar está en uso).

Como les mencione en las primeras líneas de este artículo, Oracle ha cumplido su promesa de poder integrar en menos tiempo y con menos recursos cuando ocupamos ICS.

Ejemplo de integración en ICS

Así que en la siguiente sección de este articulo les explicaré como hacer una integración a un servicio BPEL expuesto en protocolo SOAP desde una instancia de Oracle SOA Cloud service. Este servicio solamente cuenta con un elemento de entrada que en su lógica interna a través de una actividad de assign setea este valor a su único elemento de salida.

La estructura de entrada / salida de este servicio BPEL está de la siguiente manera:

BODY REQUEST

<soapenv:Body>
<bpel:processResponse>
<bpel:input>HOLA MUNDO</bpel:input>
</bpel:processResponse>
</soapenv:Body>

 

BODY RESPONSE

<soapenv:Body>
<bpel:process>
<bpel:result>HOLA MUNDO</bpel:result>
</bpel:process>
</soapenv:Body>

 

  • Una vez que entramos a la consola de servicio y damos clic a la vista designer, lo primero que tenemos que hacer es crear una conexión a través del mosaico de Connections

  • Crearemos la conexión dando clic al botón de create new connection y en la lista de adaptadores que se despliega elegiremos el adaptador de SOAP.


  • Llenamos información general de la conexión y damos clic en créate


  • Se configura la Url del servicio SOAP y la seguridad de conexión al servicio


  • En la parte superior de la pantalla damos clic en test y una vez que ICS valido la conexión y esta se muestre al 100% damos clic en save

  • Regresaremos a la vista designer y damos clic en el mosaico de integrations

  • Damos clic en craete new integartion y elegimos el tipo de integración Map my data


  • Llenamos información general a cerca de la integración y damos clic en crete

  • En el canvas que se muestra en la pantalla, arrastramos ambas partes la conexión que previamente creamos, la lista de conexiones la vamos a encontrar en la parte derecha de la pantalla

  • Llenamos información general del trigger (Lado izquierdo del canvas) y de la invocación (lado derecho del canvas)

Hasta este punto así deberá lucir nuestra integración:

  • Damos clic en el mapper de la petición y arrastramos los elementos del trigger hacia los elementos del servicio destino. Una de las herramientas de ICS para las integraciones es el poder utilizar xslt para las transformaciones en el mapeo de datos, para este ejercicio vamos a concatenar al dato de entrada la leyenda “ desde ICS”. Para lograrlo daremos clic al dato target en donde queremos agregar la función xslt, esta acción nos abrirá la ventana de Build Mappings:


  • En mapping componentes buscaremos la función que queremos ocupar, en este caso la función para concatenar y la arrastraremos al valor del nodo en donde queremos hacer la transformación, en el elemento string 2 es en donde agregaremos la leyenda

  • Guardaremos el cambio y podremos probar nuestra transformación haciendo clic en test

  • En el test mapper, seleccionaremos la opción de generar inputs y haremos clic en ejecutar

  • Guardamos y volvemos al canvas de nuestra integración que ahora lucirá así

  • Vamos a mapear el dato de respuesta del Invoke, hacemos el mismo procedimiento que hicimos para el request omitiendo la parte de la transformación

  • Guardamos y volvemos al canvas de nuestra integración que ahora lucirá así

Para esta integración solo estamos ocupando una conexión en ambas partes de la integración (trigger e invocación); es decir, estamos ocupando la misma interfaz del servicio a invocar como interfaz para el usuario final que ocupara el servicio de ICS. Al final veremos que ICS agregará los elementos necesarios para convertir esta interfaz en un servicio web seguro.

  • Damos clic en el botón de tracking ubicado en la parte superior derecha de la pantalla y arrastraremos un valor del mensaje de entrada para poder filtrar y rastrear las ejecuciones de nuestra integración, nuestra integración no podrá verse terminada hasta no hacer esta parte



  • Guardamos y regresamos al mosaico de integrations para dar clic en activate

  • Aceptamos el riesgo y activamos el tracing


Hasta este punto ya estará terminada y activada la integración. Para obtener el endpoint del contrato del servicio web generado por ICS para esta integración y con el cual se va a consumir el servicio de integración daremos clic en el icono de integration details

 


Mariano Zetina es desarrollador con 4 años de experiencia trabajando con aplicaciones web java y soluciones apegadas a la computación orientada a servicios y modelado de procesos de negocio (SOA y BPM). Actualmente se desempeña como consultor SOA en S&P Solutions, empresa mexicana que es el partner más especializado en la implementación de Oracle Fusion Middleware, colaborando en proyectos de integración.

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.