Vous êtes sur la page 1sur 397

2009 - Powered by Fundacin Proydesa

Oracle JDeveloper 10g: Creacin de Aplicaciones con ADF


Presentacin Electrnica

D16975CS10 Produccin 1.0 Octubre 2004 D39935

2009 - Powered by Fundacin Proydesa

Autores Gary Williams Lynn Munsinger Patrice Daux Colaboradores Tcnicos y Revisores Jeff Gallus Pam Gamer Duncan Mills Editor Joseph Fernandez

Copyright 2004, Oracle. Todos los derechos reservados. Esta documentacin contiene informacin propiedad de Oracle Corporation; se suministra bajo los trminos de un contrato de licencia que contiene restricciones de uso y de revelacin y est tambin protegida por la legislacin de derechos de autor. Queda prohibida la ingeniera invertida del software. Si esta documentacin se entrega a una agencia del Ministerio de Defensa del Gobierno de EE.UU., se aplicar la siguiente advertencia de Restricted Rights: Restricted Rights Legend Use, duplication or disclosure by the Government is subject to restrictions for commercial computer software and shall be deemed to be Restricted Rights software under Federal law, as set forth in subparagraph (c)(1)(ii) of DFARS 252.227-7013, Rights in Technical Data and Computer Software (October 1988). Este material ni ninguna parte del mismo podr ser reproducido en cualquier forma o a travs de cualquier medio sin el expreso consentimiento por escrito del grupo Education Products de Oracle Corporation. La reproduccin es una violacin de la ley de derechos de autor y puede tener consecuencias penales o civiles. Si esta documentacin se entrega a una agencia del Gobierno de EE.UU. no perteneciente al Ministerio de Defensa, se aplicar la advertencia de Restricted Rights definida en FAR 52.227-14, Rights in Data-General, incluido Alternate III (junio de 1987). La informacin contenida en este documento est sujeta a cambio sin previo aviso. Si detecta cualquier problema en la documentacin, le agradeceremos lo comunique por escrito a Worldwide Education Services, Oracle Corporation, 500 Oracle Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle Corporation no garantiza que este documento est exento de errores. Toda referencia a Oracle y a los Productos de Oracle constituyen marcas comerciales o marcas comerciales registradas de Oracle Corporation. Todos los dems nombres de compaas y productos mencionados se utilizan a los exclusivos fines de su identificacin y pueden ser marcas comerciales de sus respectivos propietarios.

2009 - Powered by Fundacin Proydesa

Introduccin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar este curso, debera estar capacitado para: Disear e implementar servicios de negocio mediante Oracle ADF Business Components Generar y probar componentes completos como una aplicacin ADF entera Generar vistas Web para una aplicacin, mediante herramientas declarativas en Oracle JDeveloper 10g Utilizar Oracle JDeveloper 10g para definir la funcionalidad de interfaz de usuario y el flujo de aplicaciones basado en Struts

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visin General del Curso


Este curso le ensear a: Crear aplicaciones J2EE mediante Oracle JDeveloper 10g Crear e implementar servicios de negocio mediante Oracle ADF Business Components Crear componentes de aplicaciones cliente basados en MVC Utilizar Struts como controlador en una aplicacin basada en MVC

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Oracle Application Development Framework

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera 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 tecnologas utilizadas en cada uno de los niveles MVC

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Plataforma J2EE
Es un modelo de aplicaciones distribuidas de varias capas Soporta aplicaciones J2EE basadas en componentes
Mquina cliente Capa de cliente Servidor J2EE Capa Web Capa de negocio Servidor de Bases de Datos Capa EIS

Explorador/ Aplicacin

JSP/ Servlet

Servicios de Negocio

Base de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

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 lgica de negocio. J2EE proporciona varios supuestos de desarrollo y diseo:
Varias capas Web Cliente autnomo

J2EE separa las tareas de desarrollo en reas de conocimiento especficas.


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Plataforma J2EE: Detalles de Arquitectura


Mquina cliente
Explorador

Servidor J2EE Contenedor Contened de negocio or Web

Capa EIS

Contenedor de cliente Aplicacin Cliente

JSP/ Servlet

Servicios de Negocio

Base de datos

JNDI JDBC

RMI JMS JAF API

JTA JavaMail

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Aplicaciones J2EE


Crear aplicaciones J2EE puede resultar una tarea compleja. El tiempo de desarrollo pueden ser extenso. Seleccionar e implementar los patrones de diseo adecuados puede ser una tarea agotadora. Las aplicaciones implementadas por uno mismo suelen repetir un cdigo de aplicacin existente. Una gran parte de este tipo de cdigo se emplea en tareas comunes. Cuanto ms cdigo se escriba, mayor ser la posibilidad de error. El uso de un marco de aplicacin existente permite concentrarse en las necesidades de negocio.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

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 cooperacin inteligente Se ha diseado para especializarse en los negocios Maneja la mayora de tareas comunes con comportamiento sensible Permite una fcil personalizacin de comportamientos por defecto Utiliza tcnicas y patrones de diseo estndar de probada eficacia
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Comprensin del Desarrollo de Aplicaciones Basado en el Marco


Proporciona puntos de enlace con funciones estndar Se puede aumentar o eludir la funcionalidad base.

Marco

Los objetos slo tienen su cdigo.

Un marco proporciona una funcionalidad base:


Comportamientos estndar Mtodos de acceso a datos Gestin de transacciones

Sin generacin de cdigo desordenado

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Oracle Application Development Framework


Reduce la complejidad de desarrollo J2EE al proporcionar desarrollo visual y declarativo Aumenta la productividad de desarrollo
Menos cdigo, ms reutilizacin Centrado en la aplicacin, no en el cdigo

Fomenta las mejores prcticas de J2EE mediante la implementacin de patrones de diseo J2EE estndar (MVC) Proporciona un entorno flexible y amplio permitiendo varios estilos de desarrollo y opciones de tecnologa

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Desarrollo Visual y Declarativo


Visual
Editores WYSIWYG Modeladores UML Panel Structure

Declarativo
Panel Structure Inspector de propiedades

Sincronizacin de vista de diseo/vista de cdigo


Sin paso de generacin independiente: siempre sincronizado Cdigo subyacente siempre accesible

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Patrones de Diseo
Patrones de diseo:
Son soluciones demostradas a problemas concretos Son medios para un fin, no el fin en s mismo Estn dirigidos a tareas de programacin, 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 patrn de diseo.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Arquitectura MVC (Model-View-Controller)


MVC proporciona la separacin lgica de una aplicacin.
Capa de Cliente Capa Web Capa de negocio Capa EIS

Servicios de Negocio

Controlador

Modelo

Explorador/ Aplicacin

Base de datos

Vista

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Estructura MVC
Controlador
Maneja el direccionamiento a la pgina correcta Asigna los cambios de datos de la interfaz de usuario al modelo

Mostrar

Enviar pgina

Datos y transacciones

Vista
Presenta la interfaz de usuario Solicita datos del modelo Enva eventos al modelo Permite al controlador seleccionar la vista siguiente

Modelo
Solicitar datos
Almacena el estado de la aplicacin Responde a solicitudes de datos Encapsula la lgica de negocio

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu es el Modelo?
Se trata de un wrapper y de abstraccin 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 comn.

Vista Modelo

Controlador

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

El Nivel de Modelo
Modelo Enlaces ADF Control de Datos ADF Servicios de Negocio
Beans de Sesin EJB

Clases Java

Mdulo de aplicacin ADF Objeto de Vista ADF

Servicios Web

JDBC

Consultas Buscadores EJB TopLink

Clases Java

Beans de Entidad EJB

Asignacin TopLink

Objeto de Entidad ADF

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes del Nivel de Modelo


Enlaces:
Metadatos que describen cmo los componentes de la interfaz de usuario de una pgina 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.

2009 - Powered by Fundacin Proydesa

Qu es el Controlador?
En una pgina Web, todo lo significativo se produce a travs de una ejecucin o un enlace. El controlador intercepta una solicitud y la distribuye a la pgina correcta. La pgina de origen no tiene que conocer cmo manejar un evento o dnde ir a continuacin. El cdigo de manejo no tiene que conocer qu pgina debe mostrar como respuesta. El controlador separa el modelo y la vista. El controlador gestiona el flujo de una aplicacin Web.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Struts en JDeveloper
JDeveloper utiliza Apache Struts como controlador. Es popular entre desarrolladores J2EE. Est implantado desde 2000. Se ha diseado para manejar vistas en funcin de la tecnologa HTTP.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Controlador: Resumen
El controlador es clave en la separacin MVC y para promover un nuevo uso del nivel y el cdigo. Apache Struts es el estndar de facto para controladores de aplicacin Web. Oracle JDeveloper 10g soporta Struts como controlador.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu es la Vista?
La vista de MVC es la interfaz de usuario de la aplicacin. Se trata de lo que ve el usuario y con lo que interacta.

Vista

Controlador

Modelo
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Concepto de Vista
La vista no contiene cdigo de aplicacin; contiene cdigo para representar la interfaz de usuario y transferir eventos al controlador. Las vistas se pueden intercambiar sin volver a escribir la lgica del controlador o el modelo. Una sola aplicacin puede tener diferentes vistas compatibles con diferentes tipos de dispositivos (explorador HTML, dispositivos de mano, etc.).

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Tecnologas de Vista en Oracle JDeveloper 10g


JSP (JavaServer Pages) UIX ADF JClient La creacin de clientes de datos enlazados es la misma en JDeveloper para cualquiera de estas tecnologas de cliente soportadas.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Vista: Resumen
La vista slo contiene cdigo de visualizacin. La vista no contiene lgica de aplicacin. La vista no contiene lgica de navegacin. La vista es independiente del controlador y el modelo.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Pila de Tecnologa ADF

Vista

JSP

ADF UIX

JSF

Swing/ ADF JClient

Controlador

Struts

Modelo ADF Servicios de Business Negocio Components

Modelo ADF Beans de Sesin EJB

Servicios Web

JavaBeans/ Otros

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ADF: Resumen
Desarrollo completo productivo
Model-View-Controller Visual Declarativa

Marco J2EE estndar


Implementa las mejores prcticas de J2EE Utiliza los ltimos estndar Proporciona opciones de arquitectura Se crea sobre el patrn de diseo de MVC

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin 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-ViewController Describir las ventajas de ADF (Oracle Application Development Framework) Describir las tecnologas utilizadas en cada uno de los niveles MVC

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Proceso de Desarrollo de ADF

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Identificar el ciclo de procesos tpico para el desarrollo de una aplicacin ADF Enumerar las principales funciones de tiempo de diseo utilizadas para crear aplicaciones ADF Utilizar la aplicacin del curso para consultar productos y realizar una transaccin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

mbitos de Tecnologa del Proyecto


ADF es un marco de tiempo de ejecucin y de tiempo de diseo para las aplicaciones J2EE. JDeveloper proporciona herramientas de tiempo de diseo para soportar el desarrollo J2EE. Existen varias pilas de tecnologa disponibles para el desarrollo de aplicaciones J2EE. La eleccin depende del usuario.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Pila de Tecnologa ADF

Vista

JSP

JSF

ADF UIX

Swing/ ADF JClient

Controlador

Struts

Modelo ADF Servicios de Business Negocio Components

Modelo ADF Beans de Sesin EJB

Servicios Web

JavaBeans/ Otros

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo de Aplicacin
Se trata de una aplicacin JSP o Struts de dos pginas Se basa en el esquema Oracle Order Entry que se incluye con la Base de Datos Oracle 10g

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Aplicaciones
1. 2. 3. 4. Crear un espacio de trabajo de la aplicacin. Seleccionar el mbito de tecnologa. Disear los servicios de negocio del modelo. Disear el flujo de pgina de la aplicacin para el controlador. 5. Crear pginas para la vista.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Espacios de Trabajo de Aplicacin


Un espacio de trabajo de aplicacin es una forma de visualizar los componentes de la aplicacin. JDeveloper proporciona varias formas de ver la aplicacin:
Vista basada en la aplicacin Vista de sistema de archivos Vista organizada por cdigos

Estas vistas le permiten organizar el proyecto de la forma que ms le convenga.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Plantillas de Espacios de Trabajo de Aplicacin


JDeveloper proporciona plantillas de aplicacin en funcin de las opciones de tecnologa. Puede crear su propia plantilla o puede seleccionar la plantilla de tecnologa para su aplicacin:
Aplicacin Web (por defecto) ADF UIX, JSP, Struts y ADF Business Components Aplicacin Web (JSP, Struts y EJB) Aplicacin Java (por defecto) ADF JClient y ADF Business Components Aplicacin Java Java, Swing/JFC y JavaBeans Aplicacin personalizada Todas las tecnologas de JDeveloper

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Espacio de Trabajo de Aplicacin


1. Haga clic en New Application Workspace. 2. Introduzca un nombre. 3. Seleccione la plantilla de aplicacin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Espacio de Trabajo de Aplicacin Nuevo


La aplicacin contiene: Un proyecto para el modelo (servicios de negocio) Un proyecto para la vista y el controlador

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Diseo de Servicios de Negocio para el Modelo: ADF Business Components


Cree ADF Business Components (objetos de entidad) a partir de tablas existentes de la base de datos. Seleccione las tablas que desee representar en el modelo: son los componentes de persistencia.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Diseo de Servicios de Negocio para el Modelo: ADF Business Components


