Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)

Slides:



Advertisements
Presentaciones similares
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Advertisements

Conexión a Bases de Datos
Las aplicaciones requieren datos persistentes
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Red Social: “Un millón de Amigos”.
Red Social: “Un millón de Amigos”.
Introducción a HIBERNATE
FACHADA COMPOSITOR MEMENTO
APACHE.
Aplicaciones Cliente-Servidor
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Servicios Web.
FLAN “F- LINKS AND NODES”
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Programación Visual de Sistemas
¿QUÉ SON LAS BASES DE DATOS?
PATRON DAO Data Access Object (OBJETO DE ACCESO A DATOS)
"java del lado del servidor" Servlet y JSP Java Server Pages.
Introducción al software
“SISTEMA DE PASANTÍAS PARA LA FACULTAD DE INGENIERÍA
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.
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
JAVA Persistence API (JPA)
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
Introducción al Software
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
Administración de datos con MS-SQL Server y Visual Basic
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.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Arquitectura de una aplicación
Sistemas de Información IS95872
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Desarrollo de aplicaciones para ambientes distribuidos
 Es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
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.
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
FUNCIONALIDAD DE SOFTWARE DE SISTEMAS
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION CLIENTE /
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Almacenamiento virtual de sitios web “HOSTS VIRTUALES”
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
María José Freire Mayra Coello Juan Francisco Pérez
Modelo de 3 capas.
Introducción a UML Departamento de Informática Universidad de Rancagua
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Bases de Datos y Conectores
Protocolos de comunicación TCP/IP
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Karla Yunuen González Villanueva
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Aplicaciones en 2,3 y n capas
API JDBC Java Database Connectivity. Conceptos básicos API de Conectividad a Bases de Datos Emplea SQL Standard Ventaja: los programas desarrollados en.
Acceso a Datos Erick López Ovando Licenciado en Informática.
JDBC. Definición Java Database Conectivity El acceso a bases de datos JDBC implica abrir una conexión ejecutar comandos SQL en un sentencia procesar los.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
Conociendo el modelo Cliente-Servidor
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
SIGEP Presentación de Resultados SIGEP. SIGEP Ambiente de Desarrollo  Plataforma Java ( J2EE,JRE,JDK,JVM ).  Contenedor Web ( Tomcat 5 )  Control de.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro.
Transcripción de la presentación:

Persistencia de Objetos

Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este) deja de existir.

3 A grafica idea de persistencia Program start Program execution Time Program start Program end Object creation Object edition Program end Object Lifetime “…object outlives the execution of the program…”

4 Persistencia de Objectos Datos que existen entre varias ejecuciones de un programa Datos que existen entre varias versiones de un programa Program Q Time Read / Write Program P Time Objects repository

Java Database Connectivity (JDBC) Java Database Connectivity, más conocida por sus siglas JDBC, es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice. El API JDBC se presenta como una colección de interfaces Java y métodos de gestión de manejadores de conexión hacia cada modelo específico de base de datos. Un manejador de conexiones hacia un modelo de base de datos en particular es un conjunto de clases que implementan las interfaces Java y que utilizan los métodos de registro para declarar los tipos de localizadores a base de datos (URL) que pueden manejar.

JDBC Arquitectura

Paquete java.sql JDBC ofrece el paquete java.sql, en el que existen clases muy útiles para trabajar con bases de datos. ClaseDescription DriverManagerPara cargar un driver ConnectionPara establecer conexiones con las bases de datos StatementPara crear consultas SQL y enviarlas a las BBDD ResultSetPara almacenar el resultado de la consulta

Controladores JDBC Los controladores JDBC son adaptadores del lado-cliente (se instalan en la máquina cliente, no en el servidor) para convertir las peticiones desde los programas Java a un protocolo que pueda entender DBMS. Tipos Existen controladores comerciales y libre para la mayoría de las bases de datos relacionales y pueden ser de cuatro tipos: TipoDescription Tipo 1Puente JDBC-ODBC Tipo 2Controlador nativo de la API Tipo 3Controlador de protocolo de red Tipo 4Controlador de protocolo de red

Hibernate Hibernate es una herramienta de Mapeo objeto-relacional para la plataforma Java (y disponible también para.Net con el nombre de NHibernate) que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo deobjetos de una aplicación, mediante archivos declarativos (XML) que permiten establecer estas relaciones.

Arquitectura El diagrama a continuación brinda una perspectiva a alto nivel de la arquitectura de Hibernate:

Arquitectura Detallada

