Db4o y JDBC Bases de Datos en MHP MHProject Contenidos ODBMS vs RDBMS JDBC y CDC Personal Profile Db4o - H2 - Hsqldb ATS – Db4o.
Download
Report
Transcript Db4o y JDBC Bases de Datos en MHP MHProject Contenidos ODBMS vs RDBMS JDBC y CDC Personal Profile Db4o - H2 - Hsqldb ATS – Db4o.
Db4o y JDBC
Bases de Datos en MHP
MHProject
Contenidos
1
ODBMS vs RDBMS
2
JDBC y CDC Personal Profile
3
Db4o - H2 - Hsqldb
4
ATS – Db4o (Implementación)
5
ATS – Db4o (Presentación)
MHProject
Introduccción
ODBMS vs RDBMS
MHProject
ODBMS vs RDBMS
2 Tecnologías cara a cara
Tecnología Relacional
• Orientada al uso de funciones
• Centrada en los datos
Tecnología de Objetos
• Orientada a Objetos
• Centrada en servicios
MHProject
ODBMS vs RDBMS
2 Tecnologías
Cara a Cara
Relacional
•
•
•
Los datos constituyen
un ente propio y van
completamente
separados de las
funciones que los
manejan.
Pueden existir
perfectamente sin la
existencia del otro.
Complejidad añadida a
la hora de manejar
esos datos.
De Objetos
•
•
•
Los datos coexisten
junto a los procesos que
los tratan.
Estas entidades son los
Objetos
Simplifica el tratamiento
de los datos.
MHProject
El paradigma Relacional
ODBMS vs RDBMS
MHProject
El paradigma Relacional
Los datos son independientes de las
entidades que los procesan
Dichos datos deben ser almacenados en
bases de datos relacionales compuestas
principalmente de Tablas, Filas (registros), y
Campos.
Dichos datos deben mantener una relación
coherente entre ellos (Relación impuesta por
la Base de datos).
MHProject
El paradigma Relacional
¿Qué pasa si queremos almacenar
Objetos creados por un lenguaje
orientado a Objetos en una base de
datos Relacional?
En este instante se produce lo que
vamos a llamar la Inadaptación de
Impedancias.
(Entre Objetos y Datos Relacionales)
MHProject
Esquema del Paradigma Relacional
CLASE
PARADIGMA
RDBMS
X
X
X
TABLA1
OBJETO1
OBJETO2
OBJETO3
ENTORNO DE OBJETOS
TABLA2
ENTORNO DE DATOS
MHProject
Paradigma Relacional
¿Qué pasa si queremos almacenar
Objetos creados por un lenguaje
orientado a Objetos en una base de
datos Relacional?
La solución comunmente aceptada
pasa por lo que llamaremos
Mapeo Objeto - Relacional
MHProject
Esquema del Paradigma Relacional
CLASE
MAPEO
REGISTRO1
RDBMS
TABLA1
TABLA2
OBJETO1
REGISTRO2
OBJETO2
OBJETO3
REGISTRO3
ENTORNO DE OBJETOS
<atributo>
ENTORNO DE DATOS
<columna>
MHProject
Introducción
Java Database Connectivity
(JDBC)
MHProject
Java Database Connectivity
API de acceso a
Bases de Datos
desde Java
Independiente de
la plataforma o
Base de Datos (*)
Uso de lenguaje de
consulta y acceso
estructurado SQL
St.executeQuery(“sql”);
- JDBC
Aplicación Java
JDBC API
JDBC Driver Manager
JDBC Driver
JDBC Driver
DBMS
DBMS
MHProject
Java Database Connectivity
- JDBC
Define una arquitectura standard
Permite a los fabricantes desarrollar sus propios
drivers optimizados.
• Class.forName(“org.mySQL.Driver”);
Puede hacer uso de drivers ODBC
ya existentes en el mercado.
Arquitectura en 2 o 3 capas
Arquitectura
Embedida o en Memoria
Cliente / Servidor (Cliente “delgado”)
MHProject
JDBC Optional Package (JSR 169)
CDC – Personal Basis Profile
MHProject
JDBC Optional Package
Problema 1
Ningún perfil basado en CDC nos ofrece soporte
para conexión a base de datos.
Problema 2
Varias de las funcionalidades ofrecidas por JDBC no
son admisibles por la plataforma CDC debido a sus
restricciones en la implementación.
Solución:
JDBC Optional Package
MHProject
JDBC Optional Package
• Arquitectura de Plataforma
JDBC Optional Package
Optional Packages
Standard GUI toolkit
Soporte Xlet Model
Personal Basis Profile
Red y soporte I/O
Foundation Profile
Set-Top Box
CDC - JVM
MHProject
JDBC Optional Package
Se ha definido para dar soporte de
acceso a base de datos desde
aplicaciones corriendo sobre CDC.
Es un subconjunto de los paquetes
java.sql y javax.sql de JDBC 3.0
DriverManager vs DataSource
Se elimina el DriverManager encargado de cargar los
drivers JDBC por una versión más ligera que ofrece
transparencia y se adapta a CDC (DataSource)
http://developers.sun.com/techtopics/mobility/confi
gurations/articles/cdc/jdbc/
MHProject
Db4o - H2 - Hsqldb
Casos de Uso
MHProject
Casos de Uso
Db4o
Base de datos Orientada a
Objetos y OpenSource
Creada por
Hsqldb
Base de datos Relacional
con JDBC y OpenSource
Fundada por Thomas Mueller
JDBC
H2
Base de datos Relacional
con JDBC y OpenSource
Creada por Thomas Mueller
MHProject
Casos de Uso: Comparativa
• Ventajas:
db4o
Hsqldb
H2
• Orientada a
Objetos.
• Intuitiva
• Pequeña
• Muy Rápida
• Pequeña
• Completa
• Soporta
encriptación
• Robusta
• Thin Client
• Standard
JDBC
• Muy
Soportada
• Muy Rápida
• Super
Pequeña
• Soporta CDC
• Thin Client
• Super
Rápida
• Standard
JDBC
• Creada
desde cero
• Pequeña
• Soporta
encriptación
MHProject
Casos de Uso: Comparativa
• Desventajas:
db4o
Hsqldb
H2
• Thick Client
• Necesita de
BigDecimal
• Estricto
sincronismo
client/server
• No
standard
• Necesita de
BigDecimal
• Necesidad
de mapeo
• No soporta
encriptación
de database
• Necesidad
de libreria
SQL
• Necesita de
BigDecimal
• No soporta
CDC
• Necesidad
de mapeo
• Necesidad
de librería
SQL
MHProject
Casos de Uso: Comparativa
MHProject
Implementación
ATS-Db4o
MHProject
ATS - Db4o: ¿Por qué?
Fácil
Conocida
DataBase 4 Objects
Completa
OODBMS
MHProject
ATS - Db4o: Fases
Fase 1•
Planteamie
nto inicial
• Definicion
de un
modelo
standard
de datos
•
Implement
ación del
modelo de
datos
Fase 2
• Definicion
de acceso
y consulta
a base de
datos
•
Implement
ación de
un
controlador
Fase 3
• Esquema y
Diseño de
Interfaz de
Usuario
•
Implementaci
ón mediante
componentes
reutilizables
MHProject
ATS - Db4o: MVC
Modelo: Dominio de la información
Controlador: Responde a eventos
MVC
Vista: Representación del Modelo
MHProject
ATS - Db4o: Problemas
Desconcierto
entre
Versiones
Data
Binding
Imágenes
Falta de clases
BigDecimal
BigInteger
Problemas
Sincronismo
entre
Cliente y
Servidor
MHProject
ATS-Db4o:Diagrama de Clases
MHProject
ATS-Db4o: Diagrama de Flujo
EnventoConsulta
DbHandler
Paciente Usuario
Persistent
Image
HIcon
Db4o
abrirCliente
consultarPacienteQBE
Paciente
getPaciente
Paciente
toString
getFoto
getHIcon
HIcon
getImage
MHProject
Presentación
ATS-Db4
MHProject
Créditos y Bibliografía
Ruegos y Preguntas
Base de datos
en MHP
[---------- Proyecto ----------]
MHProject v2.0
www.mhproject.org
E.T.S de Ingenieros de Telecomunicación
Universidad Pública de Navarra
[---------- Autor ----------]
Alejandro Fanjul
[email protected]
[email protected]
[---------- Tutor ----------]
Mikel MHProject
Sagues