manual adf

Upload: cecilia-ingrid-altamirano

Post on 09-Jul-2015

842 views

Category:

Documents


1 download

TRANSCRIPT

2009 - Powered by Fundacin Proydesa

Oracle JDeveloper 10g: Creacin de Aplicaciones con ADFPresentacin 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

ObjetivosAl 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 CursoEste 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

ObjetivosAl 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 componentesMquina 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 ArquitecturaMquina clienteExplorador

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 eficaciaCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Comprensin del Desarrollo de Aplicaciones Basado en el MarcoProporciona 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 MVCControlador 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

ModeloSolicitar 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 ModeloModelo Enlaces ADF Control de Datos ADF Servicios de NegocioBeans 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 JDeveloperJDeveloper 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

ModeloCopyright 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

ResumenEn 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

ObjetivosAl 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 Aplicaciones1. 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 Aplicacin1. 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 NuevoLa 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 PginasPara 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: EjemploMostrar 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 UsuarioAgregue HTML para mejorar la interfaz de usuario.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ResultadosHaga 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

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 WebCopyright 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 ComponentsEl 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 NegocioMdulo de aplicacin Tareas de aplicacin Manejo de transaccionesComponentes 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 NegocioLos 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 DatosUna 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 Entidad1. 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 EntidadSeleccione 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 VistaCustomer 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 Personalizadas1. 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

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 NegocioCapa de cliente Capa media Web ContainerCapa de servicios de negocio de ADF ModeloMdulo de aplicacin ADF Objeto de vista ADF Objeto de entidad ADF

Capa EIS

Controlador

Base de datos

Validacin de cliente

Validacin de lgica de negocioCopyright 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 NegocioCapa 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 GeneralObjeto 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 [email protected] [email protected]

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 entidadCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Uso del Modelador de Business Components para los Objetos de Entidad1. 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 Datoscreate 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 GeneralEsta 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: EjemploEspecifique 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.javaprotected 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 Dominio1. 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 DominioEdite 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

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 aplicacinCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Objeto de Vista en la Arquitectura ADFCapa de Cliente Capa Media Web ContainerCapa de servicios de negocio de ADF Modelo ControladorMdulo 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 GeneralObjeto 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 SQLPriorityOrder 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() OVCopyright 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 VistaCuando 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 VistaObjeto 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 GeneralEsta 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.

2

1

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Mdulo de Aplicacin en la Arquitectura ADFCapa de Cliente Capa Media Web ContainerCapa de servicios de negocio de ADF ModeloMdulo 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.

2

1

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 GeneralObjeto 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 EntidadHay 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 entidadCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Validacin de AtributosPara 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 AtributoPara 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 AtributoPara 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 validatepublic 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 SeguroEntityImpl.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 EntidadTambin 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 booleanopublic 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 EntidadSi 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 EntityImplTambin 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 ValidacinLa 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

AsociacionesLas 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 AsociacinDos 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 OrigenOrder 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 DestinoOrder 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

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 ExpertoUtilice 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 PersonalizadosPara 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 ClienteMuestre 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 PruebaPara 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 Personalizados1. 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 WhereLa 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 JDBCcustomer_id = ?

Puede ser de estilo Oraclecustomer_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 Ejecucin1. 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

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 J2EEUtilice 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.enforce1. 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

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 ControladorCapa de Cliente Capa Media Web ContainerCapa de servicios de negocio de ADF ModeloMdulo 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 StrutsVista 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 ControladorEn 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

page1.jsp page2.jsp

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas sin Controlador

page1.jsp page2.jsp

page1a.jspCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas sin Controlador

page1.jsp page2.jsp

page1a.jspCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas sin Controlador

page1.jsp

page2.jsp

page1a.jspCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas con ControladorControlador Siguiente Anterior

page1.jsp

page2.jsp

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Ejemplo: Flujo de Pginas con ControladorControlador Siguiente Anterior

Siguiente

Anterior

page1.jsp

page2.jsp

page1a.jspCopyright 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 StrutsVista

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 StrutsSolicitud HTTP

Struts Servlet de controlador

Accin Pantalla validate()

Accin

Modeloexecute()

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 : dirige el controlador a la accin correcta que se ejecuta : muestra los errores que devuelve el modelo, incluida la validacin : 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 valorlink.logonpage = Click here to Login

Se utiliza con las etiquetas Struts y las rutinas de error

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Internacionalizacin de la AplicacinPara 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.

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin del Contenido del Archivo struts-config.xmlEl panel de estructuras y el inspector de propiedades

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin del Contenido del Archivo struts-config.xmlUso del Editor de Configuracin de Struts

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Definicin del Contenido del Archivo struts-config.xmlEl Diagrama de Flujo de Pginas de Struts y Component Palette

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: AccionesPara 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 enlaceCopyright 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 DataPageADF 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 enlazadosCopyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

ResumenEn 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 GeneralEsta 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

ObjetivosAl 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 presentacinCopyright 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

Show Date The current time is:

Copyright 2004, Oracle. Todos los derechos reservados.

2009 - Powered by Fundacin Proydesa

Elementos Bsicos de JSPUna JSP puede contener texto HTML y cuatro elementos principales:Elemento Scriptlets Expresiones Sintaxis Hello!

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

Directivas

hitCount = 0; %>

Declaraciones 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 - Powe