seminario es java declarativo

43

Upload: jmdelbarrio

Post on 10-Apr-2015

193 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Seminario Es Java Declarativo
Page 2: Seminario Es Java Declarativo

<Insert Picture Here>

Desarrollo declarativo en Java :¿Tan fácil como Oracle Forms?

Page 3: Seminario Es Java Declarativo

Agenda• Jdeveloper y ADF• JSF y ADF Faces• JHeadstart• ¿Ya es como Oracle Forms?• Recursos

• OTN• Oracle University

Page 4: Seminario Es Java Declarativo

¿Qué es Jdeveloper?

• IDE de Oracle para Java (y otras tecnologías)• Generador y organizador de código 3GL• Algunas capacidades 4GL

• Soporta todo el ciclo de desarrollo en J2EE• Diferentes formas de despliegue• P.e. Aplicación Java, applet, JSP, servlet, EJB

• Fácil desarrollo, depuración y despliegue• Gran cantidad de asistentes para crear código de arranque• Framework de acceso a datos: Business Components (BC4J y

ADF BC)

Page 5: Seminario Es Java Declarativo

Oracle Fusion Middleware

DESARROLLAR

J2EE ... y más

Page 6: Seminario Es Java Declarativo

Oracle Application Development Framework (ADF)

• Es un “meta-framework” que “empaqueta otros “frameworks”• JSF• Struts• ADF Business Components, etc

• Corrige los retos del desarrollo J2EE• Demasidas opciones tecnológicas• Ninguna herramienta para integrarlas• Conectividad a base de datos dificil (JDBC)

• Disponible desde Jdeveloper 10g• Basado en el patrón de diseño J2EE Modelo-Vista-

Controlador

Page 7: Seminario Es Java Declarativo

Application Development FrameworkEnsamblado visual de aplicaciones

Device View Controller Model

• Device & Browser Adaptation

• Ajax• Flash• Mobile• Web 2.0

• Page Flow

• Service Binding

Page 8: Seminario Es Java Declarativo

Proceso de desarrollo

• Crear un workspace para la aplicación• Crear proyecto de Business Services y Modelo• Crear proyecto de vista y controlador• Añadir objetos del modelo usando los diagramas,

asistentes y editores de BC• Añadir los objetos de Vista y Controlador

• Crear diagrama de navegación y páginas Y/O• Crear páginas y luego el diagrama e navegación

• Test y debugging

Page 9: Seminario Es Java Declarativo

<Insert Picture Here>

Introducion Oracle ADF

Oracle Application Development Framework

Page 10: Seminario Es Java Declarativo

¿Qué es ADF?

• Application Development Framework simplifica el desarrollo de aplicaciones

• Productividad y capacidad de elección• Facilidad de uso y productivad gran productividad• Promueve el desarrollo orientado a servicios• Basado en estándares

• Componente clave de la arquitectura de Fusion

Page 11: Seminario Es Java Declarativo

¿Qué es ADF?

• Proporciona soluciones de infraestructura• Mapeo O/R, persistencia, caching, controller, binding,

framework UI • Y una forma fácil de manejarlas

• Una herramienta – propiedades, dialogos, editores visuales etc…

Page 12: Seminario Es Java Declarativo

Business Services

Web and WirelessRich Clients

Model

Controller

ViewView

ControllerController

ModelModel(JSR 227)(JSR 227)

Arquitectura ADF

Page 13: Seminario Es Java Declarativo

Arquitectura ADF

ADF Model

Struts JSF

JSF/ADF FacesJSPADF Swing View

Controller

Model(JSR 227)

Business Services

Rich Client Web / Wireless

Relational Data XML Data Legacy Data

Data Source

EJB/Toplink

ADFBusiness

Components

Java

Classes

Web

ServicesPortlets

Packaged Apps

Page 14: Seminario Es Java Declarativo

Desarrollo SOA con ADF

DevelopDevelop

BusinessBusinessServiceService

ExposeExpose

ModelModel

AccessAccess

ViewView

Page 15: Seminario Es Java Declarativo

Servicios de desarrolloCapa de Business

• Acceso a datos• O/R Mapping• Queries/DML

• Lógica de negocio• Validación de datos• Lógica de negocio

• Elecciones de implementación• EJB, POJO, Web Services, XML, TopLink, ADF

Business Components

DevelopDevelop

BusinessBusinessServiceService

Page 16: Seminario Es Java Declarativo

Servicios de AccesoCapa de Vista

• Elección de tecnologías• JavaServer Faces (JSF)• Swing• JSP• JSP/Struts

