Oracle Integration Cloud Service – Parte 2
21/03/2017 -
En el anterior post, Oracle Integration Cloud Service – Parte 1, hicimos una introducción al producto y comentamos el modelo de adquisición. En éste veremos un ejemplo orquestando una integración entre servicios de Yahoo y Twitter.
Ejemplo de integración ICS
Crearemos un servicio REST que twiteará el clima actual de nuestra ubicación al asignarle los parámetro de ciudad y país. La cuenta Twitter debe existir y será configurada previamente. Para obtener los datos del clima actual se consultará el servicio Yahoo Weather.
Nuestro servicio será REST y funcionará con una llamada http GET y parámetros “ciudad” “pais”, de la forma:
https://<host ics>:<port>/integrations/tweetweather/<ciudad>/<pais>
El código fuente del proyecto es importable a ICS si utilizamos el empaquetado fichero “iar”, disponible en GitHub.
Al terminar la orquestación tendríamos que ver en el diseñador ICS la imagen que mostramos a continuación:
Ahora, describiremos paso a paso cómo conseguirlo:
1) Escogemos nuevo proyecto / nueva integración de tipo orquestación / escogemos como nombre de nuestro punto final ProxyTwitterYahoo y configuramos los parámetros.
2) Creamos el punto final, lo llamamos restyahoo y servirá para llamar al servicio rest de Yahoo Weather:
http://query.yahooapis.com/v1/public/yql?q=&format=/
nuestro query será :
select * from weather.forecast where woeid in (select woeid from geo.places where text=”Barcelona , España”)
Yahoo Developer Network dispone de una consola web donde se pueden testear una serie de servicios web útiles para nuestras aplicaciones como el clima, finanzas, noticias, etc.
3) Antes de configurar la conexión usando el adaptador Twitter hay que configurar la cuenta de Twitter con la integración OAuth, según la documentación ICS.
A continuación, creamos el punto final, twit.
4) Para transformar el mensaje de ProxyTwitterYahoo para restyahoo debes hacer clic en el icono , esto nos llevará a una interfaz para mapear ambos tipos de mensaje.
En este caso queremos que los parámetros <ciudad> y <pais> viajen del query string de la llamada hacia yahoo weather service (parámetro <q>) y que éste responda en formato “json” (parámetro <format>).
5) Para transformar el mensaje de restyahoo para twit, hacemos clic en el icono de transformación correspondiente.
En este caso queremos que los parámetros <ciudad> y temperatura máxima/mínima de la variable <response-wrapper> viajen en la llamada a Twitter (parámetro <status>)
6) Activamos la integración.
7) Probamos el servicio REST con llamada GET en el navegador :
https://<host ics>:<port>/integrations/tweetweather/Barcelona/España
Como resultado vemos como ICS hace el twit correspondiente :
Recordamos que el código fuente del proyecto es importable a ICS usando el empaquetado fichero “iar”, disponible en GitHub.