Mostrando las entradas con la etiqueta Integration. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Integration. Mostrar todas las entradas

viernes, 6 de septiembre de 2019

Consultas (Lookups) en OIC



Hola que tal, hace tiempo que no escribo, una disculpa me he encontrado con demasiado trabajo, pero ya estoy de vuelta para poder aportar un poco con ideas y situaciones que me curren día a día, espero que la breve información que encuentren aquí sea de mucha ayuda.
Empecemos, recientemente me encontré en un dilema al realizar una integración, en la cual el sistema origen y el sistema destino, por obvias razones, no se encontraban homologados y el sistema destino requería que se le desplegara la información con ciertos valores en específico, platicando con las personas del sistema origen me comentaron que de su lado no tenían forma de cambiar la estructura o la información que se estaba desplegando en la API, derivado de eso surgió la necesidad de realizar una transformación directamente en OIC (Oracle Integration Cloud), se que me van a decir, ¿transformar datos?  ¿Acaso eso no lleva mucho tiempo y es muy complicado?  Pues que creen en OIC el mapeo de datos y transformación de un dato A hacia un dato B es muy muy sencillo.
Oracle Integration Cloud nos presenta una funcionalidad para poder cubrir éstas necesidades y es muy eficiente se llama Lookups


Dicha funcionalidad lo encuentran en el panel de Diseño (Designer) del lado izquierdo ingresan y podrán ver las consultas que tienen creadas, del lado derecho encontraran dos botones:

  • Import: Nos permite importar un archivo en formato csv, esto es muy útil cuando neesitamos importar una gran cantidad de información, veremos con detalle esta funcionalidad en el siguiente post.
  • Create: Permite crear una lista con los valores que ustedes deseen.


En nuestro caso daremos click en el botón create y nos desplegará un cuadro de diálogo n donde ingresaremos la información requerida:
  • Lookup Name: Será el nombre que le asignaremos a nuestro Lookup
  • Description: Una breve descripción del uso o detalle del lookup


Posteriormente veremos que en la interfaz se nos presenta una tabla, ahí es en donde colocaremos los valores y el tipo de transformación que deseamos, por default los cabeceros de las columnas vienen con un nombre, ese se puede editar o lo pueden dejar como esta, es un paso opcional y se los dejo a su consideración, yo cambiare el nombre de las columnas, para hacer eso simplemente se da click en el nombre “Domain_Name_1” y posteriormente en “Edit Domain Name”



Ingresamos el valor y damos click en OK, este procedimiento lo haremos exactamente igual con la siguiente columna.

Después únicamente nos resta ir colocando los valores que deseamos transformar, la tabla presenta un ícono de “+” al dar click nos permite agregar una fila más o incluso podemos agregar una columna más.


Una vez que hemos colocado los valores en el lookup ahora nos toca ir a la integración y usar la transformación.

Para eso nos dirigimos a “Integrations” y abrimos la integración en la que usaremos la transformación o le damos crear;Una vez que tenemos nuestra integración en modo edición seleccionamos el map en donde haremos uso del lookup y daremos click en el campo en el que haremos la transformación. Ya que estamos en la edición del campo abriremos el menú Mapping Components, después nos vamos a la siguiente ruta Function->Integration Cloud
Seleccionamos y arrastramos el valor lookupValue con eso nos abrirá un wizard en el que colocaremos la información del lookup creado anteriormente.
En la primer ventana buscamos y seleccionamos nuestro lookup y damos click en “Next” o “Siguiente”

En la siguiente ventana nos muestra una tabla ahí damos click en los Headers y seleccionamos los cabeceros de la tabla que creamos en el lookup.


En la ventana siguiente ingresaremos un valor por default que tendrá como entrada en este caso yo colocare el valor TST_QUEUED y damos click en Next o siguiente.