• Editor visual de layout• Fácil data binding

AccessAccess

ViewView

Page 17: Seminario Es Java Declarativo

Ejemplo de componentes de ADF

Page 18: Seminario Es Java Declarativo

Modelo de programacion consistente

J2EEJ2EE Bus. LogicBus. Logic

HTMLHTML RIARIA MobileMobile TelnetTelnet

IndustrialIndustrial

CSSCSS CSSCSS

Phone/PDAPhone/PDABrowserBrowser

SkinsSkins

Render KitsRender Kits

ComponentsComponents

InterfaceInterfaceJava Server Faces / JSPJava Server Faces / JSP

ADF FacesADF Faces

ASKASK

ASASITSITS

IMIM

Page 19: Seminario Es Java Declarativo

Servicios de ExposiciónCapa de Modelado ADF

• ADF model• JSR-227 Data Controls

• Interfaz orientada a servicios• Implementación abstracta desde clientes • Acoplamiento ligero entre servicio y aplicaciones

• Más reusable• Descubre y comparte servicios

• Más productividad• Drag and Drop Data Binding

ExposeExpose

ModelModel

Page 20: Seminario Es Java Declarativo

ADF Data Binding

• Arrastrar y soltar servicios de negocio a la vista y al controlador

Page 21: Seminario Es Java Declarativo

¿Qué es JSF?

• Tecnología Java Server Faces• “Nueva” tecnología

• Parte de la nueva especificación Java (Java EE 5)• Ofrece una implementación de referencia

• Simplifica el desarrollo de JSP• Basado en componentes

• Integra el controlador• No se necesita Struts

• Escribe menos HTML• Lenguaje de marcado de componentes

• Se puede insertar JSF en páginas JSP

Page 22: Seminario Es Java Declarativo

¿Por qué Jheadstart?• Oracle ADF es más sencillo que cualquier otra solución J2EE!• Pero…• Los desarrolladores que conocen Oracle Forms y Oracle

Designer quieren que sea aún más sencillo ( “J2EZ”)!• Aumenta la presión en IT para reducir el tiempo de desarrollo

de aplicaciones de negocio • Los prototipos rápidos pueden acelerar las fases de análisis• La arquitectura SOA requiere interfaces de usuario flexibles• La actualización a nuevas versiones/tecnologías es muchos

más sencilla usando metadatos que no dependan de la tecnología

Page 23: Seminario Es Java Declarativo

¿Qué es Oracle JHeadstart?

• Es una extensión de JDeveloper para la automatización, basada en plantillas, de las tareas de desarrollo con ADF

• Principios de diseño:• Desarrollo Declarativo (paneles de propiedades)• Prototipado rápido e iterativo• Reune componentes reutilizables, NO genera Java!!• Integra completamente con el diseño ADF y el Run Time de ADF• Al igual que Designer Forms Generator genera aplicaciones Forms,

JHeadstart genera completamente aplicaciones ADF• Implementa las mejores prácticas de ADF• Incluye un path de migración desde Oracle Designer/Forms a ADF

Page 24: Seminario Es Java Declarativo

JHeadstart Application Generator (JAG)

• Genera Páginas de ADF Faces (JSPX )• Genera ficheros de configuración XML de Faces• Genera ficheros XML de definición de páginas (data

bindings)• NO genera ningún código Java!• JAG se controla desde:

• Fichero de definición de aplicación basado en XML, creado y editado conun asistente GUI (JDeveloper add-in)

• Plantillas de generación de Velocity• La salida generada es 100% modificable

Page 25: Seminario Es Java Declarativo

JSF JSPADF Faces

JSF

ADF Business

Components

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

JDeveloper ADF BC Wizard

JHeadstartApplication

Definition Wizard

Application Definition

ADF BCmetadata

ADF Business

Components

Proceso de Generación

Page 26: Seminario Es Java Declarativo

JSF JSPADF Faces

JSF

ADF Business

Components

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

JDeveloper ADF BC Wizard

JHeadstartApplication

Definition Wizard

Application Definition

ADF BCmetadata

ADF Business

Components

Page 27: Seminario Es Java Declarativo

JSF JSPADF Faces

JSF

ADF Business

Components

ADF Model

Data Bindings

Data Controls

View

Controller

Model

BusinessServices

JDeveloper ADF BC Wizard

JHeadstartApplication

Definition Wizard

GeneratorTemplates

Application Definition

JHeadstartApplication Generator

ADF BCmetadata

ADF Business

Components

JSF

JSF JSPADF Faces

ADF Model

