Vous êtes sur la page 1sur 43

<Insert Picture Here>

Desarrollo declarativo en Java :


¿Tan fácil como Oracle Forms?
Agenda
• Jdeveloper y ADF
• JSF y ADF Faces
• JHeadstart
• ¿Ya es como Oracle Forms?
• Recursos
• OTN
• Oracle University
¿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)
Oracle Fusion Middleware

DESARROLLAR

J2EE ... y más


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
Application Development Framework
Ensamblado visual de aplicaciones

Device View Controller Model

• Device & • Ajax • Page Flow


Browser • Flash
Adaptation • Mobile • Service
• Web 2.0 Binding
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
<Insert Picture Here>

Introducion Oracle ADF


Oracle Application
Development Framework
¿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
¿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…
Arquitectura ADF

Rich Clients Web and Wireless View

Controller Controller

Model Model
(JSR 227)

Business Services
Arquitectura ADF
Rich Client Web / Wireless
ADF Swing JSP JSF/ADF Faces View

Struts JSF Controller

ADF Model Model


(JSR 227)

ADF Java Web Business


EJB/
Business Portlets Services
Toplink Classes Services
Components

Data Source

Relational Data XML Data Legacy Data Packaged Apps


Desarrollo SOA con ADF

Develop Expose Access

Business
Service Model View
Servicios de desarrollo
Capa de Business
• Acceso a datos
Develop
• O/R Mapping
• Queries/DML
• Lógica de negocio
• Validación de datos
• Lógica de negocio
Business
• Elecciones de implementación Service
• EJB, POJO, Web Services, XML, TopLink, ADF
Business Components
Servicios de Acceso
Capa de Vista

• Elección de tecnologías Access


• JavaServer Faces (JSF)
• Swing
• JSP
• JSP/Struts
• Editor visual de layout
View
• Fácil data binding
Ejemplo de componentes de ADF
Modelo de programacion consistente
Industrial IM
Browser Phone/PDA

ITS AS

CSS CSS Skins


HTML RIA Mobile Telnet ASK Render Kits
ADF Faces Components

Java Server Faces / JSP Interface

J2EE Bus. Logic


Servicios de Exposición
Capa de Modelado ADF

• ADF model Expose


• JSR-227 Data Controls
• Interfaz orientada a servicios
• Implementación abstracta desde clientes
• Acoplamiento ligero entre servicio y aplicaciones
• Más reusable
Model
• Descubre y comparte servicios
• Más productividad
• Drag and Drop Data Binding
ADF Data Binding

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


controlador
¿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
¿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
¿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
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
Application Proceso de
Definition
Generación

JHeadstart JSF JSP


ADF Faces View
Application
Definition
Wizard
JSF Controller

ADF BC ADF Model


metadata
Data Bindings Model
Data Controls

ADF
ADF Business
Business
Business
Components Services
Components
JDeveloper
ADF BC Wizard
Application
Definition

JHeadstart JSF JSP


ADF Faces View
Application
Definition
Wizard
JSF Controller

ADF BC ADF Model


metadata
Data Bindings Model
Data Controls

ADF
ADF Business
Business
Business
Components Services
Components
JDeveloper
ADF BC Wizard
Application Generator Proceso de
Definition Templates
Generación

JHeadstart JSF
JSF JSP
JSP
ADF Faces View
Application ADF Faces
Definition
Wizard
JSF Controller
JSF

ADF BC ADF
ADF Model
Model
metadata JHeadstart
Application Data
Data Bindings
Bindings Model
Generator Data
Data Controls
Controls

ADF
ADF Business
Business
Business
Components Services
Components
JDeveloper
ADF BC Wizard
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
Principales funcionalidades
JHeadstart
Estilos 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
Principales funcionalidades
JHeadstart
Comportamiento 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”
Tipos de atributos de pantalla

• Text
• Read Only
• Date
• Checkbox
• Date Time

• Choice

• Image

• List
• Download
• Edit • Upload

• Hidden
¿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
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
¿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
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.htm
• Jheadstart: Demos, FAQs, próximos talleres
¿Quieres aprender más?

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
Gracias por su asistencia a este seminario

Vous aimerez peut-être aussi