Los componentes de negocio tambin contienen componentes de vista (objetos de vista). Los objetos de vista exponen datos a las aplicaciones cliente. Seleccione todos los objetos que desea exponer al cliente. El asistente crea los objetos que necesite.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Diseo del Flujo de Pginas de la Aplicacin


JDeveloper utiliza Apache Struts como controlador. Apache Struts es un controlador de flujo de pginas basado en XML. JDeveloper proporciona un modelador para crear y gestionar definiciones de controlador Struts. Al seleccionar Web Application Default como mbito de tecnologa se genera automticamente un archivo struts-config.xml por defecto. Se proporcionan separadores en el editor para cambiar entre el archivo XML y el modelador visual.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Flujo de Pginas


Para crear un flujo de pginas, agregue un elemento DataPage a cada pgina JSP de la aplicacin.

xito /customers /orders

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Pginas JSP


Haga clic dos veces en DataPage para crear un componente de vista. Utilice una extensin de nombre de archivo .jsp para crear una pgina JSP. Utilice una extensin de nombre de archivo .uix para crear una pgina UIX. Esto abre el editor visual UIX o JSP.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Editores Visuales


Data Control Palette muestra el modelo de datos definido. Seleccione los elementos de datos que desea mostrar en la pgina. Utilice Drag and Drop As: para seleccionar el modo en que desea mostrar los datos. Arrastre el elemento a la pgina.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Enlace de Datos: Ejemplo


Mostrar el cliente como una pantalla de entrada:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de HTML para Mejorar la Interfaz de Usuario


Agregue HTML para mejorar la interfaz de usuario.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resultados
Haga clic con el botn derecho del mouse en Customers DataPage y seleccione Run.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Crear una aplicacin por defecto simple mediante JDeveloper Describir y utilizar un espacio de trabajo de aplicacin Crear ADF Business Components por defecto Crear un diagrama de flujo de pginas simple Crear y editar pginas JSP

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 2-1: Visin General


Esta prctica cubre los siguientes temas: Creacin de una conexin JDBC Apertura de una aplicacin existente Prueba de funcionalidades de la aplicacin de ejemplo Creacin de un nuevo espacio de trabajo de aplicacin Creacin de una plantilla de aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Introduccin a ADF Business Components

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Identificar los dos grupos de componentes de negocio Definir el propsito y la funcin de los componentes de negocio Crear un objeto de entidad Crear un objeto de vista Crear un mdulo de aplicacin Utilizar el explorador de Business Components para probar una aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Pila de Tecnologa ADF

Vista

JSP

JSF

ADF UIX

Swing/ ADF JClient

Controlador

Struts

Modelo ADF Business Components

Modelo ADF Beans de Sesin EJB

Servicios de Negocio

Servicios Web

JavaBeans/ Otros

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu es ADF Business Components?


ADF Business Components forma parte de ADF. Proporciona servicios de negocio para aplicaciones J2EE. Maneja la interaccin entre el cliente y el origen de datos de una aplicacin J2EE. Proporciona servicios de validacin y lgica de negocio a la aplicacin J2EE. Proporciona cdigo de infraestructura de lgica de aplicacin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ADF Business Components


Es un marco de desarrollo de capa de negocio completo Implementa patrones de diseo de J2EE y soluciones de instrucciones ptimas para:
Implementacin de lgica de negocio Escalabilidad y rendimiento Interaccin de base de datos optimizada

Soporta opciones de despliegue estndar: EJB, capa Web, servicios Web


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ventajas de ADF Business Components


ADF Business Components aumenta la productividad
Componentes reutilizables Creacin de objetos controlada por asistente de reentrada Asignacin O/R simple

Proporciona infraestructura de lgica de aplicacin


Funciones de datos listas para usar No es necesario realizar una codificacin manual de las rutinas estndar de acceso de datos. Slo se codifican excepciones del comportamiento estndar.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Business Components
El marco Business Components comprende dos grupos de componentes: Componentes de dominio de negocio
Aplica las reglas de negocio Objetos de entidad, asociaciones de entidad y tipos de objetos personalizados

Componentes de modelo de datos


Proporciona acceso de datos a aplicaciones cliente Objetos de vista, enlaces de vista y mdulos de aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes de Dominio de Negocio


Objetos de entidad
Aplica las reglas de negocio y la validacin de datos Persistencia, almacenamiento en cach Manipulacin de datos

Asociaciones de entidad
Aplica reglas relacionales entre objetos de entidad

Tipos de objeto personalizados (dominios)


Objetos personalizados, como AddressType Validacin de objetos, como EmailAddress

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes de Negocio de Modelo de Datos


Mdulos de aplicacin
Gestionan transacciones Definen datos y mtodos que un cliente puede ver

Objetos de vista
Proporcionan acceso de cliente a datos Son recopilaciones de datos para acceso de cliente

Enlaces de vista
Enlazan objetos de vista para la coordinacin maestro-detalle

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Modelo de Componentes de Negocio


Mdulo de aplicacin Tareas de aplicacin Manejo de transacciones
Componentes de consulta reutilizables orientados al cliente

OrderEntryApp Objetos de vista PriorityOrder Objetos de entidad ItemList

Customers

Orders

OrderItems

Componentes de persistencia y de lgica de negocio reutilizables de dominio de negocio

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Modelo de Componentes de Negocio


Los pasos bsicos para crear un modelo de componentes de negocio son: 1. Crear una conexin a una base de datos. 2. Crear un espacio de trabajo de la aplicacin. 3. Crear objetos de entidad en funcin de las tablas de base de datos. 4. Crear objetos de vista para soportar una aplicacin cliente. 5. Crear un mdulo de aplicacin para publicar mtodos de acceso de datos. 6. Probar los componentes de negocio.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Conexin de Base de Datos


Una conexin de base de datos proporciona acceso a definiciones de objeto de base de datos y a datos. Para crear una conexin: 1. Seleccione New Database Connection. 2. Complete los detalles de conexin:
Nombre del host Nombre de usuario y contrasea SID

3. Pruebe la conexin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de ADF Business Components: Objetos de Entidad


Los objetos de entidad encapsulan el modelo de negocio:
Datos Reglas Comportamiento persistente

Se puede crear un objeto de entidad para cada una de las tablas que se quieran representar en la aplicacin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de ADF Business Components: Objetos de Entidad


1. Seleccione Business Components from Tables en New Objects Gallery. 2. Seleccione una conexin de base de datos.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de ADF Business Components: Objetos de Entidad


Seleccione las tablas que desee representar en la aplicacin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de ADF Business Components: Objetos de Vista


Los objetos de vista exponen datos a las aplicaciones cliente. Cree objetos de vista especficos para los requisitos del cliente mediante:
Seleccin de una lista de atributos concreta Creacin de atributos no persistentes Suministro de una clusula where Suministro de una clusula order-by

Unin de varios objetos de entidad

Las vistas pueden tener enlaces que gestionen las relaciones maestro-detalle entre objetos de vista.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de ADF Business Components: Objetos de Vista


Customer Name Order Date Order Status Item Quantity Item Price Product Description

PriorityOrder

ItemList

Customers

Orders

OrderItems Products

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Vistas Personalizadas


1. Seleccione New View Object en New Gallery. 2. Asgnele a la vista un nombre. 3. Seleccione las entidades en las que se va a basar la vista. 4. Para un uso de consulta, seleccione primero la entidad de detalle.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Seleccin de los Atributos


Seleccione los atributos que necesite de cada una de las entidades. JDeveloper crea el objeto de vista con la sentencia Select de SQL.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Mdulo de Aplicacin


El mdulo de aplicacin publica objetos de vista. Los objetos de vista deben formar parte del mdulo de aplicacin para que las aplicaciones cliente tengan acceso. Edite el mdulo de aplicacin y agregue las vistas. Cmbieles el nombre a las instancias de vista: utilice nombres que tengan sentido para la aplicacin cliente.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prueba de Business Components


Haga clic con el botn derecho del mouse en Application Module y seleccione Test. Seleccione la configuracin y la conexin de base de datos.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Describir los dos grupos de componentes de negocio Definir el rol de Business Components Describir el rol de un mdulo de aplicacin Describir el uso de vistas personalizadas

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 3-1: Visin General


Esta prctica cubre los siguientes temas: Crear componentes de negocio:
Objetos de entidad Objetos de vista Mdulo de aplicacin

Probar un mdulo de aplicacin Crear un diagrama de Business Components

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Lgica de Negocio

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Decidir dnde colocar la lgica de negocio Describir el rol de los objetos de entidad en la implementacin de la lgica de negocio Crear objetos de entidad Describir los distintos mtodos para implementar la lgica de negocio en ADF Business Components Agregar la lgica de negocio a una aplicacin ADF Business Components Utilizar el modelador de Business Components para crear y gestionar componentes de negocio

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validacin de Lgica de Negocio


Capa de cliente Capa media Web Container
Capa de servicios de negocio de ADF Modelo
Mdulo de aplicacin ADF Objeto de vista ADF Objeto de entidad ADF

Capa EIS

Controlador

Base de datos

Validacin de cliente

Validacin de lgica de negocio


Copyright 2004, Oracle. Todos los derechos reservados.

Validacin de base de datos

2009 - Powered by Fundacin Proydesa

Implementacin de la Validacin en la Capa de Servicios de Negocio


Capa de lgica de negocio: Se utiliza cuando se crean o actualizan datos Asume que los datos existentes de la base de datos son vlidos Se define en el nivel de objeto de entidad Utiliza tcnicas de programacin o declarativas
Declarativa: definida en asistentes y editores Programacin: codificada en Java

Se especifica en Java, en XML o en ambos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objeto de Entidad: Visin General


Objeto de entidad

Customers Id Name Status Email

Atributos

Status List (Gold Silver Platinum)

Regla de validacin

Tabla de base de datos

CUSTOMERS ID 201 202 NAME Steve Mike STATUS Gold Silver Email msmith@company.com dgonzales@company.com

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objeto de Entidad
Representa una tabla de base de datos u otro origen de datos Maneja toda la interaccin entre las bases de datos Contiene atributos que representan las columnas de la base de datos Encapsula la lgica de validacin de nivel de atributo y nivel de entidad Puede contener mtodos de negocio personalizados

Cliente

Orden

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Objeto de Entidad


Seleccione el nodo Haga clic con el botn Business Components derecho del mouse en el en New Gallery y, a nombre del paquete en el continuacin, seleccione navegador y seleccione Entity Object. New Entity Object.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Asistente Entity Object

Escriba un nombre. Seleccione un objeto de base de datos.

Vaya al paso siguiente.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Archivos Generados para el Objeto de Entidad Customers


Customers.xml: metadatos
El asistente Entity Object obtiene toda la informacin de este archivo. Se crea por defecto (obligatorio)

CustomersImpl.java: clase de objeto de entidad


Ampla la clase EntityImpl Es de nivel de fila Incluye mtodos definidores y de obtencin para los atributos Se crea por defecto (opcional)

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Archivos Opcionales Generados para el Objeto de Entidad Customers


CustomersDefImpl.java: clase de definicin de entidad
Ampla la clase EntityDefImpl Contiene metadatos de tiempo de ejecucin que describen el objeto de entidad Describe todas las instancias de la entidad

CustomersImpl.java: clase de recopilacin de entidades


Ampla la clase EntityCache Contiene el tiempo de ejecucin consultando la recopilacin de entidades Filas consultadas en la cach de la entidad
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Modelador de Business Components para los Objetos de Entidad


1. Cree un diagrama en New Gallery. 2. Arrastre los objetos al diagrama.
Objetos de entidad Definiciones de base de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Modelador de Business Components para los Objetos de Entidad


Cree objetos de entidad a travs de Component Palette. Utilice el editor Entity Object para las propiedades de los objetos de entidad.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Asignacin de un Valor Inicial a un Atributo de Entidad


Agregue cdigo al mtodo create() en EntityImpl.java.
Seleccin de archivos Java opcionales Active la casilla de control Create Method para generar un mtodo create().

create() se ejecuta automticamente cuando la entidad se ha instanciado.


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Asignacin de un Atributo a una Secuencia de Base de Datos


create or replace trigger insert_ord_id BEFORE INSERT ON orders FOR EACH ROW DECLARE new_id number; BEGIN SELECT orders_seq.NextVal INTO new_id from Dual; :new.order_id := new_id; END;

1. Cree un disparador de base de datos.

2. Defina el tipo de atributo en DBSequence.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 4-1: Visin General


Esta prctica cubre los siguientes temas: Inicializacin de un atributo en un valor por defecto Asignacin de una secuencia de base de datos a un atributo

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Validacin

Validacin de nivel de entidad

Validacin de nivel de atributo

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Reglas de Validacin Declarativas


Utilice las reglas de validacin declarativas para validar un atributo de entidad. Utilice el asistente Entity Object para agregar y editar reglas. El asistente Entity Object proporciona distintos tipos de reglas declarativas:
Comparar con un nico valor Comparar con una lista de valores vlidos, codificados o los resultados de una consulta SQL Comparar con el valor mnimo, el valor mximo o un rango de valores Validar utilizando un mtodo personalizado

La validacin declarativa se basa en XML.


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ListValidator: Ejemplo
Especifique una lista de valores para Customers.Status.

