Archivo

Posts Tagged ‘REST’

Revista Oracleando nº 9 (SPOUG, febrero 2018)

febrero 9, 2018 Deja un comentario

Se ha publicado el número 9 de la Revista Oracleando, editada por SPOUG – Spain Oracle Users Group, en esta ocasión dedicada, especialmente, a casos de usuario destacados durante el 2017. El lanzamiento de este último número ha aparecido en el marco del evento nacional más relevante del sector TI, Oracle Digital Day.

avanttic (socio institucional de SPOUG) ha colaborado en este número con publicidad sobre el nuevo site de servicios paquetizados de Oracle Cloud, centrado en acelerar el viaje de nuestros clientes hacia la nube.

Aparece nuestro caso de éxito con Industrial Farmacéutica Cantabria (IFC), que gracias a Oracle Mobile Cloud Service ha conseguido que sus comerciales sean más eficientes mediante la integración automática con su CRM.

Además hemos publicado un artículo titulado Construye tu arquitectura móvil en Oracle Cloud, en el que Rubén Rodríguez (Cloud Solution Specialist de avanttic) aborda la movilidad como punto clave en la era digital y como ventaja competitiva frente a los nuevos desafíos. En este artículo, Rubén, explora las diferentes opciones disponibles para construir e integrar una arquitectura móvil dentro del Cloud de Oracle; así como las diferentes opciones para desarrollar aplicaciones móviles con garantía para llevar a cabo la transformación digital de las organizaciones.

Si desea la edición impresa puede recogerla en nuestras oficinas o asistiendo a alguno de nuestros eventos.

Servicios REST: Uso de parámetros en URI y payload

Muchas veces, al diseñar o usar servicios REST externos, nos encontramos con que, a parte de los parámetros del payload, requieren de parámetros en la URI, como el caso común de versionado de los servicios. Un ejemplo de ello sería el siguiente servicio: http://localhost:7001/empleados/{version}/actualizacion/ donde, a parte de los datos del empleado a actualizar, necesitamos informar de la versión del servicio REST.

La versión 12c del Bus de Oracle nos permite configurar estos servicios destinados a mapear uno de los parámetros de entrada del servicio como parámetro de la cabecera. Con ello ya podremos invocar al servicio correspondiente con el payload adecuado, y el objeto json para la actualización de los datos del empleado no tiene por qué contener el valor de la versión del compuesto.

A lo largo del siguiente ejemplo, iremos descubriendo como mapear estos parámetros y configurar el servicio de forma dinámica.

El primer paso sería la generación de un nuevo proyecto.

Seleccionamos Service Bus Project:

Le pondremos como nombre ServicioRestEjemplo y pulsaremos en Finalizar.

Una vez generado el proyecto, configuraremos el servicio REST al que invocar. Para ello, desde el composite, con botón derecho en External Services generamos un binding REST.

Leer más…

Categorías:Tech - Integration Etiquetas: , ,

Uso de servicios REST y ficheros complejos con ODI 12c (I)

odirwsHace unos días me encontré frente a una tabla de direcciones con coordenadas UTMS en la que faltaban las coordenadas de diez registros de entre más de tres mil. Iniciar el proceso para que los usuarios afectados actualizasen los datos de los registros de su responsabilidad llevaría inevitablemente cierto tiempo hasta su resolución, así que decidí echar mano de Google.
Rápidamente identifiqué la API necesaria (Geocoding) y elegí el formato  para la respuesta. Verifiqué el funcionamiento con una invocación manual, exploré el fichero .json de respuesta (> 6Kb) y hallé los 50 bytes con los datos que buscaba. Los comprobé con la función inversa, introduciendo las coordenadas obtenidas en Google Maps, que me ubicó en la dirección original. Veamos un ejemplo:

https://maps.googleapis.com/maps/api/geocode/json?address=Aragó+180,+Barcelona&key=************************

Tras esta verificación pensé: ya sólo me faltan nueve. Así que siendo pragmático, hice unos cuantos cut&paste y completé en unos minutos las coordenadas de los diez registros. Pero me quedé con una inquietud: ¿qué habría ocurrido si en lugar de sólo diez hubieran habido más de tres mil registros sin coordenadas?
La respuesta fue clara: automatizarlo con ODI. Y así fue como se originó la decisión de escribir este post, ilustrando la solución a dos necesidades bastante cotidianas:

  • Utilizar un servicio REST para obtener datos de la web
  • Procesar un fichero JSON

Tanto el orden de las necesidades como “el sentido” del flujo de datos pueden variar, así como su relación con alguna de las tablas en BD (que en nuestro caso, será una tabla con direcciones), no obstante espero que el ejemplo sea suficientemente ilustrativo.
Una segunda motivación para este post es la “actualización de conocimientos”. Estas dos tareas ya eran posibles con ODI 11g, pero veremos que ODI 12c simplifica su ejecución y a la vez nos ayuda a conservar los desarrollos más ordenados.