Por último, nos muestra un resumen de la configuración que realizamos en los pasos anteriores y damos click en el botón Done
Nos arrojará un warning pero no se preocupen, eso se debe a que aun no hemos colocado el campo del sistema fuente con el cual se realizará la comparación para poder transformar los datos, para poder mapear el campo, abrimos nuestro árbol de campos disponibles y seleccionamos nuestro field, damos click en Save y luego cerramos el wizard del mapeo.

Ahora debemos probar la transformación, para eso como ya saben vamos a la herramienta de TEST que se encuentra en el mapping.

Generamos los datos de prueba con ayuda del botón Generate Inputs


Colocamos el valor del sistema fuente y damos click en el botón Execute. LISTO ¡!!! Pueden ver como se realiza la transformación del campo.
Como pueden observar realizar transformaciones en OIC es extremadamente sencillo y muy rápido, así que no duden en hacer uso de ésta grandiosa herramienta que los sacara de verdaderos dolores de cabeza.
Por el momento eso es todo amigos, nos estamos viendo en otro post, hasta luego.

jueves, 20 de diciembre de 2018

SOAP, REST eso qué es?

Cuando un proyecto se encuentra en etapa de diseño y se llega a la parte de integraciones, se escucha muy seguido el término web service SOAP o web service REST, pero, ¿a qué se refieren al utilizar estos dos conceptos? Bien, se buscará dejar más claro la diferencia entre ambos de una manera general, sin profundizar demasiado en el tema ya que nos llevaría demasiado tiempo.

SOAP (Simple Object Access Protocol ) se define como un protocolo estándar de comunicación, es decir se está haciendo referencia a un conjunto de reglas que se deben seguir para lograr un intercambio de mensajes entre sistemas basado en la especificación de XML, y se encuentra conformado por tres partes:
·         Sobre (envelope): nos define el mensaje y cómo procesarlo
·         Conjunto de reglas de codificación: Indica el protocolo de aplicación a utilizar como HTTP, SMTP o JMS
·         Independencia: permite cualquier modelo de programación
Ejemplo de mensajes SOAP
El ejemplo presentará la forma se solicita información de un cliente.
Request
Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <getClientDetails xmlns="http://io3cloud.example.com/ws">
       <clientId>770982</clientId>
     </ getClientDetails >
   </soap:Body>
</soap:Envelope>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">   <soap:Body>     <getClientDetailsResponse xmlns="http://io3cloud.example.com/ws">       <getClientDetailsResult>         <name>James</name>               <lastName>Parker</lastName>         <birthDt>01/01/1980</birthDt>     
         <phone>55667654</phone>     
       </getClientDetailsResult>     </getClientDetailsResponse>   </soap:Body></soap:Envelope>



REST (Representational State Transfer) nos da la descripción de un conjunto de principios basados en una arquitectura por la cual los datos se pueden transmitir a través de una interfaz estandarizada. REST no contiene una capa adicional de mensajería y se centra en las reglas de diseño para la creación de servicios, los servicios REST presentan las siguientes características:
·         Operaciones bien, GET, PUT, DELETE y POST.
·         Sintaxis universal en un sistema REST cada recurso es direccionable únicamente a través de su URI
·         Es posible navegar un recurso REST únicamente siguiendo los enlaces sin necesitar peticiones adicionales
Ejemplo de mensaje REST
La petición se realiza mediante una URL
Respuesta
{
                "name": "James",
                "lastName": "Parker",
                "birthDt": "01/01/1980",
                "phone": "55667654"
}
Como resumen presentamos la siguiente tabla comparativa entre SOAP y REST
SOAP
REST
Es un protocolo
Es una arquitectura
Utiliza interfaces de servicio para exponer la lógica de negocio
Utiliza URI para exponer la lógica del negocio
Define las normas que deben seguirse estrictamente
No define demasiados estándares
Requiere más ancho de banda
Requiere menos ancho de banda
Realiza la definición de todo en su formato
Sólo define su arquitectura
Permite XML como único formato de datos
Permite diferentes formatos, HTML, XML, JSON, etc