Oracle ADF 12c nace con el objetivo de fusionar las anteriores dos vertientes de ADF 11g, ofreciendo de esta forma una elevada productividad y a su vez un aumento de la flexibilidad, tanto en los componentes declarativos como en los propios objetos del framework.
¿Cuáles son sus principales características?.
Con esta nueva versión, ADF evoluciona en muchos aspectos, como por ejemplo en su integración con Maven y GIT, con versiones actualizadas de librerías core como JSF y con un gran soporte REST en la capa ADF Business Components. Así mismo, esta nueva versión incorpora grandes mejoras a nivel de IDE y correctivos generales del framework.
Desde atSistemas, ofrecemos una experiencia real en desarrollo ADF 12c y en cómo abordar la actualización, que afecta no solo a las aplicaciones, sino también a la forma de desarrollar las mismas. Incluso, internamente, hemos construido algunas soluciones sobre Oracle ADF 12c, como ADF Smart Monitor, nuestra herramienta de monitorización y auditoría de aplicaciones ADF que ofrece información relevante a los equipos sobre la calidad de sus desarrollos.
En este video, obtendrás una visión detallada sobre Novedades en JDK y JSF, Nuevos componentes, Mejoras y novedades en JDeveloper, Mejoras y novedades en ADF, etc.
Blockchain Spain II Edición - Juan Manuel Martínez
Webinar oracle adf12c… descubre todo su potencial
1. what´s up in tech
Centro Experto ADF – Marzo 2016
Webinar Oracle ADF12c
Un breve análisis de las novedades de la
última versión de Oracle ADF
2. what´s up in tech
Centro Experto ADF
En atSistemas trabajamos cada día por ser mejores. Desde el centro experto
de ADF queremos estar siempre al día para dar servicio a nuestros clientes
o Arquitectura Empresarial
o Componentes Propios (Aceleradores)
o ADF Smart Monitor
o Plug-in de Reglas de Auditoria ADF
o Proveedor de Seguridad a medida para WLS
Productos
o Formación ADF perfiles Java
o Formación ADF perfiles Forms
o Guía de Mejores Prácticas
o Migración Oracle Forms-ADF
Formación
o Soporte a Proyectos
o Implantación de Oficinas Técnicas
o Consultoría avanzada
o Canal de Soporte Experto
Consultoría
Líneas de Actuación
Formación
I+D
Colaboración
Comunicación
ProductosyServicios
3. what´s up in tech
Índice
Novedades en JDK y JSF
Nuevos componentes
Mejoras y Novedades en JDeveloper
Mejoras y Novedades en ADF
Conclusiones
Preguntas
5. what´s up in tech
JDK
JDK 8
Métodos default en interfaces
Expresiones Lambda
API Stream
API para Fechas
JDK 7
Multicatch
Strings en Switch
Gestión automática de recursos en sentencias try-catch
Guiones bajos en literales numéricos
JDK 6 JDK 8
6. what´s up in tech
JSF 2.2
Mejor soporte para HTML 5
Facelets (.jsf)
Componentes para peticiones Ajax f:ajax
Paso de parámetros entre páginas
f:viewParam
Composite components
Anotación para registro de managed beans
No hace falta registrar los beans en el faces-
config.xml
New scopes
@NoneScoped: Lo que dura la expresion EL
@CustomScoped: Manejas tu el scope
JSF 1.2 JSF 2.2
Navegación Condicional en faces-config.xml
Faces Flow
Expresiones EL con paso de parámetros
Nuevas anotaciones para eventos
PostConstructApplicationEvent
PreDestroyApplicationEvent
PreRenderViewEvent
17. what´s up in tech
JDeveloper
Mas Ligero. Carga mas rápido
Integración con Maven
Integración con GIT
En modo Debug soporta cambios en la capa de Model/View y no necesitamos re-arrancar
El modo Design esta muy mejorado
19. what´s up in tech
Estilos
Alta Skin
Theme Editor: Menor Complejidad en estilos
Templates y componentes para hacer Apps responsive
af:matchMediaBehavior
Responsive Template
20. what´s up in tech
TaskFlow
TaskFlow Template Mejorado
21. what´s up in tech
Entity trigger
Nos permite lanzar código propio en
base al ciclo de vida de ADF
Ahora es menos complejo
Fácil de detectar si una entidad tiene
código propio
No necesitas tanto conocimiento del
ciclo de vida de ADF BC
22. what´s up in tech
af:query
Mejoras:
El usuario puede reordenar los campos a su gusto (Modo Avanzado)
En tiempo de diseño podemos indicar que operadores queremos en modo
avanzado
En tiempo de diseño podemos indicar el tamaño de los campos
Podemos indicar que cualquier campo puede ser eliminado, por el usuario,
independientemente del modo
23. what´s up in tech
Row Finder
Una manera de usar ViewCriterias para búsquedas internas.
Permite buscar dentro de un ViewCriteria:
Crea un nuevo rowset no interfiere con la UI
24. what´s up in tech
af:target
Nos ofrece un control total sobre que componentes serán ejecutados en el
ciclo de vida de JSF y que componentes serán refrescados
Evitar la validación cuando se hace clic en un botón
Refresco de campos dependientes en el valuechange
Lovs Dependientes!
Implementar botón de cancel o Reset
Ya no se necesita immediate a true
…
26. what´s up in tech
Maven
ADF con integración 100% Maven
Tu proyecto es Maven o no es Maven. No hay termino medio
Facilidades a la hora de montar un circuito de IC
maven.oracle.com
28. what´s up in tech
Servicios REST
Creación de Servicios REST/JSON
Exposición de ADF Business Components a través de una interfaz
REST/JSON:
Recursos basados en instancias de View Objects
Agrupación de recursos por versión
29. what´s up in tech
Servicios REST
Creación de Servicios REST/JSON
Recursos personalizables
30. what´s up in tech
Servicios REST
Creación de Servicios REST/JSON
Acceso a colecciones de recursos
31. what´s up in tech
Servicios REST
Creación de Servicios REST/JSON
Acceso a recursos determinados
32. what´s up in tech
Servicios REST
Creación de Servicios REST/JSON
Personalización del acceso a los recursos
Valores de los atributos y campos a mostrar
Paginación
Expansión de enlaces
33. what´s up in tech
Servicios REST
Consumo de Servicios REST/JSON
Incorporación de Data Controls que permiten consumir servicios web
RESTful (XML y JSON)
Proceso de generación sencillo
Minimización del esfuerzo necesario para acceder a los servicios
Posibilidad de interactuar con los servicios de la misma forma en que lo
haríamos con otra capa de servicios de negocio
34. what´s up in tech
Servicios REST
Consumo de Servicios REST/JSON
Perspectiva de recursos expuestos a través de una conexión REST
36. what´s up in tech
Conclusiones
Mejoras y incidencias solucionadas
Misma Productividad Mayor Flexibilidad
Mejoras en rendimiento
Maven IC
Es mas fácil adaptarse a necesidades de Forms
Desaparecen las dos vías R1 R2 de 11g
Mayor estabilidad
38. what´s up in tech
Índice
http://openjdk.java.net/projects/jdk8/
http://www.oracle.com/technetwork/es/articles/java/expresiones-lambda-api-stream-java-2633852-esa.html
https://jcp.org/en/jsr/detail?id=344
http://jdevadf.oracle.com/adf-richclient-demo/faces/index.jspx
http://jdevadf.oracle.com/workbetter/faces/index.jsf
http://www.oracle.com/technetwork/developer-tools/jdev/documentation/1213nf-2222743.html
39. what´s up in tech
Expertos en ADF Nuestros Servicios
Disponemos de una amplia cartera de servicios para ofrecer a nuestros clientes
soluciones avanzadas de Desarrollo, Calidad y Testing de Software ADF
o Test unitarios/funcionales
o Automatización de pruebas
o Pruebas de Seguridad, Sistema,
Carga/Rendimiento
o Análisis Estático de Código
o ADF Smart Monitor
o Plug-in de Reglas de Auditoria ADF
o Proyectos Llave en mano
o Asistencias Técnicas
o Metodología de Desarrollo –
Mejores Prácticas
o Implantación y soporte de productos
propios como complemento a los
servicios.
o Implantación de aceleradores.
o Mobile Application Framework
(MAF)
o Oficinas Técnicas
o Soporte Experto
o Formación ADF
o Servicios Gestionados
o Factoría de Desarrollo
o Oficina Técnica Remota.
Implantación Testing & Quality Assurance (QA)
Servicios complementarios Servicios Remotos Movilidad
o Estratégica, Táctica y Operativa
o Auditorías de Arquitectura y
Código
o Auditorias de Rendimiento
Consultoría
Notas do Editor
Streams
Los streams son una nueva forma de recorrer las colecciones distinta a los Iterator.
La API nos permite realizar operaciones sobre colecciones de datos usando el modelo filtro/mapeo/reducción, en el cual se seleccionan los datos que se van a procesar (filtro), se convierten a otro tipo de dato (mapeo) y al final se obtiene el resultado deseado (reducción).
Se pueden procesar de forma serializada o paralela y proporcionan un estilo de operaciones más funcionales.
FECHAS
El API proviene de JodaTime y sus principales clases son:
· Instant es un timestamp numérico
· LocalDate sirve para almacenar una fecha sin hora.
· LocalTime sirve para almacenar una hora sin fecha.
· LocalDateTime sirve para almacenar una fecha con hora.
· ZonedDateTime almacena hora y fecha con información de uso horario.
Default Interfaces
métodos que están declarados en la propia interfaz y pueden ser utilizados directamente en la clase
MultiCatch
Podemos capturar varias excepción en un solo catch.Evitando una lista de catchs.
Gestión automática de recursos
Si declaramos un recurso del tipo en el try java.io.InputStream, OutputStream, Reader, Writer, Formatter; java.nio.Channel;java.net.socket; java.sql.Connection, Statement, ResultSet etc.
Cuando el bloque termina, todos los recursos declarados se cerrraran automáticamente.
Evitamos el cierre manual en el finally
In the <f:ajax> tag :
execute=”name” – Indicate the form component with an Id of “name” will be sent to the server for processing. For multiple components, just split it with a space in between, e.g execute=”name anotherId anotherxxId”. In this case, it will submit the text box value.
render=”output” – After the Ajax request, it will refresh the component with an id of “output“. In this case, after the Ajax request is finished, it will refresh the <h:outputText> component.
Anotación para registro de managed beans
No hace falta registrar los beans en el faces-config.xml
New scopes
@NoneScoped: Lo que dura la expresion EL
@CustomScoped: Manejas tu el scope
Navegación Condicional en faces-config.xml
Router adf
Faces Flow
Similar a ADF
Expresiones EL con paso de parametros
Nuevas anotaciones para eventos
PostConstructApplicationEvent
PreDestroyApplicationEvent
PreRenderViewEvent
El modo Design esta muy mejorado:
No se rompe con tanta facilidad
Podemos probar diferentes resoluciones en el propio JDev sin necesidad de arrancar
Hacer foco solo en una parte de la pagina
Edición de funcionalidades desde el propio Design
Ver o no los facets en los componentes
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)
Alta Skin
Mejoras en el componente Upload:
Soporte drag and drop
Multiples ficheros simultáneamente
Pretty URLs: No son tan sucias, solo tienen el sessionId
Menor complejidad de componentes
af:Button:
af:goButton,af:commandButton,af:commandToolbarButton,
af:activeCommandToolbarButton (deprecated)
af:Link
af:goLink, af:commandLink, af:goImageLink,af:commandImageLink (deprecated)