Capa de Persistencia Daniel Fernández Lanvin.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Acceso a Bases de Datos con Java
Fernando Alonso Blázquez Servlets con acceso a Bases de Datos 29 de Abril de 2004.
Red Social: “Un millón de Amigos”.
Técnicas de Diseño Red Social.
Empaquetado de Entity Beans
Red Social: “Un millón de Amigos”.
Introducción a HIBERNATE
Esquema de Mapeo de Base de Datos Relacionales a Objetos
J2EE – Java 2 Enterprise Edition
Jakarta Tomcat (Contenedor de servlets/jsps)
Arquitectura Web en Aplicaciones Empresariales Java/J2EE
Arquitectura Web en Aplicaciones Empresariales Java/J2EE
Arquitectura Web en Aplicaciones Empresariales Java/J2EE Completando AMAZIN! 1.0…
Arquitectura Web en Aplicaciones Empresariales Java/J2EE Daniel Fernández Lanvin Entorno de trabajo.
Entorno de trabajo con apache ant
Arquitectura Orientada a Servicios (SOA)
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
“SISTEMA DE PASANTÍAS PARA LA FACULTAD DE INGENIERÍA
Diseño e implementación de un ambiente virtualizado para un Sistema de Administración de Contenidos usando Microsoft SharePoint con cada uno de sus componentes.
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Spring Framework v2.5.
Java 2 Platform Enterprise Edition
Características Técnicas
JAVA Persistence API (JPA)
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.
Desarrollo de sitios web con PHP y MySQL Tema 5: Sesiones José Mariano González Romano
Aplicaciones Web con Oracle y XML 5 años de experiencias Universidad de las Islas Baleares Centro de Tecnologías de la Información Daniel López.
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
UOC José Mª Casablanca González. Índice Introducción Objetivos generales y específicos Problema y posibles soluciones Características y definición.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Arquitectura Web.
Arquitectura de una aplicación
SPRING MVC.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
J2EE – Java 2 Enterprise Edition
Una solución para reporting y business intelligence: Web Data Navigator.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Contextos e Inyección Dependiente (CDI)
Eguana Reports Servidor de Reportes basado en Tecnología Java y XML Presentado por: Roy Cox S. Fernando Pérez M. José Pérez S.
Desacoplamiento de Capas
Contacta un Servlet o un JSP
Daniel Fernández Lanvin Capa de Negocio.
Daniel Fernández Lanvin Capa de Infraestructura. Daniel Fernández Lanvin Capa de Infraestructura Adyacente a todas las demás. Comprende todos aquellos.
Daniel Fernández Lanvin Capa de Presentación. Daniel Fernández Lanvin Capa de Presentación Responsabilidades Navegabilidad del sistema Formateo de los.
Nuevos Productos Macro Pro ofrece varias soluciones complementarias para cumplir con los objetivos de control y análisis de información de nuestros clientes.
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005.
1 Unidad VI Arquitectura y Componentes de un SGBD.
Juan Timoteo Ponce Ortiz
Abdelahad, Yanina Zoraida Abdelahad, Corina Natalia Perez, Norma Beatriz Abril de 2003.
FACULTAD: CIENCIAS ECONÓMICAS Y EMPRESARIALES ASIGNATURA: GESTIÓN DE CONTENIDO ELECTRÓNICO TÍTULO: TINFOPATH - VENTAJAS Y USO. AUTORA: MARIA DANIELA TOMALÁ.
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Daniel Fernández Lanvin Desacoplamiento de Capas.
Capítulo 12. Tecnología y herramientas. Ricardo García Mataix
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
J2ME J2SE wifi Proveedor Telefonía celular Encuestador móvil Base de datos Servlet WEB APP JSON Terminal usuario.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Aplicaciones en 2,3 y n capas
Aclaraciones al modelo MVC del Framework de Justicia
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
Arquitecturas de Integración Mensajería
SQL Server Compact Edition
SIGEP Presentación de Resultados SIGEP. SIGEP Ambiente de Desarrollo  Plataforma Java ( J2EE,JRE,JDK,JVM ).  Contenedor Web ( Tomcat 5 )  Control de.
Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro.
ENTERPRISE JAVA BEANS. ACCESO AL EJB EJB_HOME. Accesible mediante JNDI. Permite crear y destruir EJB. EJB_OBJECT Expone los métodos del negocio del EJB.
Transcripción de la presentación:

Capa de Persistencia Daniel Fernández Lanvin

Capa de Persistencia Responsabilidades Ofrece servicios de persistencia y recuperación de información a las capas superiores: Servicios de lógica de persistencia Ej. “insertar cliente”, “insertar factura”, etc. Independiente de la capa de negocio. Daniel Fernández Lanvin

