rickymax.wordpress
description
Transcript of rickymax.wordpress
![Page 1: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/1.jpg)
rickymax.wordpress.com
Desarrollo de Aplicaciones J2EE con Oracle ADF
Ricardo RuanoConsultor ADFEcuador 2013
![Page 2: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/2.jpg)
Agenda
Quienes Somos?,Experiencia, Clientes actuales Qué es Oracle ADF? Arquitectura ADF: patrón y posibilidades tecnológicas
Modelo Vista Controlador
Como funciona ADF? Manipulación de View Objects Validación de Datos DML Methods
• ADF Controller• ADF Faces• Esto significa la muerte de PL/SQL?
![Page 3: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/3.jpg)
Oracle ADF?
Aplicaciones J2EE Clásicas
•Conjunto de especificaciones o APIS complejas y tediosas.•Esfuerzo muy costoso para obtener código reutilizable basado en capas y componentes.•Riesgo de continuidad siempre presente
ADF:•Herramienta de productividad efectiva y desarrollo ágil•Guerra a la complejidad del manejo de las APIs de J2EE•Gran poder y portabilidad•Elimina tareas repetitivas•Implementa patrones de diseño de fácil uso•Continuidad asegurada en la inversión
Metaframework
![Page 4: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/4.jpg)
Oracle ADF?
• Entorno de Desarrollo Visual y programación declarativa
• Plataforma Independiente, indiferente del contenedor J2EE
• Variedad de Opciones tecnológicas
Oracle• ADF
• 11g
Microsft• .Net
• 4.0
![Page 5: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/5.jpg)
Oracle ADF Architecture
![Page 6: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/6.jpg)
Selección Ideal
![Page 7: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/7.jpg)
DataControl
Entity Objects
View Objects
Database
SQL Queries
DML Insert/Update/DeleteValidationSecurityCode re-use
User Inteface
R/W
R/W
R/O
Funcionamiento de ADF
Booking
Event
Aplication Module
EventBookingsView1
ResourceTypeView1
BooKingsView1
![Page 8: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/8.jpg)
Modelo
Componentes de Negocio ADF mediante wizards List-Of-Values, basada en View Objects (persistentes o
no persistentes) Calculated Atributos Calculados Reglas de Validación dependientes Modelo Visual de Pruebas integrado
Marco de trabajo definidoCódigo limpio y componentes reutilizables
![Page 9: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/9.jpg)
Vista-Controlador
Flujos de Tareas ADF Fragmentos de Pagina y Regiones ADF Faces Rich Client ADF Security Component Gráficos avanzados
![Page 10: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/10.jpg)
Resultado esperado
![Page 11: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/11.jpg)
Publicando en el Modelo de Servicios
Cada una de las operaciones que se definan en las entidades y view objects se pueden exponer en el modelo de servicios a traves del Aplication Module
The AppModuleImpl
![Page 12: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/12.jpg)
Manipulando View Objects
Tiempo de Diseño
Se puede modificar el query SQL haciendo uso del Modo Experto
![Page 13: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/13.jpg)
Bind VariablesOracle Named
Oracle Positional
JDBC Positional
Set Bindsvia Custom Code &
exposing Model Services
Manipulación en Tiempode Ejecución
Manipulando View Objects
![Page 14: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/14.jpg)
Validación de Datos– Declarativa
2 Enfoques
•A nivel de la entidad
•A nivel del atributo de la la entidad
![Page 15: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/15.jpg)
Validación de Datos – Código
2 Enfoques
•A nivel de la entidad
•A nivel del atributo de la la entidad
![Page 16: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/16.jpg)
protected void doDML(int operation, TransactionEvent e) {
if (operation == DML_INSERT) { /* write PRE-INSERT trigger-like code here */ super.doDML(operation, e); /* Don't call the super and do something else to write ON-INSERT trigger-like code */ /* write POST-INSERT trigger-like code here */ } else if (operation == DML_UPDATE) { /* write PRE-UPDATE trigger-like code here */ super.doDML(operation, e); /* Don't call the super and do something else to write ON-UPDATE trigger-like code here */ /* write POST-UPDATE trigger-like code here */ } else if (operation == DML_DELETE) { /* write PRE-DELETE trigger-like code here */ super.doDML(operation, e); /* Don't call the super and do something else to write ON-DELETE trigger-like code here */ /* write POST-DELETE trigger-like code here */ }
}
DML Methods
Si!, son equivalentes a los Triggers transaccionales de Core Forms.
The EntityImpl
![Page 17: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/17.jpg)
ADF Controller
![Page 18: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/18.jpg)
ADF Faces
![Page 19: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/19.jpg)
ADF Faces
![Page 20: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/20.jpg)
Esto es la muerte Database PL/SQL?
Para invocar los Stored Procedures y Funciones de la BD
Una de las manerasCallable statementJPublisherExponer como un web service
No realmente, ahora simplementeSe deben usar con otro enfoque!
PLSQL
![Page 21: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/21.jpg)
Funcionamiento
![Page 22: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/22.jpg)
Resumen
JDeveloper 11g – Ciclo de Desarrollo Completo Desarrollo rapido y confiable mediante wizards Desarrollo Java (Clases java en la capa de Modelo,
Managed Beans en la capa View-Controller) ADF Business Components JheadStart – Plataforma
recomendado para convertir Oracle Forms Aplicaciones de aspecto amigable y facil uso mediante
ADF Faces Rich Client
![Page 23: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/23.jpg)
Demo
El siguiente demo permite visualizar la potencia de ADF a travéz de 20 minutos de desarrollo para obtener una aplicacion Rich fusion sobre ADF y desplegada en weblogic.
![Page 24: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/24.jpg)
Preguntas?
![Page 25: rickymax.wordpress](https://reader035.fdocumento.com/reader035/viewer/2022070420/56815dff550346895dcc400e/html5/thumbnails/25.jpg)
Muchas Gracias por su atención
Contactos: Ricardo RuanoCelular: (593)0989961051Skype: rickymax01Email: [email protected]: rickymax.wordpress.com