Avances tecnológicos del siglo XXI y ejemplos de estos
ADF 12c como Backend
1. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
ADF 12c como Backend
REST API
2. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
¿Qué es Oracle ADF?
● Framework de desarrollo
● Modelo-Vista-Controlador
● Desarrollado sobre Java EE
● 11g → JavaEE 5
● 12c → JavaEE 6
● Visual y Declarativo
● Interfaz de usuario moderna
● Flujos de navegación avanzados (Task Flows)
● Seguridad integrada
● IDEs: JDeveloper and Eclipse(OEPE)*
*Funcionalidades limitadas
3. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
¿Qué es Oracle ADF Essentials?
● Subconjunto de las tecnologías clave de Oracle ADF:
● ADF Faces
● ADF DvT
● ADF Controller
● ADF Binding
● ADF Bussines Components
● Gratis para desarrollar, Gratis para desplegar
● JDeveloper/Eclipse*
● MySQL*
● Glassfish
*Funcionalidades limitadas
4. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
ADF 12.2.1.x
● Versión 12.2.1.0 -> liberada en Octubre de 2015
● Versión 12.2.1.1 -> liberada en Junio de 2016
● Actualización a Java SE 8
● Actualización a Java EE 6
● Nuevos componentes para ADF Faces y ADF DvT
● Nuevos componentes y plantilla para diseño adaptable
● Soporta CSS3
● Soporte para últimas versiones de navegadores
● Soporta la creación de APIs tipo Rest a partir del modelo de negocio
● Soporte para Git
● Mejor soporte para Maven
5. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
REST
REREpresentational SState TTransfer
file.png
Sin Estado
http://servidor/img/file.png
POST
GET
C
R
U
D
HTTP
URL
XML
... Estándar
...
9. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
REST API – Guía de diseño
● Identificar los recursos
● Transformar operaciones a métodos HTTP
● Seguir patrón de nombres para los recursos
– Sustantivos
– Plural para las colecciones
– Usar – Evitar _
– No exceder 200 chars
● Usar Accept y Content-Type
● Usar HTTP Caché
10. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
REST API – Guía de diseño
● Usar Accept-Language para multilenguaje
● Fechas y horas -> Usar ISO8601
● Respuesta parcial
● Actualización parcial
● Consistencia en datos
● Retornar recursos modificados
● Paginación en colecciones
● Búsqueda y ordenamiento
● Versionamiento
11. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
REST API – Versionamiento
✔ Siempre
✔ Permite nuevas versiones
✔ Compatibilidad hacia atrás
por un tiempo
Tres técnicas:
1) Num. Versión en URL
2) HTTP Custom-Header
3) HTTP Accept
12. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
ADF 12c – ADF BC RESTful Web Services
13. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
ADF 12c – ADF BC RESTful Web Services
● latest -> Se refiere a la versión más actual
● describe -> Para obtener información de los recursos
– Response Content-Type: application/vnd.oracle.adf.description+json
● onlyData=true -> Retorna solo datos, sin enlaces
● totalResults=true -> Retorna también la cantidad de registros
● No usar PUT, usar PATCH
● POST/PATCH Content-Type: application/vnd.oracle.adf.resourceitem+json
● Métodos personalizados
– Content-Type: application/vnd.oracle.adf.action+json
● Sólo ViewObjects creadas de forma declarativa ofrecen opciones avanzadas
14. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
Demo
1) Crear REST API para regiones y países del esquema HR
2) Crear una nueva versión de la REST API
3) Respuesta parcial: fields=att1,att2...
4) CRUD
5) Métodos personalizados
6) Paginación: limit, offset, count, hasMore
7) Filtros:
1) finder=PrimaryKey;Id=X,Id2=Y
2) q=Att=<>...
8) Ordenamiento: Att:asc/desc,Att2:asc/desc
15. ORACLE OTN TOURAlexis López - aalopez@gmail.com - @aa_lopez AGO-2016 v1
Recursos en línea
● acelopez.com - Blog acerca de Java y ADF
● Código fuente de ADF – Oracle Support
● ADF Architecture TV
● Grupo de metodología empresarial de ADF (ADF EMG)
● Comunidad ADF en Google+
● OTN Forums – JDeveloper y ADF
● Oracle ADF Architecture Square
● Oracle ADF Code Corner
● Íconos: Benjamin STAWARZ (descargados desde iconfinder.com)