Los contenidos del libro recorren las principales y más asentadas tecnologías relacionadas con el acceso a fuentes de datos. El objetivo se resume en ofrecer una visión de diferentes sistemas de almacenamiento destinados a la persistencia de datos y en mostrar de manera práctica (con Java) cómo las aplicaciones informáticas pueden acceder a esos datos, recuperarlos e integrarlos. Ficheros XML, bases de datos orientadas a objetos, bases de datos objeto-relacionales, bases de datos XML nativas, acceso a datos con conectores JDBC y frameworks de mapeo objeto-relacional (ORM) son algunas de las tecnologías que se trabajan en este libro. Todas ellas son referencias en el desarrollo de aplicaciones multiplataforma profesionales.
Los capítulos del libro incluyen actividades resueltas y proyectos Java de ejemplo. Estos recursos tienen como propósito facilitar la asimilación de las tecnologías tratadas. De esta manera, se pretende que el estudiante asimile la teoría desde una perspectiva práctica.
Así mismo, se incorporan test de conocimientos y ejercicios propuestos con la finalidad de comprobar que los objetivos de cada capítulo se han asimilado correctamente. CAPÍTULO 1. MANEJO DE FICHEROS CAPÍTULO 2. MANEJO DE CONECTORES CAPÍTULO 3. BASES DE DATOS OBJETO-RELACIONALES Y ORIENTADAS A OBJETOS CAPÍTULO 4. HERRAMIENTAS DE MAPEO OBJETO-RELACIONAL CAPÍTULO 5. BASES DE DATOS XML CAPÍTULO 6. PROGRAMACIÓN DE COMPONENTES DE ACCESO A DATOS
1.1 FORMAS DE ACCESO A UN FICHERO. CLASES ASOCIADAS
1.2 GESTIÓN DE FLUJOS DE DATOS
1.2.1 Clase FileWriter
1.2.2 Clase FileReader
1.2.3 Clase FileOutpuStream
1.2.4 Clase FileInputStream
1.2.5 RandomAccessFile
1.2.6 Ejemplo de uso de flujos
1.3 TRABAJO CON FICHEROS XML (EXTENDED MARKUP LANGUAGE)
1.4 ACCESO A DATOS CON DOM (DOCUMENT OBJECT MODEL)
1.4.1 DOM y Java
1.4.2 Abrir DOM desde Java
1.4.3 Recorrer un árbol DOM
1.4.4 Modificar y serializar
1.5 ACCESO A DATOS CON SA X (SIMPLE API FOR XML)
1.5.1 Abrir XML con SA X desde Java
1.5.2 Recorrer XML con SA X
1.6 ACCESO A DATOS CON JA XB (BINDING)
1.6.1 ¿Cómo crear clases Java de esquemas XML?
1.6.2 Abrir XML con JA XB
1.6.3 Recorrer un XML desde JA XB
1.7 PROCESAMIENTO DE XML: XPATH (XML PATH LANGUAGE)
1.7.1 Lo básico de XPath
1.7.2 XPath desde Java
1.8 CONCLUSIONES Y PROPUESTAS PARA AMPLIAR
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
2.1 EL DESFASE OBJETO-RELACIONAL
2.2 PROTOCOLOS DE ACCESO A BASES DE DATOS: CONECTORES
2.2.1 Componentes JDBC
2.2.2 Tipos de conectores JDBC
2.2.3 Modelos de acceso a bases de datos
2.2.4 Acceso a bases de datos mediante un conector JDBC
2.2.5 Clases básicas del API JDBC
2.2.6 Clases adicionales del API JDBC
2.3 EJECUCIÓN DE SENTENCIAS DE DEFINICIÓN DE DATOS
2.4 EJECUCIÓN DE SENTENCIAS DE MANIPULACIÓN DE DATOS
2.5 EJECUCIÓN DE CONSULTAS
2.5.1 Clase Statement
2.5.2 Clase PreparedStatement
2.5.3 Clase CallableStatement
2.6 GESTIÓN DE TRANSACCIONES
2.7 CONCLUSIONES Y PROPUESTAS PARA AMPLIAR
RESUMEN DEL CA PÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
3.1 CARACTERÍSTICAS DE LAS BASES DE DATOS ORIENTADAS A OBJETOS
3.1.1 ODM G (Object Data Management Group)
3.1.2 El modelo de datos ODM G
3.1.3 ODL (lenguaje de definición de objetos)
3.1.4 OML (lenguaje de manipulación de objetos)
3.1.5 OQL (lenguaje de consultas de objetos)
3.2 SISTEMAS GESTORES DE BASES DE DATOS ORIENTADAS A OBJETOS
3.2.1 Instalación de Matisse
3.2.2 Creando un esquema con Matisse
3.3 INTERFAZ DE PROGRAMACIÓN DE APLICACIONES DE LA BASE DE DATOS
3.3.1 Preparando el código Java
3.3.2 Añadiendo objetos
3.3.3 Eliminando objetos
3.3.4 Modificando objetos
3.3.5 Consultando objetos con OQL
3.4 CARACTERÍSTICAS DE LAS BASES DE DATOS OBJETO-RELACIONALES
3.4.1 Gestión de objetos con SQL: ANSI SQL 1999
3.5 CONCLUSIONES Y PROPUESTAS PARA AMPLIAR
RESUMEN DEL CA PÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
4.1 CONCEPTO DE MAPEO OBJETO-RELACIONAL (OBJECT-RELATIONAL MAPPING [ORM ])
4.2 CARACTERÍSTICAS DE LAS HERRAMIENTAS ORM . HERRAMIENTAS ORM MÁS UTILIZADAS
4.3 INSTALACIÓN Y CONFIGURACIÓN DE UNA HERRAMIENTA ORM
4.3.1 Instalación manual
4.3.2 Usar Netbeans con j2EE
4.4 ESTRUCTURA DE FICHEROS DE HIBERNATE. MAPEO Y CLASES PERSISTENTES
4.4.1 Clases Java para representar los objetos (POJO)
4.4.2 Fichero de mapeo ".hbm.xml
4.4.3 Crear ficheros de mapeo con NetBeans
4.5 SESIONES. OBJETO PARA CREARLAS
4.6 CARGA, ALMACENAMIENTO Y MODIFICACIÓN DE OBJETOS
4.6.1 Guardar
4.6.2 Leer
4.6.3 Actualizar
4.6.4 Borrar
4.7 CONSULTAS HQL (HIBERNATE QUERY LANGUAGE)
4.7.1 Ejecutar HQL desde Java
4.8 CONCLUSIONES Y PROPUESTAS PARA AMPLIAR
RESUMEN DEL CA PÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
5.1 BASES DE DATOS NATIVAS XML . COMPARATIVA CON BASES DE DATOS RELACIONALES
5.1.1 Documentos centrados en datos y en contenido
5.1.2 ¿Alternativas para almacenar XML?
5.1.3 Comparativa con los sistemas gestores relacionales
5.2 ESTRATEGIAS DE ALMACENAMIENTO
5.2.1 Colecciones y documentos
5.3 LIBRERÍAS DE ACCESO A DATOS XML
5.3.1 Contexto en el que se usan las API
5.4 ESTABLECIMIENTO Y CIERRE DE CONEXIONES
5.4.1 Conexión con XML: DB
5.4.2 Conexión con XQJ
5.5 CREACIÓN Y BORRADO DE RECURSOS; CLASES Y MÉTODOS
5.5.1 Accediendo a recursos con XML: DB
5.5.2 Creando recursos con XML: DB
5.5.3 Borrando recursos con XML: DB
5.6 CREACIÓN Y BORRADO DE COLECCIONES: CLASES Y MÉTODOS
5.6.1 Creación de colecciones con XML: DB
5.6.2 Borrando colecciones con XML: DB
5.7 MODIFICACIÓN DE CONTENIDOS XML
5.7.1 Introducción a XQuery Update Extension
5.7.2 Modificación de datos con XML:DB y XQuery Update Extension
5.7.3 Introducción a XUpdate
5.7.4 Modificación de datos con XML:DB y XQuery Update Extension
5.8 REALIZACIÓN DE CONSULTAS: CLASES Y MÉTODOS
5.8.1 Lenguaje de consulta para XML : XQuery (XML Query Language)
5.8.2 Ejecutar consultas XQuery con XML :DB
5.8.3 Ejecutar consultas XQuery con XQJ
5.9 TRATAMIENTO DE EXCEPCIONES
5.10 CONCLUSIONES Y PROPUESTA PARA AMPLIAR
RESUMEN DEL CA PÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
6.1 CONCEPTO DE COMPONENTE: CARACTERÍSTICAS
6.2 PROPIEDADES
6.2.1 Simples e indexadas
6.2.2 Compartidas y restringidas
6.3 ATRIBUTOS
6.4 EVENTOS: ASOCIACIÓN DE ACCIONES A EVENTOS
6.5 INTROSPECCIÓN. REFLEXIÓN
6.6 PERSISTENCIA DEL COMPONENTE
6.7 HERRAMIENTAS PARA DESARROLLO DE COMPONENTES NO VISUALES
6.8 EMPAQUETADO DE COMPONENTES
6.9 TIPOS DE EJB
6.10 EJEMPLO DE EJB CON NETBEANS
6.11 CONCLUSIONES Y PROPUESTA PARA AMPLIAR
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
MATERIAL ADICIONAL
ÍNDICE ALFABÉTICO