You are on page 1of 28

1

Oracle Application
Development Framework

Copyright © 2004, Oracle. Todos los derechos reservados.


Objetivos

Al finalizar esta lección, debería estar capacitado para:


• Describir la plataforma J2EE (Java 2 Enterprise Edition)
• Describir las ventajas del desarrollo de aplicaciones
basado en el marco
• Describir el objetivo y las ventajas de Oracle ADF
• Describir la arquitectura MVC (Model-View-Controller)
• Describir las tecnologías utilizadas en cada uno de los
niveles MVC

Copyright © 2004, Oracle. Todos los derechos reservados.


Plataforma J2EE

• Es un modelo de aplicaciones distribuidas de varias capas


• Soporta aplicaciones J2EE basadas en componentes

Máquina cliente Servidor J2EE Servidor de


Bases de Datos
Capa de cliente Capa Web Capa de negocio Capa EIS

Explorador/ JSP/ Servicios


Base de datos
Aplicación Servlet de Negocio

Copyright © 2004, Oracle. Todos los derechos reservados.


Copyright © 2004, Oracle. Todos los derechos reservados.
Ventajas de la Plataforma J2EE

• El concepto “Write once, run anywhere” (se escribe


una sola vez, se ejecuta en cualquier dispositivo)
proporciona un desarrollo de componentes simplificado.
• J2EE separa los requisitos del cliente de la lógica de
negocio.
• J2EE proporciona varios supuestos de desarrollo y
diseño:
– Varias capas
– Web
– Cliente autónomo
• J2EE separa las tareas de desarrollo en áreas de
conocimiento específicas.

Copyright © 2004, Oracle. Todos los derechos reservados.


Plataforma J2EE: Detalles de Arquitectura

Máquina cliente Servidor J2EE Capa EIS


Explorador Contened Contenedor
or Web de negocio

Contenedor
de cliente JSP/ Servicios de Base de
Servlet Negocio datos
Aplicación
Cliente
JNDI RMI JTA

JDBC JMS JavaMail


JAF
API

Copyright © 2004, Oracle. Todos los derechos reservados.


Creación de Aplicaciones J2EE

• Crear aplicaciones J2EE puede resultar una tarea


compleja.
• El tiempo de desarrollo pueden ser extenso.
• Seleccionar e implementar los patrones de diseño
adecuados puede ser una tarea agotadora.
• Las aplicaciones implementadas por uno mismo suelen
repetir un código de aplicación existente.
• Una gran parte de este tipo de código se emplea en
tareas comunes.
• Cuanto más código se escriba, mayor será la
posibilidad de error.
• El uso de un marco de aplicación existente permite
concentrarse en las necesidades de negocio.

Copyright © 2004, Oracle. Todos los derechos reservados.


¿Qué es el Desarrollo de Aplicaciones
Basado en el Marco?

Un marco:
• Es un nivel de productividad que se utiliza para crear
aplicaciones
• Es un juego de componentes de software de
cooperación inteligente
• Se ha diseñado para especializarse en los negocios
• Maneja la mayoría de tareas comunes con
comportamiento sensible
• Permite una fácil personalización de comportamientos
por defecto
• Utiliza técnicas y patrones de diseño estándar de
probada eficacia

Copyright © 2004, Oracle. Todos los derechos reservados.


Comprensión del Desarrollo de
Aplicaciones Basado en el Marco

Proporciona “puntos de enlace” Se puede aumentar


con funciones estándar o eludir la funcionalidad
base.

Marco Los objetos sólo tienen


su código.
Un marco proporciona una
funcionalidad base:
• Comportamientos estándar Sin generación de
• Métodos de acceso a datos código desordenado
• Gestión de transacciones

Copyright © 2004, Oracle. Todos los derechos reservados.


Oracle Application Development Framework

• Reduce la complejidad de desarrollo J2EE al


proporcionar desarrollo visual y declarativo
• Aumenta la productividad de desarrollo
– Menos código, más reutilización
– Centrado en la aplicación, no en el código
• Fomenta las mejores prácticas de J2EE mediante
la implementación de patrones de diseño J2EE
estándar (MVC)
• Proporciona un entorno flexible y amplio
permitiendo varios estilos de desarrollo y opciones
de tecnología

Copyright © 2004, Oracle. Todos los derechos reservados.


Desarrollo Visual y Declarativo

• Visual
– Editores WYSIWYG
– Modeladores UML
– Panel Structure
• Declarativo
– Panel Structure
– Inspector de propiedades
• Sincronización de vista de diseño/vista de código
– Sin paso de generación independiente: siempre
sincronizado
– Código subyacente siempre accesible

Copyright © 2004, Oracle. Todos los derechos reservados.


Patrones de Diseño

• Patrones de diseño:
– Son soluciones demostradas a problemas concretos
– Son medios para un fin, no el fin en sí mismo
– Están dirigidos a tareas de programación, no a
problemas de negocio
– Son reutilizables
– Proporcionan un marco para resultados que se pueden
volver a crear
• La arquitectura MVC es un ejemplo de patrón de
diseño.

Copyright © 2004, Oracle. Todos los derechos reservados.


Arquitectura MVC (Model-View-Controller)

MVC proporciona la separación lógica de una aplicación.

Capa Capa Capa de Capa


de Cliente Web negocio EIS

Servicios de Negocio
Modelo
Controlador

Explorador/
Aplicación Base de datos

Vista

Copyright © 2004, Oracle. Todos los derechos reservados.


Estructura MVC