Posibles Alternativas Capa de EJBs de entidad BMPs CMPs Beans normales de acceso a datos Framework de persistencia mapeo O/R Conjunto de conectores a otros sistemas Back Ej. JCO o Business Connector para el acceso a SAP y BIW. Integración con sistemas LEGACY Soluciones Híbridas de las anteriores. Daniel Fernández Lanvin

Capa de persistencia EJBs de Entidad CMP Container Managed Persistence El programador no se preocupa de las SQLs NEGOCIO ACCESO A DATOS MySQL EEJBCMP HELPER Daniel Fernández Lanvin

Capa de persistencia EJBs de Entidad BMP Bean Managed Persistence El programador debe desarrollar las SQLs NEGOCIO ACCESO A DATOS MySQL EEJBBMP HELPER SQLProvider Statements.xml Daniel Fernández Lanvin

Capa de persistencia Beans Acceso a Datos Beans java que ejecutan sentencias SQL contra el motor de persistencia NEGOCIO ACCESO A DATOS MySQL Session EJB SSL HELPER SQLProvider Statements.xml DBBean DTO Daniel Fernández Lanvin

Capa de persistencia Framework de Persistencia Herramientas de Mapeo Objeto/Relacional Pueden estar basadas, entre otras cosas, en EJBs de entidad Fama de bajo rendimiento Desarrollo rápido de aplicaciones Aplicaciones portables a otras bases de datos, siempre y cuando sean contempladas por el framework aplicado. Ej: Hibernate Framework Daniel Fernández Lanvin

Pool de Conexiones Técnica destinada a gestionar y reutilizar objetos. Crear objetos Connection es una de las operaciones más caras -> Abrir y cerrar conexión por cada consulta es muy costoso. Gestión adecuada de las conexiones de la base de datos Un solo usuario de base de datos para todos los usuarios de la aplicación web -> una sola licencia. Funcionamiento pool conexiones estándar: El cliente obtiene una referencia al pool Obtiene del pool una conexión abierta Ejecuta la sentencia SQL Devuelve la conexión al pool para que sea reutilizada sin ser cerrada Los Pools de conexiones NO SON SOLO PARA BBDD. Ej: Pool JCO de SAP Daniel Fernández Lanvin

Piloto con Pool de Conexiones Trabajo 11.0. Pasos: Dar de alta el pool de conexiones en TOMCAT Server.xml Modificar las clases de acceso a datos (xxxDataBean) para que recuperen la conexión del pool en lugar de abrirla y cerrarla Context ctx = new InitialContext(); if(ctx == null ) throw new Exception("Boom - No Context"); DataSource ds = (DataSource)ctx.lookup( "java:comp/env/jdbc/AmazinDB"); if (ds != null) con = ds.getConnection(); Daniel Fernández Lanvin

Externalización de SQLs SQL estándar? No existe. Lo más parecido, SQL 92 Cada proveedor ha personalizado el SQL a su propia base de datos Sentencias básicas son iguales Sentencias optimizadas NO Consecuencia: Las SQLs limitan la portabilidad del sistema. Solución: Externalizarlas a un fichero XML. Se limita el impacto de una posible migración de base de datos a tareas de configuración Permite hacer tunning mediante creación de índices, alteración del modelo, etc. sin necesidad de desarrollar. No siempre es posible (generación dinámica de SQLs). Daniel Fernández Lanvin

SQLProvider Proveedor de SQLs Piloto Trabajo 12.0 Instancia del patrón Singleton Nos garantiza que sólo se instancia una vez Lee una sóla vez las sentencias SQL del fichero y las mantiene en memoria. Se recarga a cada arranque del sistema Permite modificar las SQLs sin necesidad de Programar Recompilar Repaquetizar Redesplegar Daniel Fernández Lanvin

Piloto con SQLProvider Piloto Trabajo 12.0. Pasos: Crear SQLProvider.java Crear sentencias.xml y colocarlo en el classpath <?xml version="1.0" encoding="UTF-8"?> <jenial-sql-statements> <sql> <id>libro.selectAll</id> <statement>select * from libro</statement> </sql> </jenial-sql-statements Modificar la recuperación de la sentencia SQL ps=con.prepareStatement( SQLProvider.getInstance().getSentence(SQL_ID)); Daniel Fernández Lanvin

WorkShop! Adaptar el servicio de persistencia IVA Sobre la versión del piloto 12.0, modificar IvaDataBean para que: Obtenga la conexión del pool de conexiones en lugar de crearla y destruirla en cada operación de base de datos. Obtenga la SQL del SQLProvider en lugar de tenerla hardcodeada como una constante dentro de la clase. Daniel Fernández Lanvin

Referencias URLs Libros http://jakarta.apache.org/Struts http://theserverside.com Libros Mastering Tomcat Development de WILEY Java Server Programming J2EE Edition de Wrox Daniel Fernández Lanvin