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.

4

También se crea automaticamente un proyecto nuevo RESTWebService. Este es el proyecto que debemos desplegar, simplemente haciendo click derecho sobre el proyecto y seleccionando Run.

5
Si probamos nuestro servicio desplegado con alguna herramienta, por ejemplo Postman, podemos ver que el servicio nos devuelve los datos de los Departamentos.

6

La siguiente cosa que vamos a hacer es securizar nuestros servicios, por lo que vamos a configurar ADF Security.

7

En el wizard de configuración debemos seleccionar el proyecto del servicio RESTWebService.jpr

8

Después de finalizar el wizard de configuración debemos securizar el recurso añadiendo los usuarios o roles que tendrán acceso.

9

El último paso es configurar el URL pattern  de REST en el fichero web.xml, dentro de la pestaña Security.

10

Ya estamos listos para probar. Si no añadimos ningún tipo de autorización podemos ver que nos da un error ‘401 – Unauthorized’.

11

Si por el contrario, configuramos HTTP basic authentication, nos devuelve los datos de los Departamentos.

12

Twitter
LinkedIn
Evolución, innovación y transformación
37 Service Expertise avalados por Oracle 
Our value proposition
100% Oracle posts
Follow our day-to-day activities