rickymax.wordpress

25
rickymax.wordpress.com Desarrollo de Aplicaciones J2EE con Oracle ADF Ricardo Ruano Consultor ADF Ecuador 2013

description

Desarrollo de A plicaciones J2EE con Oracle ADF . Ricardo Ruano Consultor ADF Ecuador 2013. rickymax.wordpress.com. Agenda. Quienes Somos ?, Experiencia , Clientes actuales Qué es Oracle ADF? Arquitectura ADF: patrón y posibilidades tecnológicas Modelo Vista Controlador - PowerPoint PPT Presentation

Transcript of rickymax.wordpress

Page 1: rickymax.wordpress

rickymax.wordpress.com

Desarrollo de Aplicaciones J2EE con Oracle ADF

Ricardo RuanoConsultor ADFEcuador 2013

Page 2: rickymax.wordpress

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

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

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

Oracle ADF Architecture

Page 6: rickymax.wordpress

Selección Ideal

Page 7: rickymax.wordpress

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

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

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

Resultado esperado

Page 11: rickymax.wordpress

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

Manipulando View Objects

Tiempo de Diseño

Se puede modificar el query SQL haciendo uso del Modo Experto

Page 13: rickymax.wordpress

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

Validación de Datos– Declarativa

2 Enfoques

•A nivel de la entidad

•A nivel del atributo de la la entidad

Page 15: rickymax.wordpress

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

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

ADF Controller

Page 18: rickymax.wordpress

ADF Faces

Page 19: rickymax.wordpress

ADF Faces

Page 20: rickymax.wordpress

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

Funcionamiento

Page 22: rickymax.wordpress

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

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

Preguntas?

Page 25: rickymax.wordpress

Muchas Gracias por su atención

Contactos: Ricardo RuanoCelular: (593)0989961051Skype: rickymax01Email: [email protected]: rickymax.wordpress.com