ADF 12c como Backend
-
Upload
guatemala-user-group -
Category
Technology
-
view
44 -
download
2
Transcript of ADF 12c como Backend
ORACLE OTN TOURAlexis López - [email protected] - @aa_lopez AGO-2016 v1
ADF 12c como Backend
REST API
ORACLE OTN TOURAlexis López - [email protected] - @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
ORACLE OTN TOURAlexis López - [email protected] - @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
ORACLE OTN TOURAlexis López - [email protected] - @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
ORACLE OTN TOURAlexis López - [email protected] - @aa_lopez AGO-2016 v1
RESTREREpresentational SState TTransfer
file.pngSin Estado
http://servidor/img/file.png
POST
GET
CRUD
HTTP
URL
XML
... Estándar
...
ORACLE OTN TOURAlexis López - [email protected] - @aa_lopez AGO-2016 v1
JSONJJavaSScript OObject NNotation
{ "RegionsComplete" : { "discrColumnType" : false, "attributes" : [ { "name" : "RegionId", "type" : "integer", }, { "name" : "RegionName", "type" : "string", } ] }}
<xml>
<RegionsComplete>
<discrColumnType>false</discrColumnType>
<attributes>
<attribute>
<name>RegionId</name>
<type>integer</type>
</attribute>
<attribute>
<name>RegionName</name>
<type>string</type>
</attribute>
</attributes>
</RegionsComplete>
EstándarAZ...
ORACLE OTN TOURAlexis López - [email protected] - @aa_lopez AGO-2016 v1
HATEOASHHypermedia AAs TThe EEngine OOf AApplication SState
● Links en las respuestas● Cliente puede navegar
dinámicamente● Dos estilos:
– Weblinking
– HAL
ORACLE OTN TOURAlexis López - [email protected] - @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é
ORACLE OTN TOURAlexis López - [email protected] - @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
ORACLE OTN TOURAlexis López - [email protected] - @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
ORACLE OTN TOURAlexis López - [email protected] - @aa_lopez AGO-2016 v1
ADF 12c – ADF BC RESTful Web Services
ORACLE OTN TOURAlexis López - [email protected] - @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
ORACLE OTN TOURAlexis López - [email protected] - @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
ORACLE OTN TOURAlexis López - [email protected] - @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)