Customers.xml

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de UniqueKeyValidator a una Entidad

UniqueKeyValidator: Implementa la validacin en la capa media Comprueba la unicidad de la clave primaria para un objeto de entidad Comprueba que los valores sean nicos en la cach de la entidad

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Dominios
Utilice dominios para validaciones ms complejas:
Formato de un nmero de telfono Validez de una URL Validez de una direccin de correo electrnico El total de control de dgitos de un nmero de tarjeta de crdito

La validacin se realiza a travs del constructor de dominios. Un dominio no est ligado a un atributo o entidad en particular. Puede utilizar los dominios para validar varios atributos en distintos objetos de entidad.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Dominios: Ejemplo
URLDomain verifica que un atributo es una URL vlida. El mtodo validate() se llama mediante el constructor del dominio.
URLDomain.java
protected void validate() { try { // Make sure the user entered a valid URL java.net.URL u = new java.net.URL(mData); } catch (java.net.MalformedURLException e) {throw new oracle.jbo.domain.DomainValidationException ("Invalid URL"); }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Cmo Crear un Dominio


1. Cree un dominio en New Gallery. 2. Agregue el cdigo de validacin al mtodo validate() automticamente creado en URLDomain.java.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Cmo Utilizar un Dominio


Edite el objeto de entidad y cambie el tipo de atributo a URLDomain.

URLDomain aparece en la lista de tipos.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Implementar la lgica de negocio declarativa Crear objetos de entidad Crear cdigo Java para los objetos de entidad Validar atributos de entidad mediante reglas de validacin u objetos de dominio Utilizar el modelador de Business Components

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 4-2: Visin General


Esta prctica cubre los siguientes temas: Adicin de un validador de listas a un atributo Creacin de un dominio Asignacin de un atributo a un dominio

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Exposicin de Datos de Negocio

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para hacer lo siguiente: Describir el rol de los objetos de vista en el marco de Business Components Crear objetos de vista Personalizar objetos de vista mediante el asistente View Object Definir las relaciones entre los objetos de vista Agregar atributos calculados a los objetos de vista Explicar el rol de un mdulo de aplicacin Crear un mdulo de aplicacin
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objeto de Vista en la Arquitectura ADF


Capa de Cliente Capa Media Web Container
Capa de servicios de negocio de ADF Modelo Controlador
Mdulo de aplicacin ADF Objeto de vista ADF Objeto de entidad ADF

Capa EIS

Base de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visin General
Objeto de entidad Customers ID Name Status Web site Objeto de vista CustomerStatus SELECT name, status FROM customers ORDER BY name Name Mike Steve Susan

Status Silver Gold Platinum

ID 201 202

NAME Steve Mike

STATUS Gold Silver

WEBSITE http://www... http://www... Tabla de base de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetos de Vista
Presentan una vista o una porcin de los datos de negocio Se utilizan para unir, filtrar, proyectar y ordenar los datos de negocio Se pueden basar en cualquier nmero de objetos de entidad Tambin se pueden generar a partir de una sentencia SQL
PriorityOrder CustomerStatus

Order

Customers

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Interaccin entre Vistas y Entidades: Recuperacin de Datos


El objeto de vista consulta la base de datos directamente. Los datos recuperados a travs de la consulta se guardan en la cach del objeto de entidad.
OE

getAttr()

OV

Los atributos no persistentes se almacenan y recuperan de la cach del objeto de vista.

getCalcAttr() OV
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Interaccin entre Vistas y Entidades: Actualizacin de Datos


El objeto de vista actualiza la cach del objeto de entidad. El objeto de entidad actualiza la base de datos.
setAttr() OE OV

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Sincronizacin de Objetos de Vista


Cuando se ejecuta un mdulo de aplicacin, varias vistas que hacen referencia a la misma entidad permanecen sincronizadas.

El estado de pedido se cambia en una vista. El nuevo valor se muestra inmediatamente en otras vistas basadas en la misma entidad.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Objeto de Vista mediante el Asistente View Object

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Clases Relacionadas con Objetos de Vista


ViewObjectImpl
Es la clase de objeto de vista. Representa un objeto de vista. Utilice esta clase para agregar o sustituir comportamientos que se aplican al objeto de vista.

ViewRowImpl
Es la clase de la fila de vista. Representa una fila de un objeto de vista. Utilice esta clase para agregar o sustituir comportamientos que se aplican a una fila del objeto de vista.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Archivos Generados para el Objeto de Vista LineItemView


LineItemView.xml: Metadatos
Siempre se genera. El marco ADF recupera metadatos de tiempo de ejecucin de este archivo. El tiempo de diseo de JDeveloper utiliza este archivo para obtener las propiedades de los objetos de vista.

LineItemViewImpl.java: clase de vista


Ampla ViewObjectImpl. La generacin de esta clase es opcional.

LineItemViewRowImpl.java: clase de fila de vista


Ampla ViewRowImpl La generacin de esta clase es opcional.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo de un Objeto de Vista


Objeto de Vista PriorityOrder SELECT Cust.ID, Cust.FIRSTNAME, Cust.LASTNAME, Cust.STATUS Ord.ID, Ord.ORDERDATE, Ord.STATUS FROM CUSTOMERS Cust, ORDERS Ord WHERE Cust.ID = Ord.CUSTOMER_ID AND Cust.status = 'Platinum' ORDER BY Ord.ORDERDATE Customers ID FirstName LastName Status Email Orders ID Orderdate Status Custid Trackingno

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 5-1: Visin General


Esta prctica aborda la creacin y edicin de un nuevo objeto de vista.
Seleccione objetos de entidad Seleccione atributos Edite la consulta

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Atributos Calculados en Vistas


Puede agregar atributos no persistentes (transitorios) basados en campos calculados y llamadas a funciones. Haga clic en New en la pgina del separador Attributes del editor View Object.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Enlaces de Vista
Un enlace de vista es un enlace activo entre dos objetos de vista. Se pueden crear enlaces de vista proporcionado lo siguiente:
Vistas de origen y destino Atributos de origen y destino

InventoryItem Objeto de vista de origen

OrderForItem Enlace

LineItem Objeto de vista de destino

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Recorrido de Enlaces
Los enlaces se pueden recorrer en ambas direcciones. ViewRowImpl.java contiene un mtodo para obtener el iterador de fila asociada. Debe utilizar los mtodos de RowIterator para mover de fila a fila y obtener valores de atributo individuales. Por ejemplo, OrdersViewRowImpl contiene el mtodo:
public oracle.jbo.RowIterator getOrderItemsView()

Este mtodo devuelve los elementos de detalle de un pedido.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Modelador de Business Components para Objetos de Vista (I)


Arrastre los objetos de vista del navegador de aplicaciones al diagrama. El objeto de entidad de origen aparece en el recuadro de objeto de vista.

Objeto de entidad de origen

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Modelador de Business Components para Objetos de Vista (II)


1. Cree un objeto de vista vaco desde Component Palette. 2. Arrastre los objetos de entidad al recuadro de vista.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mdulo de Aplicacin en la Arquitectura ADF


Capa de Cliente Capa Media Web Container
Capa de servicios de negocio de ADF Modelo
Mdulo de aplicacin ADF Objeto de vista ADF Objeto de entidad ADF

Capa EIS

Controlador

Base de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mdulos de Aplicacin
Representan el modelo de datos para los clientes Realizan el seguimiento de todos los cambios que afectan a la base de datos Tienen una conexin con la base de datos Proporcionan mtodos de acceso remoto Se pueden desplegar en varias plataformas sin cambiar el cdigo Pueden contener otros mdulos de aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Mdulo de Aplicacin mediante el Asistente Application Module

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Modelador de Business Components para un Mdulo de Aplicacin (I)


Arrastre un mdulo de aplicacin del navegador de aplicaciones al diagrama. Los objetos de vista de origen aparecen en el recuadro Application Module.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Modelador de Business Components para un Mdulo de Aplicacin (II)


1. Cree un mdulo de aplicacin vaco desde Component Palette. 2. Arrastre los objetos de vista al recuadro Application Module.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Describir el rol de los objetos de vista en el marco de Business Components Crear objetos de vista Personalizar objetos de vista mediante el asistente View Object Definir las relaciones entre los objetos de vista Agregar atributos calculados a los objetos de vista Explicar el rol de un mdulo de aplicacin Crear un mdulo de aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 5-2: Visin General


Esta prctica cubre los siguientes temas: Adicin de un atributo calculado a un objeto de vista Modificacin del cdigo de origen para recalcular el atributo cuando cambia la fila de vista

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Validacin Personalizada

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Agregar mtodos personalizados para validar datos de negocio Utilizar mtodos de acceso a datos de tipo seguro Utilizar asociaciones de entidad en la lgica de negocio Atravesar asociaciones de entidad

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visin General
Objeto de Entidad Customers Id Name Status Email Orders Id CustomerId OrderMode OrderTotal Entity Method Validator Atributo Method Validator Dominio Tipo de validacin Regla de negocio El nombre no puede contener ms de 50 caracteres El correo electrnico debe contener un smbolo "@" y "." Debe existir el correo electrnico del cliente Si el valor de OrderMode es "ONLINE"

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de una Validacin a una Entidad


Hay una serie de ubicaciones donde colocar la validacin: Validadores predefinidos: para reglas simples basadas en XML Validadores de mtodos personalizados: para reglas ms complejas de atributos y entidades Mtodo definidor de atributos: para reglas complejas de atributo Sustituye los mtodos EntityImpl.java: para reglas ms complejas de entidad y comportamientos personalizados Dominios: se pueden utilizar para varios atributos en diferentes objetos de entidad
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validacin de Atributos
Para crear una validacin personalizada de atributos, puede: Crear un MethodValidator en el archivo EntityImpl.java o Modificar el mtodo setter() del atributo en el archivo EntityImpl.java

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un MethodValidator para un Atributo


Para crear un validador personalizado, cree un mtodo nuevo en el archivo EntityImpl.java. Seleccione el archivo EntityImpl.java en el panel Structure o seleccione Go to Entity Object Class en el men contextual.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un MethodValidator para un Atributo


Para crear una validacin personalizada como MethodValidator, el mtodo: Se debe definir como pblico Debe aceptar un nico argumento del mismo tipo que el atributo Debe devolver un valor booleano Debe empezar por validate
public boolean validateEmail(String value) { return (value.indexOf('@') != -1 ); }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Utilizacin de Mtodos de Tipo Seguro


EntityImpl.java contiene mtodos de tipo seguro para obtener y definir cada uno de los atributos de la entidad. Para sustituir el mtodo definidor en el archivo EntityImpl.java: Agregue un cdigo de validacin personalizada en los mtodos. Llame a setAttributeInternal() para definir el valor del atributo que sigue al cdigo de validacin.
public void setCreditLimit(Number value) { // add your custom code here setAttributeInternal(CREDITLIMIT, value); }
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validacin de Objetos de Entidad


Tambin se puede crear un MethodValidators en el archivo EntityImpl.java para validar los objetos de entidad. Los mtodos de validacin de entidad personalizada: Se deben definir como pblicos Deben devolver un valor booleano
public boolean validateOrder() { String date = new java.util.Date().toString(); if( (getOrderStatus().equals("2")) && (getOrderDate().toString() == date )) {return true; } else {return false;}}
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validacin de Objetos de Entidad


Si los MethodValidators de entidad son demasiado limitadores, cree un mtodo personalizado en el archivo EntityImpl.java:
public boolean checkOrderMode(){ if ( ("ONLINE".equals(getOrderMode())) || !(getCustomerEmail() == null)) { //success } else { // Error - online order must have email address }}
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Llamada a Mtodos EntityImpl


Tambin es posible sustituir otro mtodos en EntityImpl.java. Por ejemplo: doDML(): registra los cambios en otra entidad beforeCommit(): valida varias instancias de la misma entidad remove(): registra una supresin en otra entidad

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Orden de Validacin
La validacin de atributos se produce en el siguiente orden: Validacin de dominio: en la instanciacin de un objeto de entidad Mtodo definidor: en la creacin o modificacin de un atributo Validadores predefinidos: En una llamada a setAttributeInternal() Atributo MethodValidators Mtodo validateEntity() Entidad MethodValidators Mtodo doDML() Mtodo beforeCommit()
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Asociaciones
Las asociaciones definen una relacin entre los objetos de entidad. Las asociaciones: Facilitan el acceso a los datos en objetos de entidad relacionados Se pueden basar en restricciones de base de datos Pueden ser independientes de las restricciones de base de datos Estn compuestas de una entidad (maestra) de origen y una entidad (detalle) de destino

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo de Asociacin
Un cliente puede realizar uno o varios pedidos. Un pedido lo realiza un solo cliente.

Customers Origen

OrderPlacedBy Asociacin

Orders Destino

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mtodos de Acceso
Son mtodos opcionales creados mediante un asistente de asociaciones Proporcionan acceso a los datos desde la entidad asociada Son bidireccionales Por ejemplo:
Obtener todos los pedidos de un cliente Obtener informacin del cliente desde un pedido

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Tipos de Asociacin
Asociacin
Las entidades estn relacionadas pero no son completamente dependientes. Cualquier extremo de la asociacin puede existir sin el otro. Normalmente es una categorizacin.

Composicin
La entidad de destino es completamente dependiente de la entidad de origen. La entidad de origen posee la entidad de destino. No se puede crear ninguna entidad de destino sin que exista primero la entidad propietaria.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Determinacin del Tipo de Asociacin


Dos preguntas que se deben formular: Puede existir un objeto de entidad de destino sin el origen?
En caso afirmativo, el origen est asociado al destino. En caso contrario, el origen est compuesto del destino.

Cuando se suprime el origen, se suprime tambin el destino?


En caso afirmativo, la relacin es una composicin. En caso contrario, la relacin es una asociacin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Asociaciones de Entidad

La parte uno de la asociacin

La parte varios de la asociacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Asociaciones de Entidad

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Recorrido de Asociaciones: de Destino a Origen


Order getLineItem() ItemOrderedOnAssoc LineItem getTrackingNo()

El archivo EntityImpl.java de la entidad de destino contiene mtodos para obtener y definir la entidad de origen. Por ejemplo, LineItemImpl.java contiene getOrd() y setOrd(). Puede agregar un mtodo a LineItemImpl.java para obtener el nmero de seguimiento del pedido que contiene este elemento:
public String getTrackingNo() { return getOrd().getTrackingNo(); }
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Recorrido de Asociaciones: de Origen a Destino


Order getLineItem() ItemOrderedOnAssoc LineItem

El archivo EntityImpl.java de la entidad de origen contiene un mtodo para obtener la entidad de destino. Por ejemplo, OrdImpl.java contiene el mtodo:
public oracle.jbo.RowIterator getLineItem()

Debe utilizar los mtodos de RowIterator para pasar de fila a fila y obtener valores de atributo individuales.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Agregar reglas de negocio a ADF Business Components Validar entidades, atributos y dominios Probar las reglas de validacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 6-1: Visin General


Esta prctica cubre los siguientes temas: Aplicacin de las reglas ListValidator Creacin del cdigo de validacin de dominio Prueba de las reglas de validacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Suministro de Consultas Eficaces

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Crear objetos de vista en modo experto Utilizar consultas parametrizadas en objetos de vista Implementar mtodos personalizados Crear un programa Java para probar mtodos personalizados

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visin General

Objeto de vista CustomerOrders Customers ID Name Status Email Orders Id CustomerId OrderMode OrderTotal Mtodo personalizado getFullName() select c.name, o.order_total from customers c, orders o where c.id=o.customer_id

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetos de Vista de Modo Experto


Utilice las consultas de modo experto para crear objetos de vista personalizados. Seleccione el modo experto en el asistente Create View Object o en la categora Query del editor View Object.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Asignacin de Atributos en el Modo Experto


En el modo normal, JDeveloper mantiene asociaciones entre los atributos de entidad y las columnas de la base de datos. La edicin de una consulta en el modo experto puede invalidar estas asignaciones. Por ejemplo, edite la consulta CustomersView:
SELECT ID, NAME, initcap(STATUS) AS Status FROM CUSTOMERS

Durante el tiempo de ejecucin, el valor del atributo Status no se corresponde con el valor de la tabla subyacente. Si se realiza una actualizacin con la vista se produce un error de bloqueo.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mantenimiento de Asignaciones de Atributos en Modo Experto


El usuario es responsable de mantener la asignacin correcta entre los atributos de entidad y las columnas de la base de datos. Para el ejemplo de estado del cliente:
Suprima el atributo Status del objeto de vista. Cree un nuevo atributo calculado denominado Status.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetos de Vista Basados en SQL


Un objeto de vista basado en SQL:
No se basa en ningn objeto de entidad No se puede utilizar para insertar, actualizar o suprimir

Utilice objetos de vista basados en SQL para vistas de slo consulta, que no necesitan la funcionalidad de objetos de entidad. Los objetos de vista basados en SQL proporcionan un mejor rendimiento que los objetos de vista basados en entidad.

SELECT... OV

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Objeto de Vista Basado en SQL


Cree un objeto de vista sin seleccionar un objeto de entidad en el asistente View Object. Haga clic en el separador Query del asistente e introduzca la consulta en el campo proporcionado.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Implementacin de Mtodos Personalizados


Para agregar mtodos personalizados a un objeto de vista, modifique el archivo ViewObjectRowImpl.java:
public String getCustFullName() { String custFullName = ""; custFullName = getCustFirstName() + " " + getCustLastName(); return custFullName; }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visualizacin de Mtodos en la Aplicacin Cliente


Muestre los mtodos de fila de cliente de objeto de vista: getCustFirstName(), getCustLastName() getCustFullName()

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Cliente de Prueba


Para crear un cliente de prueba: 1. Instancie el mdulo de aplicacin. 2. Instancie el objeto de vista. 3. Busque y manipule los datos segn sea necesario. 4. Llame a los mtodos personalizados segn sea necesario. 5. Cierre el mdulo de aplicacin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Instanciacin de un Mdulo de Aplicacin


Instancie el mdulo de aplicacin mediante la clase Configuration. Utilice el nombre completo cualificado de la aplicacin y el nombre de la configuracin como argumentos.
String _am String _cf // App module name = "model.OEModule"; // Configuration name = "OEModuleLocal";

// Create an instance of the AppModule ApplicationModule am = Configuration.createRootApplicationModule(_am,_cf);

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Instanciacin de un Objeto de Vista y Datos de Salida


Utilice findViewObject() para instanciar el objeto de vista. Itere a travs de Rowset. Muestre los datos con getAttribute().
ViewObject vo = am.findViewObject("CustomersView"); while (vo.hasNext()) { CustomersViewRow row = (CustomersViewRow) vo.next(); System.out.println("Customer First Name is " + row.getAttribute("CustLastName)); } Configuration.releaseRootApplicationModule(am,true);
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Llamada a Mtodos Personalizados


1. Recupere la fila de objeto de vista. 2. Llame a los mtodos publicados en el objeto de vista.
System.out.println("Customer First Name: " + row_Cust.getCustFirstName()); System.out.println("Customer Last Name: " + row_Cust.getCustLastName()); System.out.println("Customer Full Name: " + row_Cust.getCustFullName());

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin de Parmetros para la Clusula Where


La clusula where de una consulta de objeto de vista puede contener variables o parmetros. Proporciona flexibilidad durante el tiempo de ejecucin Puede ser de estilo JDBC
customer_id = ?

Puede ser de estilo Oracle


customer_id = :1

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin de Parmetros para la Clusula Where

Durante el tiempo de ejecucin, se pueden asignar valores a los parmetros.


Parmetros

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Asignacin de Valores a Consultas con Parmetros durante el Tiempo de Ejecucin


1. Asigne parmetros en el cliente. 2. Una vez asignados, vuelva a ejecutar la consulta.
ViewObject vo = am.findViewObject("CustParamView"); vo.setWhereClauseParam(0, "S"); vo.setWhereClauseParam(1, new oracle.jbo.domain.Number(10)); vo.executeQuery();

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Objeto de Vista durante el Tiempo de Ejecucin


Para crear un nuevo objeto de vista basado en una entidad:
//am is an ApplicationModule String entity = "orders.LineItem"; String selectClause = "id, status, quantity"; String fromClause = "line_item"; String whereClause = "status = 'S'"; ViewObject shippedItemsVo = am.createViewObjectFromQueryClauses(null, entity, selectClause, fromClause, whereClause, null);

Para crear un nuevo objeto de vista basado en una consulta:


ViewObject queryItemsVo = am.createViewObjectFromQueryStmt("", "select id, status, quantity from line_item");
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Bsqueda de Datos por Clave de Fila


Compruebe el argumento de lnea de comandos. Cree un objeto oracle.jbo.Key. Llame a findByKey(), que devuelve una matriz de objetos de fila.
if (args.length==0) { system.out.println("Customer ID is required"); System.exit(0); } Key custKey = new Key(new Object[] {args[0]}); Row[] customers = vo.findByKey(custKey,1);

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Crear objetos de vista de modo experto y de programacin Personalizar ADF Business Components para que incluya mtodos personalizados Utilizar consultas parametrizadas en objetos de vista Probar los mtodos personalizados utilizando un cliente Java de lnea de comandos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 7-1: Visin General


Esta prctica cubre los siguientes temas: Creacin de un objeto de vista de programacin Creacin de consultas parametrizadas Creacin de mtodos personalizados para un objeto de vista Prueba de mtodos personalizados y suministro de parmetros de consulta mediante un cliente Java de lnea de comandos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Modelo Seguro

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Definir JAAS (Java Authentication and Authorization Services) Definir problemas de seguridad con respecto a aplicaciones Web Utilizar funciones de tiempo de diseo de seguridad de modelos ADF Utilizar el explorador de ADF Business Components para probar su modelo de seguridad

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos de la Arquitectura de Seguridad de J2EE


Desvincular la lgica de seguridad de la lgica de la aplicacin Mantener la independencia de la plataforma y el proveedor Garantizar un control de acceso detallado a los recursos Posibilitar aplicaciones Web seguras y porttiles

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visin General de la Arquitectura de Seguridad de J2EE


Utilice las API de JAAS para: Autenticar un cliente para que acceda al sistema
Determinar quin es el usuario. Lo pueden demostrar?
Usuario

Autenticacin

Autorizar clientes para acceder a los recursos


Determinar el rol del usuario autenticado. Qu acciones puede realizar un usuario?
Autorizacin

Lectura/Escritura Aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JAAS (Java Authentication and Authorization Services)


JAAS es un marco que:
Proporciona un paquete API de Java que posibilita que las aplicaciones puedan autenticar y aplicar la seguridad Permite la definicin de nombres de seguridad lgicos (principales) que se asignan a usuarios o roles definidos en el entorno de tiempo de ejecucin Permite que la autorizacin detallada gestione la forma en que los clientes tienen acceso a los recursos

Un proveedor de JAAS implementa el marco de JAAS y aplica el modelo de seguridad de Java2.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JAAS (Java Authentication and Authorization Services)


JAAS soporta las siguientes funciones de autorizacin, autenticacin y comunidad de usuarios (dominio):
Principales Asuntos Autenticacin del mdulo de conexin Roles Dominios Polticas y permisos

JDeveloper proporciona asistentes y cuadros de dilogo que ayudan a gestionar estos objetos.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JDeveloper, JAAS y Seguridad del Modelo ADF


JDeveloper proporciona seguridad de aplicacin mediante JAAS. ADF Business Components utiliza las definiciones de seguridad de JAAS para aplicar la seguridad en el modelo. Se pueden definir roles de acceso en entidades y atributos. El explorador de ADF Business Components utiliza esta propiedad para controlar la seguridad del modelo durante el desarrollo y la prueba. El despliegue de JDeveloper utiliza estos roles de acceso para crear descriptores de despliegue.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Activacin de Autenticacin de JAAS para ADF Business Components


Defina la propiedad de aplicacin jbo.security.enforce para activar la autenticacin y la autorizacin. Seleccione
None: sin autenticacin Test: prueba el esquema de conexin pero no autentica los usuarios Must: autenticacin completa Auth: autenticacin y autorizacin completas

Modifique java.security para utilizar el proveedor de conexin de Oracle.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Propiedad de Aplicacin jbo.security.enforce


1. Seleccione el editor Application Module Configuration. 2. Haga clic en el separador Properties. 3. Defina la propiedad jbo.security.enforce.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin de Permisos de Entidad

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Privilegios de Entidad
El rol users puede actualizar filas nuevas. El rol administrators puede actualizar cualquier fila. El rol guests slo puede leer cualquier fila.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Permisos de Atributo
Los atributos heredan los permisos de entidad. Los permisos se pueden sustituir en el nivel de atributo. Se aplican los permisos ms restrictivos, por ejemplo:
Si define read-only en el nivel de entidad, no puede definir update en el nivel de atributo. Update, en el nivel de entidad, puede tener readonly en el nivel de atributo.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Explorador de Business Components


Seleccione Test en el men contextual Application Module. Seleccione AppModuleLocal para configurar la prueba.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prueba de Autorizacin de Entidad y Atributo

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Definir el configurador de conexin para aplicaciones ADF BC Activar la autenticacin de JAAS para ADF BC Agregar usuarios y roles Agregar permisos especficos de rol a entidades y atributos Probar un esquema de seguridad de aplicacin ADF BC

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 8-1: Visin General


Esta prctica cubre los siguientes temas: Definicin de autenticacin SSO Creacin de usuarios y roles Adicin de autorizaciones Prueba de autorizaciones

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Control de una Aplicacin con Struts

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Definir el rol del controlador en la arquitectura MVC Definir la navegacin de pgina en una aplicacin Struts Manejar la navegacin de excepciones y de correccin Definir las distintas formas de editar la configuracin de Struts

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

El Controlador
Capa de Cliente Capa Media Web Container
Capa de servicios de negocio de ADF Modelo
Mdulo de aplicacin ADF Objeto de vista ADF Objeto de entidad ADF

Capa EIS

Controlador

Base de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ADF Implementa MVC mediante el Controlador Struts


Vista JSP JSF ADF UIX Swing/ ADF JClient

Controlador

Struts

Modelo ADF Servicios de Business Negocio Components

Modelo ADF Beans de Sesin EJB

Servicios Web

JavaBeans/ Otros

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivo de un Controlador
En una pgina Web, todo lo significativo se produce a travs de una ejecucin o un enlace. Un controlador intercepta una solicitud y la distribuye correctamente. La pgina de origen no tiene que conocer cmo manejar un evento o dnde ir a continuacin. El cdigo de manejo no tiene que conocer qu pgina debe mostrar como respuesta. El controlador separa el modelo y la vista.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas sin Controlador

<a href="page2.jsp"> <a href="page1.jsp">


page1.jsp page2.jsp

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas sin Controlador

<a href="page2.jsp"> <a href="page1.jsp">


page1.jsp page2.jsp

page1a.jsp
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas sin Controlador

<a href="page2.jsp"> <a href="page1.jsp">


page1.jsp page2.jsp

page1a.jsp
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas sin Controlador

page1.jsp

page2.jsp

<a href="page1a.jsp">

<a href="page1a.jsp">

page1a.jsp
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas con Controlador


Controlador Siguiente Anterior

page1.jsp

page2.jsp

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas con Controlador


Controlador Siguiente Anterior

Siguiente

Anterior

page1.jsp

page2.jsp

page1a.jsp
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu es Struts?
Un proyecto de Apache Software Foundation http://jakarta.apache.org/struts Un marco de origen abierto para aplicaciones MVC basadas en Web
Un servlet de controlador basado en XML

Estndar de facto para el desarrollo de modelo 2 de JSP Parcialmente declarativo y parcialmente codificado Se suele utilizar con otros niveles de vista
Mosaicos: mecanismo de diseo de pgina que utiliza plantillas JSP Velocidad: lenguaje de archivo de comandos de pgina

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts
Vista

Etiquetas Grupos de recursos

JSP

Pantalla de accin

Controlador

Configuracin de Struts

Servlet de controlador Modelo

Accin

Modelo

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts

Servlet de Controlador de Struts: gestiona las solicitudes y resultados de canalizacin de datos entre sistemas Archivo de configuracin de Struts: mapa para el servlet Acciones: procesa una solicitud y reenva acciones Pantallas de accin: transfiere informacin entre el cliente y el modelo Bibliotecas de etiquetas: juego de etiquetas de bibliotecas Struts que se utilizan con JSP Grupos de recursos: archivo basado en texto que se utiliza con la internacionalizacin de mensajes

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Componentes Struts


Solicitud HTTP

Struts Servlet de controlador

Accin Pantalla validate()

Accin

Modelo
execute()

Reenviar Pgina

Devolver respuesta

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: El Servlet de Controlador


Controla todo el proceso de la aplicacin No aparece en el panel Applications Navigator de JDeveloper Se le hace referencia en el archivo web.xml Se ha diseado para ampliarse Basado en XML

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: El Archivo de Configuracin


Se denomina struts-config.xml Lo utiliza el servlet de controlador Proporciona los metadatos que definen la aplicacin:
Asociaciones de acciones (abstracciones) Flujo de pginas Flujo de datos Manejo de excepciones Recursos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: Acciones


Las acciones procesan solicitudes a travs del mtodo execute() y devuelven objetos ActionForward que identifican a dnde se debe reenviar el control. Las acciones son adaptadores entre las solicitudes HTTP y la lgica de negocio correspondiente. Las posibles tareas que se pueden especificar para una accin son:
Reenviar o representar una pgina Codificar la lgica de flujo de pginas Tomar datos de la pgina y actualizar el modelo

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: ActionForms (Beans de Pantalla)


Representa datos de pantalla HTML que el usuario introduce Transporta datos entre la vista y la accin:
Los campos de la pgina se rellenan desde ActionForm. Al enviar, la ActionForm se rellena desde la pgina. La ActionForm rellenada se transfiere a la accin de manejo para su procesamiento.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: Bibliotecas de Etiquetas


Las bibliotecas de etiquetas integran los componentes de JSP y de controlador <html:form/>: dirige el controlador a la accin correcta que se ejecuta <html:errors/>: muestra los errores que devuelve el modelo, incluida la validacin <bean:message/>: genera la salida de una cadena a partir del archivo de recursos (una etiqueta de campo, por ejemplo) Alto nivel de superposicin con las bibliotecas de etiquetas ms recientes como, por ejemplo, JSTL

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Archivo de Recursos de la Aplicacin


Centraliza todos los mensajes para la aplicacin, haciendo que el mantenimiento de mensajes y la internacionalizacin sean fciles de realizar El nombre por defecto es ApplicationResources.properties Asocia un nombre clave con un valor
link.logonpage = Click here to Login

Se utiliza con las etiquetas Struts y las rutinas de error


<html:link page="/logonPage.do"> <bean:message key="link.logonPage"/> </html:link>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Internacionalizacin de la Aplicacin
Para internacionalizar una aplicacin, realice los siguientes pasos: Cree otro archivo de grupos.
Agregue el cdigo de pas al nombre de archivo, como ApplicationResources_fr.properties. Traduzca el texto del mensaje: logon.title=Entrez votre nom dutilisateur

A continuacin, el servlet comprueba la variable de cdigo local del explorador durante el inicio, y si lo encuentra, se carga el archivo correspondiente. De lo contrario, se carga el archivo por defecto.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Struts en Oracle JDeveloper 10g


JDeveloper soporta Struts 1.1. Se puede visualizar el flujo de pginas desde el modelador y:
Desplegar el editor visual de JSP/UIX para las pginas Desplegar el editor de cdigos para las acciones

Se puede editar de la forma que desee:


Visualmente A travs del panel de estructuras y el inspector de propiedades En XML

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Archivo de Configuracin de Struts


Est escrito en XML. Es el mapa de la aplicacin. La actualizacin directa puede resultar pesada. JDeveloper proporciona una herramienta grfica de edicin, exenta de sintaxis XML.

<struts-config> <action-mappings> <action path="/action1"> <forward name="success" path="/page1.do"/> </action> </action-mappings> <message-resources parameter="view.ApplicationResources"/> </struts-config>
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin del Contenido del Archivo struts-config.xml


El panel de estructuras y el inspector de propiedades
<struts-config> <action-mappings> <action path="/action1" type="view.Action1Action"> <forward name="success" path="/page1.do"/> </action> <action path="/page1" forward="/page1.jsp"/> </action-mappings> <message-resources parameter="view.ApplicationResources"/> </struts-config>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin del Contenido del Archivo struts-config.xml


Uso del Editor de Configuracin de Struts

<struts-config> <action-mappings> <action path="/action1" type="view.Action1Action"> <forward name="success" path="/page1.do"/> </action> <action path="/page1" forward="/page1.jsp"/> </action-mappings> <message-resources parameter="view.ApplicationResources"/> </struts-config>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin del Contenido del Archivo struts-config.xml


El Diagrama de Flujo de Pginas de Struts y Component Palette
<struts-config> <action-mappings> <action path="/logon" type="view.LogonAction"> <forward name="success" path="/customers.do"/> </action> <action path="/customers" forward="/customers.jsp"/> <action path="/orders" forward="/orders.jsp"/> </action-mappings> <message-resources parameter="view.ApplicationResources"/> </struts-config>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Diagrama de Flujo de Pginas


Mediante Component Palette, arrastre los componentes al diagrama. Los componentes no existen hasta que los cree fsicamente (como una clase Java o una JSP).

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: Acciones


Para crear una accin:
Utilice el icono Action para dibujar acciones y ActionForms en el diagrama de flujo de pginas Especifique el nombre de la ruta de acceso para la accin El nombre de la ruta de acceso es un nombre lgico Modifique el mtodo execute()
Devuelve un reenvo

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: Pginas y Reenvos de Pgina


Las pginas simbolizan la vista del usuario. Creacin de un reenvo de pgina (tambin denominado ActionForward):
Crea una entrada de accin en el archivo struts-config.xml Crea un nombre lgico asociado al nombre de pgina

Creacin de una pgina


Hace referencia directa al nombre de pgina Es necesario cambiarlo en cada incidencia de la pgina cuando se renombra

Las pginas necesitan existir fsicamente para poder utilizarlas como destino de un reenvo o un enlace
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes Struts: Reenvos y Enlaces


Un enlace representa un flujo entre componentes Puede crear un enlace (lnea de puntos sin nombre):
Entre pginas Entre una pgina y una accin

Puede crear un reenvo (lnea con nombre):


Entre acciones Entre una accin y una pgina El nombre por defecto del primer reenvo es Success.

Pueden existir varios reenvos o enlaces en el origen de un componente.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes ADF: DataAction y DataPage


ADF proporciona dos componentes de accin subclasificados y especializados: DataPage
Se crea para las pginas de datos enlazados Se utiliza mucho con las aplicaciones de componentes de negocio ADF por defecto Combinacin de DataAction y un reenvo de pgina de Struts estndar

DataAction
Creada como una accin autnoma para ejecutar mtodos personalizados del servicio de negocio Maneja acciones estndar procedentes de pginas de datos enlazados
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin, debera haber obtenido informacin sobre las aplicaciones Struts: El servlet de controlador Struts intercepta cada solicitud. El archivo struts-config.xml define los componentes:
Acciones (procesa una solicitud) Reenvos de acciones (transfiere datos de pantalla HTML) Reenvos de pgina y/o pginas (simboliza la vista del usuario en relacin con el resultado de una accin) Grupos de recursos (creacin de componentes de etiquetas y texto) Navegacin (reenvos y enlaces de pgina)
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 9-1: Visin General


Esta prctica cubre los siguientes temas: Creacin de un diagrama de flujo de pginas Creacin de un reenvo de pginas para cada pantalla Asociacin de cada pantalla JSP con una determinada accin de reenvo de pgina. Adicin de DataAction entre las pantallas de conexin y del cliente. Enlace de DataAction con la pantalla de conexin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Componentes de Vista ADF

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Describir cmo funciona una JSP Describir los componentes fundamentales de una JSP Crear una JSP Incluir componentes en una JSP (etiquetas JSTL, HTML y Struts) Crear una JSP centrada en datos mediante el enlace de datos ADF

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu es una JSP?
Las JSP son un componente J2EE que: Es una vista en la estructura MVC de ADF Contiene lgica de presentacin Mezcla HTML, Java y XML en una pgina Permite a desarrolladores Web crear aplicaciones centradas en el aspecto de una aplicacin Est basado en la arquitectura de servlet Soporta el uso de beans y etiquetas personalizadas para incorporar la lgica de presentacin
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JavaServer Pages en ADF

Solicitud

Llama

Cliente

JSP Genera

Struts

Controla

Contenido dinmico Respuesta ADF Business Components

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: JSP

<%@ page contentType="text/html;charset=WINDOWS-1252"%> <html> <head> <title> Show Date </title> </head> <body> <h2> The current time is: </h2> <p> <%= new java.util.Date() %> </p> </body> </html>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Elementos Bsicos de JSP


Una JSP puede contener texto HTML y cuatro elementos principales:
Elemento Scriptlets Expresiones Sintaxis
<% if(x == null) { %> Hello! <% } %> <%= "a" + "b" %>

Objetivo Cdigo Java Cdigo Java que se evala Valores globales Declaraciones de variable

Directivas

<%@ page language="java" %> hitCount = 0; %>

Declaraciones <%! private int

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Directivas de JSP
Hay tres tipos de directivas de JSP: page include taglib
<%@ page contentType="text/html;charset=WINDOWS1252"%> <%@ include file="signature.html" %>

<%@ taglib uri="webapp/taglib.tld" prefix="mytags" %>


<html> <body> <h2> The current time is: </h2> <p> <%= new java.util.Date() %> </p> </body> </html>
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JDeveloper y JSP
JDeveloper contiene varias funciones IDE para simplificar el desarrollo de JSP: Editor visual (WYSIWYG) Paleta de Componentes Se incluyen muchas bibliotecas de etiquetas personalizadas, entre ellas:
JSTL (JSP Standard Tag Library) Apache Struts Oracle JSP ADF Data Tags

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

El Editor Visual
Proporciona edicin directa de:
Texto Elementos HTML Controles de datos

La barra de herramientas contiene herramientas de formato para:


Color Tamao de texto Formato (estilo)

Se pueden arrastrar definiciones CSS a una pgina


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu son las Etiquetas Personalizadas?


Las etiquetas personalizadas se desarrollan en Java, y se definen y utilizan con sintaxis XML. Las etiquetas se utilizan en una JSP para reducir o restringir la cantidad de scriptlets de Java de la pgina. Las etiquetas son tiles para definir tareas recurrentes como el acceso a una base de datos o el envo de un mensaje de correo electrnico. Las etiquetas personalizadas se empaquetan en bibliotecas:
Se empaquetan como archivos .jar Se definen en un archivo .tld
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Bibliotecas de Etiquetas


Las bibliotecas de etiquetas se utilizan en una JSP mediante: Definicin de la ubicacin de la biblioteca de etiquetas mediante la directiva taglib Creacin de un prefijo para hacer referencia a la biblioteca de etiquetas en la JSP

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

Uso del prefijo para llamar a una etiqueta y especificar atributos si es necesario

<c:out value="avalue"></c:out>
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JSP Standard Tag Library


JSTL (JSP Standard Tag Library) se est desarrollando segn Java Community Process. Proporciona un juego estndar y comn de etiquetas personalizadas para: Iteracin, procesamiento condicional y soporte de lenguaje de expresin Anlisis y transformacin de documentos XML Formato y anlisis de cadenas, fechas y divisas para la internacionalizacin Acceso a base de datos y manipulacin de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Etiquetas de Struts
La tecnologa Apache Struts contiene una biblioteca de etiquetas personalizadas para su uso con las JSP. Hay varias categoras de bibliotecas de Struts disponibles en la paleta de componentes, entre ellas: Struts HTML Logic Struts Beans Templates Nested Tiles
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Etiquetas de Enlace de Datos


Data Control Palette contiene objetos que se asignan a los componentes de negocio del espacio de trabajo. Los controles se pueden incluir en la JSP con diferentes formatos, en funcin del tipo de componente de modelo que representen:
Texto de entrada (elemento individual) Pantalla de entrada (objeto de vista completo) Botn (operacin como Commit)

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Data Control Palette

Arrastre componentes de Data Control Palette al editor visual de una JSP para mostrar datos. Utilice el recuadro de lista Drop As para seleccionar el estilo del control.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Forma de Mostrar los Datos


JSTL se utiliza para repetir y mostrar datos: <c:out value="${expr}" /> <c:forEach var="Row" ></c:forEach>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> <table border="1" width="100%"><tr> <c:forEach var="Row" items="${bindings.OrdersView1.rangeSet}"> <tr><td> <c:out value="${Row.currencyString}"> </c:out> </td>
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Tipos de Control de Objetos de Vista


Utilice tipos de componente de objetos de vista para mostrar todos los datos de un objeto de vista. Suelte el objeto de vista como uno de los siguientes tipos de control: Table Dynamic Table Navigation Buttons Input Form Read-Only Form Select Row Link Graph Navigation List

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Tipos de Control de Elementos de Objetos de Vista


Para mostrar un control de datos que representa un elemento de objeto de vista nico, seleccione el elemento en Data Control Palette y agrguelo a la JSP como: Value Label Input Field Password Field

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Operaciones
Las operaciones son acciones de datos que interactan con un objeto de vista completo o con un mdulo de aplicacin completo. Entre ellas se incluyen: Create: crea una nueva fila en el objeto de vista Find: navega a una fila concreta en el objeto de vista Delete: elimina la fila actual Execute: enva una consulta Navigation sets (First Set, Last Set, First y Next) Commit: confirma un mdulo de aplicacin completo Rollback: realiza rollback de los cambios en un mdulo de aplicacin
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Personalizacin de Controles
Seleccione View > Property Inspector para modificar las propiedades de control. Para las operaciones, tambin puede hacer clic dos veces en el botn para modificar el nombre y el valor.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JSP frente a UIX


Una vista ADF tambin se puede crear como una pgina UIX: Hay ms componentes visuales disponibles en UIX. Data Control Palette se puede utilizar para crear pginas UIX de enlace de datos.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Crear pginas JSP que utilizan scriptlets, expresiones y declaraciones para generar contenido dinmico Incorporar bibliotecas de etiquetas en pginas JSP para fomentar el diseo centrado en componentes de las aplicaciones JSP Agregar ADF Business Components a una JSP a travs de Data Control Palette

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 10-1: Visin General


Esta prctica cubre los temas siguientes: Creacin de una JSP para conexin de usuario Creacin de navegacin a otra JSP Creacin de una JSP para editar e insertar datos de clientes

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Personalizacin de Acciones

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para hacer lo siguiente: Describir la estructura y los elementos XML de Struts Describir la anatoma de una accin Utilizar el mtodo de ejecucin para mejorar el comportamiento de una accin Describir el uso de los beans de pantalla Utilizar un bean de pantalla dinmico

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Archivo de Configuracin de Struts


Es un archivo de tipo XML Es el descriptor de recursos de aplicacin El servlet lo utiliza para determinar las acciones que se van a realizar
<struts-config> <action-mappings> <action path="/action1"/> <forward name="success" path="/page1.do"/> </action> </action-mappings> <message-resources parameter="view.ApplicationResources"/> </struts-config>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Clase de Accin


En el men contextual, seleccione Go to Code. O haga clic dos veces en la accin. Especifique un nombre para la accin.

/auth

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Cdigo por Defecto de una Accin

public class AuthUserAction extends Action { /* This is the main action called from the Struts framework.*/ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { return mapping.findForward("success"); } }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Reenvos
success

Los reenvos se pueden definir: Mediante el uso del diagrama de flujo de /authUser pginas En el archivo XML En el panel Structure

/page1

failure /page2

<action path="/authUser" type="view.AuthUserAction"> <forward path="/page1.do" name="success"/> <forward path="/page2.do" name="failure"/> </action>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ActionForward de una Clase de Accin


El parmetro de retorno de ActionForward especifica dnde enviar el control. La nomenclatura por defecto de un reenvo simple es success. El mtodo execute()se puede personalizar:
Se puede agregar ms cdigo. Se pueden especificar otros reenvos. Se realiza un reenvo adecuado para una prueba condicional.

El nombre de reenvo representa un nombre lgico. Un reenvo tambin puede ser un reenvo global.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Reenvos Globales


Un reenvo global es como cualquier reenvo, pero cualquier accin puede acceder a l. El reenvo global se define en el archivo de configuracin.
<global-forwards> <forward name="help" path="/help.do"/> </global-forwards>

El reenvo global se especifica en la clase de accin.


return mapping.findForward("help");

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Beans de Pantalla
User Name Password Logon

Conexin

Envo authUser

Rellena

logonBean men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Beans de Pantalla
Un bean de pantalla se utiliza para transportar datos entre una pgina y una accin. Puede ser esttico:
Se define como una clase FormBean Contiene mtodos set(), get(), y reset()para cada campo Contiene un mtodo validate() para verificar la entrada de usuario

Puede ser dinmico:


Cada campo est especificado en struts.config.xml No requiere cdigo Java

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Bean de Pantalla Esttico


Cree una accin en el editor de flujo de pginas. Haga clic con el botn derecho del mouse y seleccione Go to FormBean. Especifique un nombre (agregue al nombre el sufijo Form).

/authUser

Aparece un nuevo icono.


/authUser
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Bean de Pantalla Esttico

public class AuthUserActionForm extends ActionForm { String username; public String getUsername() { return username; } public void setUsername(String newUsername) { username=newUsername; } public void reset( public ActionErrors validate( }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Beans de Pantalla Dinmicos


Se trata de una forma alternativa de conseguir que una accin tenga acceso a los campos entrantes de una pgina. La clase de bean de pantalla no es necesaria. Los mtodos definidores (set) y de obtencin (get) no son necesarios. Los nombres de campo se especifican en el archivo struts-config.xml. Se pueden agregar nuevos campos de forma dinmica.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Pantalla Dinmica


1. Cree un bean de pantalla desde el panel Structure. 2. Especifique org.apache.struts.action.DynaActionForm como el tipo para el bean. 3. Cree una nueva propiedad de pantalla para cada campo.
<form-bean name="logonBean" type="org.apache.struts.action.DynaActionForm"> <form-property name="username" type="java.lang.String"/>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Bean en una Accin


Mediante el uso de un bean esttico:
Cree y convierta el tipo ActionForm Utilice el mtodo getXxx()
AuthUserActionForm authForm = (AuthUserActionForm) form; String username=authForm.getUsername();

Mediante el uso de un bean dinmico:


Convierta el objeto de pantalla transferido al mtodo execute()a un tipo DynaActionForm
String username=(String)((DynaActionForm)form).get("username");

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo


<action-mappings> <action path="/logon forward="/logon.jsp"/> <action path="/authUser" name="logonBean" type="view.AuthUserAction"> <forward path="/logon.do name="failure"/> <forward path="/menu.do name="success"/> </action> <action path="/menu" forward="/menu.jsp"/> </action-mappings>

Conexin

failure authUser success

men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo: Elementos Struts


<action-mappings> <action path="/logon forward="/logon.jsp"/> <action path="/authUser" name="logonBean" type=" view.AuthUserAction "> <forward path="/logon.do name="failure"/> <forward path="/menu.do name="success"/> </action> <action path="/menu" forward="/menu.jsp"/> </action-mappings>

Conexin

failure authUser success

men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo: Elementos Struts


<action-mappings> <action path="/logon forward="/logon.jsp"/>

Conexin

failure authUser success

<action path="/authUser" name="logonBean" type=" view.AuthUserAction "> <forward path="/logon.do name="failure"/> <forward path="/menu.do name="success"/> </action>
<action path="/menu" forward="/menu.jsp"/> </action-mappings>

men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo: Bean de Pantalla


User Name Password Logon

Conexin

failure authUser success

Envo

logonBean men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo: Bean de Pantalla

Conexin
<form-beans> <form-bean name="logonBean" type="org.apache.struts. action.DynaActionForm"> <form-property name="username" type="java.lang.String"/> <form-property name="password" type="java.lang.String"/> </form-bean> </form-beans>

failure authUser success

men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo


User Name Password Logon

Conexin

failure authUser success

Envo

Transferido a

Rellena

logonBean men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo: Clase de Accin

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { DynaActionForm LAF = (DynaActionForm) form; String un = (String)LAF.get("username"); String pw = (String)LAF.get("password"); if (un.equals("Scott")) { return mapping.findForward("success"); } else return mapping.findForward("failure"); }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Flujo de Pginas de Ejemplo


User Name Password Logon

Conexin

failure authUser success

Envo

Transferido a

Rellena

logonBean men

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Beans de Pantalla, Acciones de Datos y Pginas de Datos


ADF crea un bean de pantalla de forma automtica cuando se crean:
Acciones de datos Pginas de datos

El bean de pantalla ADF se denomina DataForm. DataForms no requiere cdigo personalizado:


No es necesaria ninguna clase de bean de pantalla esttico. No es necesaria ninguna declaracin de bean de pantalla dinmico.

ADF utiliza estos objetos para gestionar los datos de pantalla.


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Describir la estructura y los elementos XML de Struts Describir la anatoma de una accin Utilizar el mtodo de ejecucin para mejorar el comportamiento de una accin Describir el uso de los beans de pantalla Utilizar un bean de pantalla dinmico

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 11-1: Visin General


Esta prctica cubre los siguientes temas: Uso del diagrama de flujo de pginas Adicin de acciones de datos Adicin de pginas de datos Creacin de beans de pantalla

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Componentes Struts de ADF

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Describir acciones de datos y pginas de datos Personalizar acciones de datos y pginas de datos para mejorar el comportamiento de una aplicacin Utilizar acciones de datos para acceder a varios tipos de servicios de negocio Describir la relacin entre pginas de datos enlazados y pginas de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu son las Acciones de Datos?


Las acciones de datos son extensiones de la clase Action, que: Se proporcionan con Oracle ADF Proporcionan acceso a servicios de negocio, como Business Components Preparan los datos para que estn disponibles para que las pginas los consuman

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu son las Pginas de Datos?


Las pginas de datos son extensiones de la clase DataAction, que: Se proporcionan con Oracle ADF Combinan una accin de datos y un reenvo de pgina No se basan en reenvos para reenviar datos de aplicacin Simplifican el diagrama de flujo de pginas

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Pginas de Datos


Para utilizar una pgina de datos, realice los siguientes pasos: 1. Cree la pgina de datos en el diagrama de flujo de pginas. 2. Haga clic dos veces para crear el objeto de vista correspondiente (JSP, HTML y UIX). 3. Defina el flujo de pginas de Struts que sea necesario. 4. Agregue mtodos de servicios de negocio a la pgina de datos segn sea necesario.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Pginas de Datos

Arrastre la pgina de /browseCustomer datos al diagrama de flujo de pginas. El archivo strutsconfig.xml se actualiza mediante la accin de datos. <action-mappings> <action path="/browseCustomers" className="oracle.adf.controller.struts.actions.DataActi onMapping" type="oracle.adf.controller.struts.actions.DataForwardAc tion" name="DataForm" parameter="unknown"/> </action-mappings>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Componentes de Vista


Haga clic dos veces en la pgina de datos para crear el componente de vista.
/browseCustomer
<action-mappings> <action path="/browseCustomers" className="oracle.adf.controller.struts.actions.DataActi onMapping" type="oracle.adf.controller.struts.actions.DataForwardAc tion" name="DataForm" parameter="/browseCustomers.jsp"> <set-property property="modelReference" value="browseCustomersUIModel"/> </action></action-mappings>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visualizacin de Datos
Para mostrar datos desde la pgina de datos, agregue elementos desde Data Control Palette: Datos enlazados Navegacin Operaciones Los controles de datos asociados a la accin de datos se definen en DataBindings.cpx (se crean automticamente).

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visualizacin de Datos
Seleccione elementos desde Data Control Palette y arrstrelos hasta la pgina:

Cdigo generado
<c:forEach var="Row" items="${bindings.CustomersView1.range Set}"> <tr><td> <c:out value="${Row.CustomerId}"> </c:out></td>
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Modificacin del Iterador


Haga clic en el icono UIModel en el panel Structure para localizar el iterador del modelo. Despus, utilice Property Inspector para cambiar el tamao de rango.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Mtodos a Acciones de Datos


Para realizar DML con acciones de datos, agregue mtodos a la accin de datos:
Arrastre hasta el icono de pgina de datos /browseCustomer /addCustomer

<action path="/addCustomers" <set-property property="methodName" value="addCustomersUIModel.Create"/> </action>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Mtodos a Pginas de Datos


Arrastre y suelte mtodos desde Data Control Palette para agregar mtodos a una pgina de datos:
Create

setCurrentRowWithKey

Delete
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Navegacin en Pginas de Datos


La etiqueta HTML Form se ejecuta a s misma por defecto. Cambie la accin a la pgina que recibe los datos de pantalla. Utilice Property Inspector para cambiar el valor de action.
Seleccione la accin o pgina de datos que recibe los datos de pantalla.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ciclo de Vida de Acciones de Datos


1. Inicializar el contexto
Obtener solicitud HTTP Obtener informacin de enlace

2. Crear lista de eventos 3. Comprobar los enlaces de modelos 4. Comprobar si se permiten actualizaciones 5. Procesar actualizaciones

8. Llamar a mtodos personalizados 9. Refrescar controles de enlace 10. Distribuir para reenviar

6. Validar actualizaciones 7. Manejar eventos de interfaz de usuario y modelos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Personalizacin de Acciones de Datos


Los mtodos de accin de datos se pueden personalizar para proporcionar funcionalidad a: Una accin de datos que tenga dos posibles reenvos:
protected ActionForward findForward() { Object s = request.getParameter("Update"); if (s != null) { return getActionMapping().findForward("success"); } else return getActionMapping().findForward("browse"); }

Cualquier funcionalidad personalizada:


Protected void invokeCustomMethod(DataActionContext ac) { }
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Eventos de Acciones de Datos


La operaciones incorporadas se enumeran en el archivo UIModel.xml: Definidas mediante:
Arrastrando la operacin desde Data Control Palette Creacin explcita en el panel Structure

Llamadas mediante:
Botn con el nombre event_<operation>, por ejemplo, event_Commit. Enlace de hipertexto con un parmetro event=< operation>, por ejemplo, event=Commit.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Eventos de Acciones de Datos


Uso de eventos incorporados, puede definir sus propias operaciones: Definidas mediante:
Codificacin de un mtodo on<CustEvent>() en la accin de datos Botn con el nombre event_< CustEvent >, por ejemplo, event_ Help. Botn con el nombre event y el valor <CustEvent>, por ejemplo, name=event value=Help. Enlace de hipertexto con un parmetro event=< operation>, por ejemplo, event=Commit.

Llamadas mediante:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo de on<Event>: Eventos Incorporados


Ampliacin de un evento incorporado denominado
?event=commit

public void onCommit(DataActionContext ctx) { HttpSession session = ctx.getHttpServletRequest().getSession(); Boolean loggedOn = (Boolean)session.getAttribute("AUTHFLAG"); if (loggedOn.booleanValue()) { ctx.getEventActionBinding().doIt(); } }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo de on<Event>: Eventos Personalizados


Llamada a una operacin personalizada
event=foo

public void onFoo(DataActionContext ctx) { // just direct the flow to the "foo" forward ctx.setActionForward("foo"); }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Reenvos y Eventos en Aplicaciones ADF


Asigne el mismo nombre a los componentes de reenvo relacionados que a los botones de ejecucin para enviar primero a la pgina y luego al destino de reenvo. addCustomers.jsp:
<html:form action="/addCustomers.do"> <input name="event_Add" type="submit" value="Submit"/>
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Crear pginas de datos asignadas a servicios de negocio Crear aplicaciones Web que utilicen pginas de datos Personalizar acciones de datos y pginas de datos para mejorar el comportamiento de una aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 12-1: Visin General


Esta prctica cubre los siguientes temas: Creacin de acciones de datos Adicin de mtodos a acciones de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Manejo de Errores y Validacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Validar la entrada de pantalla Utilizar la validacin declarativa Utilizar la validacin en el cliente Utilizar las indicaciones de control para modificar la vista

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visin General de Validacin


Mtodo validate() de bean de pantalla, validador de Struts Validadores de mtodo,indicaciones de control

JSP

Bean de pantalla de Struts

Accin de Struts

ADF Business Components

JavaScript

Nuevos mtodos de validacin


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Necesidad de Validacin
Por lo general, en las aplicaciones Web, el usuario no recibe formacin sobre cmo completar los campos correctamente. As, una aplicacin debe proporcionar feedback al usuario para estos tipos de acciones: Introduccin de valores necesarios Especificacin de valores dentro de un rango especificado Comparacin de valores
Por ejemplo, Password1 se debe corresponder con Password2.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validacin del Cliente


Para realizar la validacin mediante Struts debe: 1. Crear una clase de bean de pantalla 2. sobrescribir el mtodo validate() de bean de pantalla, transfiriendo un error a la accin 3. Crear el mensaje de error en ApplicationResources.properties 4. Agregar el atributo de entrada para la pantalla a la accin para indicar dnde debe aparecer el mensaje de error

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mtodo de Validacin de Bean de Pantalla


El bean de pantalla contiene un mtodo validate() para validar campos de pantalla. sobrescriba este mtodo para realizar la validacin personalizada:
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if ((username == null) || (username.trim().equals(""))) { errors.add("username", new ActionError("error.username.required")); } return errors; }
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin del Mensaje de Error


Para mostrar el mensaje de error, especifique el mensaje en ApplicationResources.properties:
error.username.required=The Username Value must be Supplied

Defina dnde se va a mostrar el mensaje de error mediante el atributo input:


<action name="logonbean" path="/logon" input="showLogon.jsp" type="view.LogonAction">

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Impresin de Errores en JSP


Asegrese de que la JSP contiene una etiqueta <html:errors>:
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ page contentType="text/html;charset=windows-1252"%> <html> <body> <html:errors />

Observe que puede especificar el atributo de propiedad de la etiqueta <html:errors> para imprimir slo el error correspondiente:
<html:text property="username"></html:text> <html:errors property="username" />

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validacin de Acciones
Un segundo tipo de validacin consiste en sobrescribir el mtodo de ejecucin en la clase de accin. Este tipo de validacin es til cuando: Se han creado previamente clases que comprueben la validez de un valor determinado El usuario no desea que los valores de pantalla se reestablezcan tras la validacin La lgica de validacin es compleja

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Clase de Validacin


El primer paso para validar la entrada de usuario es crear un mtodo para la validacin. Esto se puede hacer en un archivo de clase sencillo, como se muestra:
package view; public class LoginValidation { boolean checkUsernamePassword(String un, String pw) { if ( un.equals("scott") && pw.equals("tiger") ) return true; else return false; } }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

El Mtodo execute()
Para validar la entrada de usuario en la clase de accin, sobrescriba el mtodo execute(), llamando al mtodo de validacin:
public ActionForward execute { LogonActionForm logonForm = (LogonActionForm) form; String un = logonForm.getUsername(); String pw = logonForm.getPassword(); LoginValidation loginvalidation = new LoginValidation(); if ( loginvalidation.checkUsernamePassword(un,pw)) { return mapping.findForward("success"); } else return mapping.findForward("failure"); }

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resultados de Validacin
1. El usuario introduce una conexin incorrecta (validacin de accin). 2. El usuario no introduce datos (validacin de bean de pantalla).

3. El usuario introduce unaconexin correcta.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validador de Struts
Valide de forma declarativa campos de pantalla mediante el validador de Struts. El plugin del validador: Est basado en XML
validator-rules.xml (reglas de validacin) validations.xml (usos)

Define las reglas de cada campo en un bean de pantalla Puede proporcionar la validacin de cliente mediante JavaScript Es ampliable

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Configuracin del Validador de Struts


1. Especifique la clase de validador en la etiqueta <plug-in> de struts-config.xml. 2. Agregue validation-rules.xml al proyecto. 3. Modifique la clase de bean de pantalla a la subclase ValidatorForm o DynaValidatorForm. 4. Cree un archivo de uso para especificar las reglas de campo de pantalla. 5. Agregue mensajes de error a ApplicationResources.properties.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Validador de Struts


Agregue ValidatorPlugIn a la etiqueta <plug-in> y especifique la ruta para validator-rules.xml y validation.xml:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Validador de Struts


Especifique el bean de pantalla para utilizar el validador de Struts mediante la subclasificacin de ValidatorForm o DynaValidatorForm:
import org.apache.struts.validator.ValidatorForm; public class LogonActionForm extends ValidatorForm {

Cree validation.xml para validar campos de pantalla y asegrese de que todos los campos de pantalla que se van a validar contienen una entrada en ApplicationResources.properties:
Logon.username=username Logon.password=password

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

validation.xml: Ejemplo

<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd "> <form-validation> <formset> <form name="logonbean"> <field property="password" depends="required" > <arg0 key="logon.password" /> </field> </form> </formset> </form-valiidation>

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Salida del Validador de Struts


Los mensajes del validador se pueden mostrar en la pgina o en una ventana de JavaScript:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Manejo de Excepciones
Para implementar el manejo de excepciones: 1. Cree una clase para el manejo de excepciones, que subclasifique org.apache.struts.action.ExceptionHandler 2. Sustituya el mtodo execute()para procesar la excepcin 3. Devuelva un objeto ActionForward 4. Configure el manejador de excepciones en el archivo struts-config.xml 5. Cree un mensaje de excepcin en ApplicationResources.properties

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

JavaScript
JavaScript se soporta en JDeveloper como una manera sencilla de incorporar la validacin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mejora de la Vista
Utilice las indicaciones de control para modificar el modo en que un atributo se muestra en un cliente.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Validar la entrada de pantalla mediante:
El mtodo validate() La clase de accin El validador de Struts

Desarrollar la validacin de JavaScript Personalizar la vista mediante indicaciones de control

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 13-1: Visin General


Esta prctica cubre los siguientes temas: Validacin de campos de pantalla mediante el mtodo validate() Creacin de mtodos de validacin Llamada a mtodos de validacin desde acciones Uso del Validador de Struts Manejo de excepciones

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mejora de la Interfaz de Usuario

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Utilizar el inspector de propiedades para modificar componentes visuales Utilizar el panel Structure para modificar elementos de datos Agregar elementos de navegacin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Modificacin de Propiedades de Componentes Visuales


Para modificar la apariencia de un objeto en el editor visual puede utilizar: Barra de herramientas de formato del editor visual de HTML/JSP:

Inspector de propiedades:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de la Barra de Herramientas para Formatear Objetos


Lista Lista desplegable desplegable Tamao de estilo de fuente de fuente Color de primer plano Color de fondo

Negrita/ Alinear a la cursiva/ izquierda/ subrayado centrar/a la derecha

Lista con nmeros/ con vietas

Disminuir/ aumentar sangrado

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Inspector de Propiedades


El inspector de propiedades: Muestra atributos de la etiqueta o etiquetas seleccionadas Muestra la interseccin o unin de atributos para varias etiquetas seleccionadas Distingue visualmente atributos modificados

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Imgenes a JSP


Para agregar imgenes a las JSP, arrastre un archivo de imagen al editor visual:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Hojas de Estilo


Puede utilizar los siguientes tipos: Hojas de estilo disponibles en JDeveloper:
Oracle BLAF (Browser Look and Feel) JDeveloper

Hojas de estilo que se agregan a Component Palette

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Edicin de Hojas de Estilo por Defecto


Para modificar una hoja de estilo existente, brala en el editor de cdigos: Asistente de cdigo (Code Insight) disponible para archivos CSS. Al guardar el archivo se actualiza la CSS para el espacio de trabajo de aplicacin actual.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Nueva Hoja de Estilo


New Gallery

CSS File

Create Cascading Stylesheet


HTML

untitled1.css

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Edicin de Hojas de Estilo

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de una Hoja de Estilo a la Paleta de Componentes


Para agregar una hoja de estilo: 1. Seleccione CSS de la lista desplegable. 2. Haga clic con el botn derecho del mouse en Component Palette. 3. Seleccione Add Component. 4. Haga clic en Browse para elegir archivo. 5. Introduzca un nombre.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Aplicacin de una Hoja de Estilo a una Pgina

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Botones a una JSP

Botones de accin de pantalla: Submit y Reset Botones de control de datos


Modelo: Commit y Rollback Vista: Navigation y DML

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Botones de Control de Datos


Botones de control de datos: Se agregan a la JSP desde la paleta de Operaciones control de datos de vista Se relacionan con datos en la pgina Cuando se relacionan con la vista, pueden controlar Operacione de modelo la navegacin o iniciar DML Cuando se relacionan con el modelo, pueden confirmar los cambios (commit) o realizar un rollback
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Botones de Navegacin


Data Control Palette DepartmentsView1

Drop As: Navigation Buttons

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Botones de Accin de Pantalla

Cursor

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Funcionalidades Complementarias para Botones

Utilice eventos de botones. Se llevan a cabo la accin de pantalla ms los eventos definidos.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Lenguajes de Expresin


El lenguaje de expresin: Se utiliza en combinacin con etiquetas JSTL Es un modo de proporcionar contenido dinmico sin expresiones JSP o archivos de comandos
Uso de una expresin JSP para acceder a un atributo:
<x:aTag att= "<%= pageContext.getAttribute("aName") %>">

La sintaxis ms simple de lenguaje de expresin:


<x:aTag att= "${aName}">

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Atributos EL
Para hacer referencia a atributos: Pngalos entre ${} Andelos mediante notacin de puntos o [] Incluya mbito de manera opcional

<c:out value= "${sessionScope.cart.numberOfItems} ">

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Operadores y Literales EL


Literales: valores que no empiezan por ${

<c:out value="Hello ${customer.firstName}"/>

Operadores

<c:if test="${bean1.a < 3}" />

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de Objetos Implcitos EL


Cuando se hace referencia al objeto por el nombre, se devuelve el objeto en lugar del atributo correspondiente. Ejemplos: ${pageContext} devuelve el objeto pageContext. ${pageContext.request.contextPath} devuelve la ruta de acceso de contexto (obtenida desde HttpServletRequest). ${sessionScope.cart.numberOfItems} devuelve la propiedad numberOfItems del atributo de mbito de sesin denominado cart. ${param["mycom.productId"]} devuelve el valor String del parmetro mycom.productId.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso de EL para Personalizar una Pgina

Se puede agregar lgica de visualizacin condicional mediante EL Por ejemplo, se muestra un mensaje y valor slo si el valor no est vaco.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Utilizar el inspector de propiedades para modificar componentes visuales Utilizar el panel Structure para modificar elementos de datos Utilizar EL para agregar lgica de visualizacin condicional

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 14: Visin General


Esta prctica cubre los siguientes temas: Modificacin de elementos visuales de una JSP
Uso de la barra de herramientas de formato Uso del Inspector de Propiedades

Adicin de botones de navegacin a una JSP Adicin de un botn a una JSP que llama a una pgina Web externa Creacin de una hoja de estilo y su aplicacin a la JSP

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Seguridad de JAAS al Cliente

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Describir cmo funciona JAAS (Java Authentication and Authorization Services) en una aplicacin Web Utilizar JAAS para agregar seguridad a una aplicacin Agregar usuarios y roles a un descriptor de despliegue de la aplicacin Agregar seguridad de JAAS a una aplicacin Web

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Proveedor de JAAS
El proveedor de JAAS soporta:
Almacenamiento, recuperacin y administracin de: - Informacin de dominios (usuarios y roles) - Poltica (permisos) Repositorios mltiples: - Basados en XML - Basados en LDAP Mdulos de conexin

Funciona con el modelo de seguridad declarativo de J2EE:


Forma parte del modelo de despliegue Necesita poca o ninguna programacin
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin de las Necesidades de Seguridad


Determinar los roles lgicos en una aplicacin:
Cliente Comprador Administrador

Determinar las restricciones de autorizacin: quin puede hacer qu. Decidir el tipo de proveedor:
Archivo plano basado en XML LDAP (Oracle Internet Directory)

Asignar roles de seguridad a usuarios y grupos.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Implementacin de Oracle JASS: JAZN


OC4J (OracleAS Containers for J2EE) implementa un proveedor de JAAS denominado JAZN. El proveedor de Oracle soporta:
Integracin con SSO (conexin nica) Control de acceso a travs de permisos Java 2 Almacenamiento protegido de contraseas de usuario basado en un archivo

JAZNUserManager
Oculta contraseas en un almacenamiento de archivos planos Soporta un control de acceso total basado en roles Soporta completamente un modelo de permisos Java 2
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Autenticacin de Clientes
Autenticacin:
Determina quines son los clientes Lo pueden demostrar?

JAAS integra un nmero cualquiera de esquemas de autenticacin, por ejemplo:


SSO: utiliza OracleAS Single Sign-On SSL: utiliza SSL (Secure Sockets Layer) para la autenticacin de clientes basada en certificados Autenticacin bsica: solicita el nombre de usuario y la contrasea Escriba su propio mdulo de conexin.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Autorizacin de Clientes
La autorizacin de clientes se especifica en descriptores de despliegue J2EE. Cada cliente obtiene un principal de seguridad. Un cliente puede llamar a una URL o un mtodo slo si el rol del cliente tiene los derechos asociados. El contenedor J2EE aplica las polticas de seguridad y proporciona herramientas para gestionar la seguridad. Struts incluye roles en el nivel de nodo.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Supuesto Bsico de Autenticacin


Oracle Containers for J2EE WebApp Cliente HTTP Servlet 1 Servlet 2

OracleAS

JAAS

JAZNUserManager Servidor HTTP JAAS Poltica de OracleAS JAAS

Proveedor de OracleAS JAZN

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Seguridad de JAAS a una Aplicacin


JDeveloper proporciona un recuadro de dilogo para ayudar a agregar seguridad de JAAS a una aplicacin. Al utilizarlo, no tiene que editar los archivos XML de forma directa. Los valores de seguridad se mantienen en el archivo web.xml. Acceda a los valores:
Haga clic con el botn derecho del mouse en web.xml en el navegador de aplicaciones. Seleccione las propiedades en el men contextual.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Informacin de Autorizacin a Struts

La configuracin de Struts incluye un esquema de autorizacin. El esquema especifica la autorizacin en el nivel de nodo. Especifique el rol autorizado en el inspector de propiedades.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Propiedades de web.xml
Para implementar la seguridad de JAAS, modifique: Roles de seguridad: agregue el rol de seguridad que desee utilizar. Agregue un recurso Web:
Especifique cualquier nombre nico. Agregue un patrn de URL para validar. En la pgina del separador Authorizations, seleccione el rol de usuario.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resultados de web.xml
<web-app> <security-constraint> <web-resource-collection> <web-resource-name>TestApplication</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <auth-constraint> <role-name>users</role-name> </auth-constraint> </security-constraint> <security-role> <role-name>users</role-name> </security-role> </web-app>
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Usuarios y Roles


JDeveloper proporciona una interfaz de asistente al archivo jazn-data.xml. Seleccione Tools > Embedded OC4J Server Preferences.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Usuarios

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Gestin de Roles

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Seleccin de un Archivo jazn-data.xml Especfico


JDeveloper le permite especificar qu archivo JAZN se debe utilizar durante el tiempo de ejecucin en la configuracin de aplicacin. Para cambiar archivos:
Haga clic con el botn derecho del mouse en el mdulo de aplicacin Seleccione las configuraciones Edite la propiedad jbo.security.config Introduzca la ruta de acceso al archivo jazn-data.xml

Esto le ofrece flexibilidad de despliegue y pruebas. Para utilizar LDAP, cambie el archivo jazn.xml.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejecucin de la Aplicacin
Compruebe la aplicacin. Los prompts del explorador para el nombre de usuario y la contrasea. La aplicacin se abre si se autentica y autoriza al usuario. Si alguno de estos falla, la aplicacin no tiene autorizacin para ejecutarse.
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Utilizar JAAS para agregar seguridad a una aplicacin Agregar usuarios y roles a un descriptor de despliegue de la aplicacin Agregar seguridad de JAAS a una aplicacin Web Describir cmo funciona JAAS en una aplicacin Web

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de Componentes de Vista UIX de ADF

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finali0zar esta leccin, debera estar capacitado para: Describir las caractersticas de UIX de ADF Definir la estructura de una pgina XML de UIX Crear una pgina XML de UIX Agregar componentes a una pgina XML de UIX Crear pginas centradas en datos con componentes de datos Ejecutar y probar una pgina XML de UIX

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Por qu Tecnologas UIX de ADF?


Ventajas de tiempo de diseo
WYSIWYG/Entorno de desarrollo declarativo Marco abierto y flexible Personalizacin Flujo de trabajo de diseo perfeccionado Estndar Independencia de plataforma Soporte de internacionalizacin y de accesibilidad Interactividad alta

Ventajas de tiempo de ejecucin


Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Qu son las Tecnologas UIX de ADF?


Las tecnologas UIX de ADF son un marco basado en el modelo MVC.
Componentes de la interfaz de usuario Vista Servlet Controlador

Modelo Cualquier origen de datos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Cmo Funcionan las Tecnologas UIX de ADF?


1. Los componentes UIX de ADF estn ensamblados. 2. Se presentan en pginas de marcas. 3. Se entregan a una variedad de clientes.

Pgina UIX

Marca

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Diseo de Pgina XML de UIX

1. 2. 3. 4. 5.

Cabecera de pgina Separadores y navegacin Botones globales rea de componentes de datos Pie de pgina

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Nodos de Interfaz
Cada pgina se divide en un juego jerrquico de nodos y cada nodo corresponde a una seccin especfica de la pgina.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Cmo se Codifica?
XML de UIX es un dialecto del lenguaje XML para la creacin de pginas UIX de ADF de forma declarativa.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Soporte de Internacionalizacin
UIX soporta intrpretes especficos de cliente que: Son porttiles a diferentes cdigos locales, fuentes, plataformas y exploradores Procesan el texto independientemente de las imgenes (imagen local) Utilizan hojas de estilo en cascada en tiempo de ejecucin con la informacin de estilo de entorno

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Componentes de Interfaz de Usuario


Las pginas XML de UIX estn formadas por componentes de interfaz, que se pueden clasificar en tres tipos: Simples De diseo Compuestos

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Diseo Declarativo Modular

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Pgina XML de UIX

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Marca de Compaa y de Producto

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Separadores de Pgina

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Botones Globales

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Pies de Pgina

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Diseo con el Editor Visual

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Codificacin con el Editor XML

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Pgina XML de UIX en Tiempo de Ejecucin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Adicin de Datos a la Pgina


ADF Business Components es un tipo de componente de datos que se puede agregar a una pgina XML de UIX.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Diseo de Componentes de Datos de Tiempo


Utilice Data Control Palette para incluir los componentes de datos en la pgina. Modifique los prompts u otros atributos con el inspector de propiedades.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Enlace de Datos en el Editor Visual

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Pgina XML de UIX con Enlace de Datos en Tiempo de Ejecucin

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Definir y discriminar los componentes XML de UIX de ADF Construir una pgina XML de UIX mediante el uso de asistentes Incluir elementos de datos en una pgina a partir del modelo Ejecutar y probar una pgina XML de UIX

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 16: Visin General


Esta prctica cubre: Creacin de una pgina XML de UIX Adicin de ADF Business Components Ejecucin de la pgina mediante OC4J

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Despliegue de una Aplicacin ADF

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Crear una conexin OC4J (OracleAS Containers for J2EE) remota en JDeveloper Configurar OC4J para el desarrollo de aplicaciones Utilizar el asistente JDeveloper Deployment para desplegar en OC4J Ejecutar una aplicacin JSP en OC4J

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Visin General

Servlet/JSP/HTML

Empaquetado

Despliegue

Bibliotecas y paquetes
Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Consideraciones Generales sobre el Despliegue


El empaquetado y la distribucin implican:
Archivos de clase Bibliotecas Archivos HTML

El modo de configurar el entorno de despliegue depende del servidor.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Formato de Archivado J2EE

Tipo de Archivado
JAR (Archivo Java) JAR de EJB WAR (Archivo Web) EAR (Archivo Empresarial)

Tipo de Mdulo
Mdulo cliente J2EE Mdulo EJB de J2EE Mdulo Web de J2EE No se aplica

Contenido de Software
Componentes de aplicacin Java Componentes EJB (Enterprise JavaBeans) Componentes de servlets y JSP (JavaServer Pages) Aplicacin J2EE

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Despliegue en un Servidor Web


Copie los archivos con las extensiones .jsp, .html y .gif en el directorio raz de documentos del servidor Web. Guarde los archivos de clase en un archivo (.JAR, .WAR) de archivado. Defina la ruta de acceso de la clase del servidor Web para que apunte a los archivos de archivado.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Despliegue en OC4J
OC4J es un servidor Web compatible con J2EE que se incluye con OracleAS 10g. Para desplegar en OC4J, realice los siguientes pasos: 1. Instale OC4J. 2. Inicie un servidor OC4J remoto emitiendo lo siguiente desde un prompt de comandos: <oc4j directory> java jar oc4j.jar 3. Cree una conexin OC4J en JDeveloper. 4. Despliegue el proyecto haciendo clic con el botn derecho del mouse en webapp1.deploy y seleccionando Deploy.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Instalacin de OC4J
1. Abra una ventana de comandos. 2. Navegue a <ias_Home>/j2ee/home. 3. Ejecute el siguiente comando:
% java -jar oc4j.jar -install

Este comando desempaqueta e instala OC4J. 4. Escriba una contrasea para la cuenta de administrador de OC4J.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Inicio del Servidor OC4J


Para iniciar el servidor OC4J, utilice lo siguiente desde el directorio raz de OC4J, normalmente <iAS_Home>/j2ee/home
% java -jar oc4j.jar

El servidor se puede detener a travs de los siguientes comandos:


% java -jar admin.jar ormi://localhost/ <admin> <password> -shutdown

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Conexin OC4J

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de una Conexin OC4J

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Creacin de un Perfil de Despliegue


La creacin de un perfil de despliegue permite especificar el modo en que se despliega la aplicacin J2EE:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Despliegue en OC4J

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejecucin de Aplicaciones
Para ejecutar la aplicacin desplegada, llame a la siguiente URL:
http://hostname:8888/<workspacename><projectname>-context-root/main.jsp

La raz de contexto se puede personalizar en el perfil de despliegue.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Personalizacin de Despliegue
Para cambiar los nombres de los directorios utilizados en el despliegue, haga clic dos veces en el archivo .deploy.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Resumen
En esta leccin ha aprendido a: Empaquetar las aplicaciones desarrolladas para su despliegue en un servidor Web Crear una conexin OC4J en JDeveloper Desplegar la aplicacin en Oracle9i Application Server

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Prctica 17-1: Visin General


Esta prctica cubre el despliegue de una aplicacin JSP basada en ADF BC.

Copyright 2004, Oracle. Todos los derechos reservados.

Vous aimerez peut-être aussi