Utilizar un servicio REST para obtener datos externos

La llamada es sencilla, la API sólo requiere dos parámetros:

  • la dirección buscada (formateando adecuadamente los espacios, numeración y comas)
  • la clave de desarrollador para poder utilizar la API (que es constante)

Quizá lo más complicado sea parsear la respuesta, pues hay cierta redundancia de datos, y utilizar el formato XML en lugar de JSON tampoco variaría mucho. Así pues, iremos por partes: primero obtendremos los datos de la respuesta del servicio y después procesaremos la respuesta (fichero .json).
Para configurar el servicio, lo primero que necesitamos crear es un “Data Server” al que llamaremos “GoogleGeocod”, que apuntará a la URL del endpoint del servicio REST: https://maps.googleapis.com.
Acto seguido, crearemos un esquema físico bajo el nuevo servicio:

ps_geocode

Leer más…

Oracle Integration Cloud Service – Parte 2

marzo 21, 2017 1 comentario

orquestacion_ejemplo

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:

uno

Ahora, describiremos paso a paso cómo conseguirlo: Leer más…

Categorías:Tech - Integration Etiquetas: , ,

Publicar y securizar ADF Business Components como servicios REST

En ADF 12.2.1, que fue liberado justo antes de Oracle Open World 2015, se introdujeron muchas nuevas funcionalidades y mejoras, y una de ellas es la de exponer los ADF Business Componentes (ADF BC) como servicios REST.

La primera cosa que debemos hacer es configurar la Release Version de REST. Esto se puede hacer en el fichero adf-config.xml

1

En versiones anteriores podíamos exponer los ADF BC como servicios SOAP (desde la pestaña Web Services en el Application Module) y en esta última versión también podemos elegir REST.

2

Podemos elegir las instancias de las vistas que deseemos y asignarles un Resource Name.

3

Automáticamente se creará un fichero XML donde podremos seleccionar los atributos que queramos exponer, así como si también deseamos exponer métodos personalizados que hayamos creado en la clase de implementación de la vista.

Leer más…

Oracle Mobile Cloud Service: Creación de una API que se conecte a un WS externo

Como comenté en pasados posts acerca de Oracle Mobile Cloud Service, para poder realizar una llamada a un servicio web externo hay que realizarla a través de un connector. También hay que tener en cuenta que desde la API REST o desde los SDK que ofrece MCS solo es posible realizar llamadas a las diferentes API (custom o platform) con lo que es necesario realizar una implementación que realice la llamada al connector.

En este post voy a enseñaros como crear una API que se conecte a un servicio web externo, en este caso un servicio REST.

Los pasos que vamos a seguir son los siguientes:

  • Creación de un Mobile Backend (MBE)
  • Creación de un connector
  • Creación, diseño e implementación de una API.

 

Creación de un Mobile Backend (MBE)

Para empezar debemos crear un MBE. Desde el portal del desarrollador hacemos click en el icono de Mobile Backend y en la nueva ventana pulsamos en “New Mobile Backend” e introducimos el nombre y la descripción del mismo.

1

 

Creación de un connector

Ahora que tenemos creado el Mobile Backend lo dejamos de lado un rato. Y procedemos a crear el connector que enlazará MCS con el servicio web externo.

Nos dirigimos al menú de connectors y pulsamos en “New Connector” de tipo REST. Añadimos el nombre del connector y la url del servicio web. En este caso hemos usado una api rest publica de un proveedor del tiempo:

api.openweathermap.org/data/2.5/weather?q=Madrid

2

 

Una vez creado, para ver que funciona saltamos hasta el último paso del tren, ‘Test’, y pulsamos en ‘Test Connector’.

test connector

 

Leer más…

Consumir o exponer servicios REST con Oracle Service Bus 11g

junio 29, 2012 1 comentario

Con Oracle Service Bus 11g es posible consumir servicios REST con el fin de integrarlos en la lógica de un proceso de negocio interno o de exponerlos mediante una interfaz SOAP. Cualquiera que sea la intención, el proceso resulta sencillo mediante los pasos expuestos en esta entrada.

En el ejemplo, el servicio REST recibe los parámetros por cadena de consulta (Query string) y devuelve un XML con el resultado de la ejecución.

Primero se ha de crear un  servicio de negocio (business service):

  1. El tipo del servicio ha de ser Servicio de Mensajes (Messaging Service):

    Tipología del servicio de negocio

    Tipología del servicio de negocio

  2. Para los mensajes, tanto de petición como respuesta, seleccionar XML:

    Tipología de los mensajes de petición y respuesta

    Tipología de los mensajes de petición y respuesta

  3. Agregar la URI del servidor en el cual se encuentra el servicio a consumir.
  4. Si se desea o es necesario, modificar el resto de parámetros. En este caso se dejan por defecto.

Leer más…