SessionFactory (org.hibernate.SessionFactory) Un caché threadsafe (inmutable) de mapeos compilados para una sola base de datos. Una fábrica de Session y un cliente de ConnectionProvider, SessionFactory puede mantener un caché opcional (de segundo nivel) de datos reusables entre transacciones a nivel de proceso o de clúster. Session (org.hibernate.Session) Un objeto mono-hebra, de corta vida que representa una conversación entre la aplicación y el almacenamiento persistente. Envuelve una conexión JDBC y es una fábrica de Transaction. Session mantiene un caché requerido de primer nivel de objetos persistentes, que se utiliza cuando se navega el gráfico de objetos o mientras se buscan objetos por identificador. Objetos y colecciones persistentes Objetos de corta vida, mono-hebra contienen un estado persistente así como una funcionalidad empresarial. Estos pueden ser JavaBeans/POJOs normales. Estos se encuentran asociados con exactamente una Session. Tan pronto como la Session se cierre, serán separados y estarán libres para utilizarlos en cualquier capa de aplicación, (por ejemplo, directamente como objetos de transferencia de datos hacia y desde la presentación).

Objetos y colecciones transitorios y separados: Instancias de clases persistentes que no se encuentran actualmente asociadas con una Session. Pueden haber sido instanciadas por la aplicación y aún no haber sido persistidas, o pueden haber sido instanciadas por una Session cerrada. Transaction (org.hibernate.Transaction) (Opcional) Un objeto de corta vida, mono-hebra que la aplicación utiliza para especificar unidades atómicas de trabajo. Abstrae la aplicación de las transacciones subyacentes JDBC, JTA o CORBA. En algunos casos, una Session puede extenderse sobre varias Transactiones. Sin embargo, la demarcación de la transacción, ya sea utilizando la API subyacente o Transaction, nunca es opcional. ConnectionProvider (org.hibernate.connection.ConnectionProvider) (Opcional) Una fábrica y pool de conexiones JDBC. Abstrae a la aplicación del Datasource oDriverManager subyacente. No se expone a la aplicación, pero puede ser extendido/implementado por el desarrollador.

TransactionFactory (org.hibernate.TransactionFactory) (Opcional) Una fábrica de instancias de Transaction. No se expone a la aplicación pero puede ser extendido/implementado por el desarrollador. Extension Interfaces Hibernate ofrece un rango de interfaces de extensión opcionales que puede implementar para personalizar el comportamiento de su capa de persistencia. Para obtener más detalles, vea la documentación de la API.

Archivo de Mapeo Hibernate necesita saber cómo cargar y almacenar objetos de la clase persistente. En este punto es donde entra en juego el archivo de mapeo de Hibernate. Este archivo le dice a Hibernate a que tabla tiene que acceder en la base de datos, y que columnas debe utilizar en esta tabla. ES/html/tutorial.html#tutorial-associations ES/html/tutorial.html#tutorial-associations ES/html/mapping.html ES/html/mapping.html ES/html/collections.html ES/html/collections.html ES/html/associations.html ES/html/associations.html

Configuración de Hibernate Para la configuración de Hibernate, podemos utilizar un archivo hibernate.properties simple, un archivohibernate.cfg.xml un poco más sofisticado, o incluso una configuración completamente programática. La mayoría de los usuarios prefieren el archivo de configuración XML: ES/html/session-configuration.html ES/html/session-configuration.html

Consultas en Hibernate ES/html/objectstate.html ES/html/objectstate.html ES/html/queryhql.html ES/html/queryhql.html ES/html/querysql.html ES/html/querysql.html

Data Access Object En software de computadores, un Data Access Object (DAO, Objeto de Acceso a Datos) es un componente de software que suministra una interfaz común entre la aplicación y uno o más dispositivos de almacenamiento de datos, tales como una Base de datos o un archivo. El término se aplica frecuentemente al Patrón de diseño Object.

Ventajas Los Objetos de Acceso a Datos son un Patrón de Diseño Core J2EE y considerados una buena practica. La ventaja de usar objetos de acceso a datos es que cualquier objeto de negocio (aquel que contiene detalles específicos de operación o aplicación) no requiere conocimiento directo del destino final de la información que manipula.

Desventajas La flexibilidad tiene un precio. Cuando se añaden DAOs a una aplicación, la complejidad adicional de usar otra capa de persistencia incrementa la cantidad de código ejecutado durante tiempo de ejecución. La configuración de las capas de persistencia requiere en la mayoría de los casos mucho trabajo. Las aplicaciones críticas con el rendimiento no deberían usar DAOs.