Oracle Integration Cloud Service (Parte 2-3)

En el post pasado vimos las características esenciales de Oracle ICS, ahora veremos cómo publicar un servicio de integración en la Nube.

Vamos a dejar para el siguiente post, la integración de Taleo y PSFT. Esto lo estoy preparando y lo publicaré en cuanto esté listo. Por lo pronto hagamos un ejemplo simple.

Supongamos que tenemos la necesidad de mandar llamar a un servicio en la Nube y queremos hacerlo a través de Oracle ICS.

Lo primero que debemos hacer es identificar qué tipo de servicio/aplicación es, pues Oracle ICS ofrece una serie de adaptadores que facilitan la integración, la lista que se tiene al día de hoy, es la siguiente:

  • Oracle Sales Cloud
  • Oracle Messaging Cloud Service
  • Oracle Eloqua Cloud
  • Oracle HCM Cloud
  • Salesforce Cloud
  • Oracle ERP Cloud
  • Oracle CPQ Cloud
  • Oracle SOAP Adapter
  • Oracle REST Adapter
  • Oracle NetSuite Cloud Adapter
  • Integration Cloud Service Messaging
  • Oracle FTP Cloud (in Using Oracle FTP Cloud Adapter)
  • Oracle Google Calendar Cloud (in Using Oracle Google Calendar Cloud Adapter)
  • Oracle Google Task Cloud (in Using Oracle Google Task Cloud Adapter)
  • Oracle Siebel Cloud (in Using Oracle Siebel Cloud Adapter)
  • Oracle E-Business Suite Cloud (in Using Oracle E-Business Suite Adapter)
  • Oracle Database Cloud (in Using Oracle Database Cloud Adapter)
  • Oracle SAP Cloud (in Using Oracle SAP Cloud Adapter)
  • Oracle Evernote Cloud (in Using Oracle Evernote Cloud Adapter)
  • Oracle Eventbrite Cloud (in Using Oracle Eventbrite Cloud Adapter)
  • Oracle LinkedIn Cloud (in Using Oracle LinkedIn Cloud Adapter)
  • Oracle Facebook Cloud (in Using Oracle Facebook Cloud Adapter)
  • Oracle Commerce Cloud (in Using Oracle Commerce Cloud Adapter)
  • Oracle Twitter Cloud (in Using Oracle Twitter Cloud Adapter)
  • Oracle Gmail Cloud (in Using Oracle Gmail Cloud Adapter)
  • Oracle Microsoft Email Adapter (in Using Oracle Microsoft Email Cloud Adapter)
  • Oracle Microsoft Contact Adapter (in Using Oracle Microsoft Contact Cloud Adapter)
  • Oracle Microsoft Calendar Adapter (in Using Oracle Microsoft Calendar Cloud Adapter)
  • Oracle MySQL Database Adapter (in Using Oracle MySQL Database Cloud Adapter)
  • Oracle MailChimp Adapter (in Using Oracle MailChimp Cloud Adapter)
  • Oracle SurveyMonkey Adapter (in Using Oracle SurveyMonkey Cloud Adapter)
  • Oracle RightNow Cloud

Como pueden ver, hay una larga lista de conectores que al día de hoy ofrece Oracle ICS. Aplicaciones como Oracle Right Now, Oracle Siebel, Oracle EBS se pueden integrar fácilmente con esta plataforma de Integración en la nube.

Haremos el ejemplo mas básico para que sea la base para el resto de integraciones.
Usemos un Web Service público en la red, este:
http://services.aonaware.com/DictService/DictService.asmx

Es un Web Service que sirve como un Diccionario en línea, tú le pasas una palabra y te regresa definiciones de diferentes Diccionarios. En particular usaremos la operación Define.

Lo primero que debemos hacer es registrarlo como conexión en Oracle ICS.

Una vez que damos click en crear conexión, veremos esta pantalla:

Escojamos SOAP y al hacerlo nos pedirá cómo le queremos llamar:


Posteriormente solo debemos configurar la conexión al WSDL, y debido a que este WS no pide credenciales para usarlo, debemos especificar que no pide autenticación. Eso lo hacemos en esta pantalla:

Del primer botón:
Del segundo botón:


Con esto podemos guardar nuestra conexión y probarla. Esto lo hacemos usando los botones que están arriba y a la derecha:

Después de darle Save y Test, vemos que la conexión está al 100%

Ahora vamos a crear una integración, lo único que vamos a querer lograr es que Oracle ICS sea el mecanismo para poder invocar al servicio de Diccionario. Así de simple.

Para eso vayamos a la sección de integraciones y creemos una:


Al darle click en el botón de la derecha, nos saldrá lo siguiente:


Usemos la que dice Map My Data. Esto nos llevará a la siguiente pantalla, simplemente demos un nombre a nuestro servicio de integración, por ejemplo:


Al darle create, nos llevará al siguiente canvas:

Vamos a colocar nuestra conexión en ambos lados, tanto en el source como en el target. Como he comentado, lo único que quiero hacer es que Oracle ICS me permita comunicar con el web service que me permitirá consultar las definciones en el diccionario. Digamos que en el argot de Oracle Service Bus, estoy publicando un Proxy que manda llamar a un Business. Solo eso, mantengamos esto simple por el momento.

Para lograrlo simplemente arrastremos nuestra conexión a ambos lados del canvas, debemos seguir el siguiente asistente para ambos casos. Como se pueden dar cuenta, está introspectando al WSDL y mostrándonos las operaciones disponsibles. Vamos a escoger solo una.


Aquí es donde elegimos a la operación Define:

Nos hará un resumen:


Y finalmente veremos la integración de esta manera. Esto una vez que se haya hecho el drag and drop de ambos lados del canvas:

Solo nos falta hacer los mapeos correspondientes entre el source y el target. En este ejemplo tan simple, todos los mapeos son uno-a-uno.
Hagamos el primero, demos click sobre la primera transformación:
La segunda es un poco mas compleja, pues tenemos que usar una expresión de for-each, para que recupere la definición de cada uno de los diccionarios que nos ofrece el WS.


Durante estas configuraciones, podemos ver cómo el estatus que aparece arriba y a la derecha va avanzando, indicándonos cuánto nos falta para que esta integración esté lista:
Una vez finalizado los mapeos, solo nos falta habilitar el Tracking, este botón está arriba y a la derecha. Esto nos permitirá poder tener visibilidad de los mensajes que entran a la integraciones y en un momento dado, poder identificar problemas.


Ya con la integración al 100%:

podemos seguir con la activación y prueba.

La activación se hace presionando el siguiente botón:

Para probarla, simplemente da click el ícono
  y recupera el WSDL de este servicio de integración:



Vamos al SOAP UI y coloquemos el WSDL para probarlo, veremos algo así:



Todos los servicios expuestos por Oracle ICS están protegidos con WSS, de manera que es necesario agregarles el token de credenciales y la marca de tiempo.
El mensaje de entrada quedará de la siguiente manera:    
 
   

Para aregar ambas entradas, simplemente da click derecho sobre el espacio del request, ahí podrás ver cómo agregar ambas cosas. O bien hazlo a mano, también es válido

Una vez hecho, simplemente escoge una palabra a buscar en el diccionario y verás cómo el ICS la recupera por ti. Usaremos: tree.

Esto es lo que responde:
     
   

Así de fácil has creado tu primera integración con Oracle ICS.