Controlador
• Maneja el direccionamiento
a la página correcta
• Asigna los cambios de
datos de la interfaz de
usuario al modelo

Mostrar Enviar Datos y


página transacciones

Vista Modelo
• Presenta la interfaz de • Almacena el estado de
usuario la aplicación
• Solicita datos del modelo Solicitar • Responde a solicitudes de
• Envía “eventos” al modelo datos
datos
• Permite al controlador • Encapsula la lógica de
seleccionar la vista siguiente negocio

Copyright © 2004, Oracle. Todos los derechos reservados.


¿Qué es el Modelo?

• Se trata de un wrapper y de abstracción de


servicios de negocio:
– Maneja los eventos de datos del controlador
– Suministra datos a la vista
• Gestiona y presenta datos de diferentes tipos de
servicio de negocio de forma común.

Vista Controlador

Modelo

Copyright © 2004, Oracle. Todos los derechos reservados.


El Nivel de Modelo
Modelo
Enlaces ADF

Control de Datos ADF

Servicios de Beans
Clases Módulo de Servicios
Negocio Java de Sesión aplicación Web
EJB
ADF

Objeto de
Consultas Buscadores
JDBC TopLink EJB Vista ADF

Clases Beans de Objeto de


Java Entidad EJB Entidad
Asignación TopLink ADF

Copyright © 2004, Oracle. Todos los derechos reservados.


Componentes del Nivel de Modelo

• Enlaces:
– Metadatos que describen cómo los componentes de la
interfaz de usuario de una página utilizan los valores y
las acciones proporcionados por el servicio de negocio
• Controles de datos:
– Metadatos que describen el modelo de datos devuelto
por el servicio de negocio
• Los metadatos tienen el mismo formato para todos los
servicios de negocio.

Enlaces ADF

Control de Datos ADF

Copyright © 2004, Oracle. Todos los derechos reservados.


¿Qué es el Controlador?

En una página Web, todo lo significativo


se produce a través de una ejecución o un enlace.
• El controlador intercepta una solicitud y
la distribuye a la página correcta.
• La página de origen no tiene que conocer cómo
manejar un evento o dónde ir a continuación.
• El código de manejo no tiene que conocer qué página
debe mostrar como respuesta.
• El controlador separa el modelo y la vista.
• El controlador gestiona el flujo de una aplicación Web.

Copyright © 2004, Oracle. Todos los derechos reservados.


Struts en JDeveloper

JDeveloper utiliza Apache Struts como controlador.


• Es popular entre desarrolladores J2EE.
• Está implantado desde 2000.
• Se ha diseñado para manejar vistas en función de
la tecnología HTTP.

Copyright © 2004, Oracle. Todos los derechos reservados.


Controlador: Resumen

• El controlador es clave en la separación MVC


y para promover un nuevo uso del nivel y el código.
• Apache Struts es el estándar de facto
para controladores de aplicación Web.
• Oracle JDeveloper 10g soporta Struts como
controlador.

Copyright © 2004, Oracle. Todos los derechos reservados.


¿Qué es la Vista?

• La vista de MVC es la interfaz de usuario de la


aplicación.
• Se trata de lo que ve el usuario y con lo que interactúa.

Vista Controlador

Modelo

Copyright © 2004, Oracle. Todos los derechos reservados.


Concepto de Vista

• La vista no contiene código de aplicación;


contiene código para representar la
interfaz de usuario y transferir eventos al controlador.
• Las vistas se pueden intercambiar sin volver a
escribir la lógica del controlador o el modelo.
• Una sola aplicación puede tener diferentes vistas
compatibles con diferentes tipos de dispositivos
(explorador HTML, dispositivos de mano, etc.).

Copyright © 2004, Oracle. Todos los derechos reservados.


Tecnologías de Vista en
Oracle JDeveloper 10g

• JSP (JavaServer Pages)


• UIX
• ADF JClient
La creación de clientes de datos enlazados es la misma en
JDeveloper para cualquiera de estas tecnologías de cliente
soportadas.

Copyright © 2004, Oracle. Todos los derechos reservados.


Vista: Resumen

• La vista sólo contiene código de visualización.


• La vista no contiene lógica de aplicación.
• La vista no contiene lógica de navegación.
• La vista es independiente del controlador y el modelo.

Copyright © 2004, Oracle. Todos los derechos reservados.


Pila de Tecnología ADF

Swing/
Vista JSP ADF UIX JSF
ADF JClient

Controlador Struts

Modelo Modelo ADF

ADF Beans
Servicios de Servicios JavaBeans/
Business de Sesión
Negocio Web Otros
Components EJB

Copyright © 2004, Oracle. Todos los derechos reservados.


ADF: Resumen

• Desarrollo completo productivo


– Model-View-Controller
– Visual
– Declarativa
• Marco J2EE estándar
– Implementa las mejores prácticas de J2EE
– Utiliza los últimos estándar
– Proporciona opciones de arquitectura
– Se crea sobre el patrón de diseño de MVC

Copyright © 2004, Oracle. Todos los derechos reservados.


Resumen

En esta lección ha aprendido a:


• Identificar las ventajas del desarrollo de aplicaciones
basado en el marco
• Describir la plataforma J2EE (Java 2 Enterprise Edition)
• Definir los componentes de la arquitectura Model-View-
Controller
• Describir las ventajas de ADF (Oracle Application
Development Framework)
• Describir las tecnologías utilizadas en cada uno de los
niveles MVC

Copyright © 2004, Oracle. Todos los derechos reservados.


Copyright © 2004, Oracle. Todos los derechos reservados.