Data Bindings

Data Controls

Proceso de Generación

Page 28: Seminario Es Java Declarativo

Salidas generadas

• Páginas JSF usando ADF Faces• Jerarquía de componentes y binding

• Flujo de páginas• faces-config.xml

• ADF Data Binding• DataBinding Context & Definiciones de Páginas

• Ciclo de vida de la página ADF• Mejoras genéricas para funcionalidades runtime

• Texto traducible• En ficheros de recurso ó ficheros de propiedades

• No se genera java, sólo XML

Page 29: Seminario Es Java Declarativo

Principales funcionalidades JHeadstartEstilos de salida • Form, Table, Table-Form, Select-Form, Tree, Tree-Form, Shuttle,

Wizard, (Stacked) Regions, Overflow styles (inline, right, below) • Cualquier combinación de estilos de salida para padre e hijo, en

la misma página o en páginas diferentes • Búsqueda Rápida, Búsqueda Avanzada (en la misma página o

en una página diferente, elección de operadores para query)• Ventana de lista de valores (LOV)

• Uso de LOV para validación• Multi-Select LOV

Page 30: Seminario Es Java Declarativo

Principales funcionalidades JHeadstartComportamiento en Runtime• Inserción multifila, actualizaciones, Borrado multiselección• Ordenación y scrolling de datos• Notificación de cambios pendientes• Valores por defecto• Enlaces• Items con dependencias condicionales• Búsquedas por rango, búsquedas case-insensitive, alertas de

máximo número de resultados• Consultas dinámicas usando parámetros de bind para la

query• “Breadcrumbs”

Page 31: Seminario Es Java Declarativo
Page 32: Seminario Es Java Declarativo
Page 33: Seminario Es Java Declarativo
Page 34: Seminario Es Java Declarativo
Page 35: Seminario Es Java Declarativo
Page 36: Seminario Es Java Declarativo
Page 37: Seminario Es Java Declarativo

Tipos de atributos de pantalla

• Text

• Checkbox

• Choice

• List

• Edit

• Hidden

• Read Only• Date• Date Time

• Image

• Download• Upload

Page 38: Seminario Es Java Declarativo

¿Tan fácil como Oracle Forms?• No...pero está muy cerca• RAD para operaciones estándar• RAD para operaciones complejas

• Forms es algo más sencillo que Jdeveloper sin Jheadstart• Jdeveloper con Jheadstart está muy por delante de Forms

• Complejidad del desarrollo• Hay una curva de aprendizaje desde Forms• Con Jheadstart, la curva es mucho menor

• Facilidad de extensión• ADF Faces –3GL está siempre presente• Forms también usa java (PJCs)

• Interfaces gráficas interactivas• Forms se basa en un cliente pesado (applet)• El código de ADF Faces + Jheadstart es muy interactivo

Page 39: Seminario Es Java Declarativo

Otras comparaciones

• Componentes preconstruidos en ADF Faces• Forms tiene 22• ADF Faces tiene más de 100 (algunos no visuales)

• Experiencia de desarrollo• Forms= Declarativo, visual con algún PL/SQL• ADF Faces = Declarativo y visual con algo de Java (y Expression

Language)• Jheadstart = Sólo declarativo

• Futuro• Forms – soporte hasta 2012• ADF Faces – Nueva tecnología• J2EE es el foco de Oracle• Jheadstart está creciendo rápidamente• Ayuda a los expertos en Forms

Page 40: Seminario Es Java Declarativo

¿Dónde empezar?

• Competencias necesarias• Java está omnipresente

• Pero sólo a un nivel de scripting• Se necesitaría un arquitecto Java en el proyecto

• XML es muy útil• Basta con conocer “elementos” y “atributos”

• HTML no se usa realmente en ADF Faces• Ayuda saber lo que es una tabla HTML

• Método desarrollo ADF• ADF Business Components

Page 41: Seminario Es Java Declarativo

Para más información

• http://oracle.com/technology/jdev• Software, Demos, Tutoriales, Foros

• http://oracle.com/technology/products/adf/learnadf.html• Tutorial completo ADF

• http://www.oracle.com/technology/products/jheadstart/index.html• Jheadstart: Demos, FAQs, próximos talleres

Page 42: Seminario Es Java Declarativo

Cursos de Introduccion, Avanzados y Certificaciónes

Tel. 902 302 302

“El aprender es un tesoro que seguirá a su dueño por todas partes” - Proverbio Chino

¿Quieres aprender más?

Page 43: Seminario Es Java Declarativo

Gracias por su asistencia a este seminario