rickymax.wordpress.com Desarrollo de Aplicaciones J2EE con Oracle ADF Ricardo Ruano Consultor ADF Ecuador 2013
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?
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
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
Oracle ADF Architecture
Selección Ideal
Data Control Data Control Entity Objects View Objects Database SQL Queries DML Insert/Update/Delete Validation Security Code re-use User Inteface R/W R/O Funcionamiento de ADF Booking Event Aplication Module Event BookingsView1 Event BookingsView1 ResourceType View1 BooKings View1 BooKings View1
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 definido Código limpio y componentes reutilizables
Vista-Controlador Flujos de Tareas ADF Fragmentos de Pagina y Regiones ADF Faces Rich Client ADF Security Component Gráficos avanzados
Resultado esperado
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
Manipulando View Objects Tiempo de Diseño Se puede modificar el query SQL haciendo uso del Modo Experto
Bind Variables Oracle Named Oracle Positional JDBC Positional Set Binds via Custom Code & exposing Model Services Manipulación en Tiempo de Ejecución Manipulando View Objects
Validación de Datos– Declarativa 2 Enfoques A nivel de la entidad A nivel del atributo de la la entidad
Validación de Datos – Código 2 Enfoques A nivel de la entidad A nivel del atributo de la la entidad
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
ADF Controller
ADF Faces
Esto es la muerte Database PL/SQL? Para invocar los Stored Procedures y Funciones de la BD Una de las maneras Callable statement JPublisher Exponer como un web service No realmente, ahora simplemente Se deben usar con otro enfoque! PLSQL
Funcionamiento
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
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.
Preguntas?
Muchas Gracias por su atención Contactos: Ricardo Ruano Celular: (593) Skype: rickymax01 Blog: rickymax.wordpress.com