Archivo

Archivo del autor

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…

Librerías XQuery sobre Oracle Middleware versión 12c

Hasta la versión 11g de Oracle Service Bus (OSB) no se podían usar librerías XQuery en nuestras soluciones OSB. Esto hacia que tuviéramos que reescribir nuestras funciones XQuery, una y otra vez, en cada transformación XQuery que desarrolláramos o que tuviéramos que usar funciones XPath personalizadas con su correspondiente desarrollo en Java y reinicio del servidor; tal y como nos explicaba Antonio Molina en este post.

2209436Con la llegada de la versión 12c de Oracle Middleware esto ha cambiado, ya que en esta nueva versión se da soporte a este tipo de librerías. Con ello, podemos disponer de una batería de funciones customizadas en una librería XQuery que podremos usar desde cualquiera de nuestras transformaciones XQuery. Eso sí, estas funciones no pueden ser usadas directamente desde un proceso OSB, sino sólo usadas por transformaciones XQuery.

Generación de una librería XQuery

Para la generación de una librería XQuery, necesitamos que nuestro proyecto de JDeveloper sea un proyecto OSB o SOA. Una vez cumplimos estas premisas, seleccionaremos “XQuery Library” en la galería de componentes a generar (File -> New):

1

Posteriormente se abrirá un formulario para que insertemos las características de nuestra librería. En él debemos inserta el nombre, namespace y definir una función inicial para nuestra librería.
En nuestro ejemplo, generaremos una función que nos indique la edad de una persona a partir de su fecha de cumpleaños. Leer más…