Bases de Datos Orientadas a Objetos

Anuncio
BASES DE DATOS ORIENTADAS A
OBJETOS
INTRODUCCIÓN.
CARACTERÍSTICAS DE LOS SGBDOO.
MODELO DE DATOS ORIENTADO A OBJETOS.
OBJETOS COMPLEJOS.
ESTÁNDAR ODMG DEL MODELO DE OBJETOS.
LENGUAJE DE DEFINICIÓN DE OBJETOS ODL.
LENGUAJE DE CONSULTA DE OBJETOS OQL.
DISEÑO CONCEPTUAL DE BD DE OBJETOS.
ESTÁNDAR CORBA PARA OBJETOS DISTRIBUIDOS.
BD ORIENTADAS A OBJETOS
1
INTRODUCCIÓN
BD ORIENTADAS A OBJETOS
2
INTRODUCCIÓN
SGBD-R:
MODELO DE DATOS SENCILLO. ARQUITECTURA EN 3 NIVELES
(PROGRAMAS Y DATOS SEPARADOS).
BASES TEÓRICAS SÓLIDAS:
RELACIONES N-ARIAS R ⊆D1x D2 x ... x Dn.
SOPORTE
MATEMÁTICO:
ÁLGEBRA
Y
CÁLCULO
RELACIONAL.
DEPENDENCIAS
FUNCIONALES (SEMÁNTICA DE LA
RELACIÓN).
TECNOLOGÍA MADURA:
OPTIMIZACIÓN DE CONSULTAS.
INDEXACIÓN.
ADMINISTRACIÓN
DE LA CONCURRENCIA Y DE
TRANSACCIONES (ACID).
SEGURIDAD EN EL FUNCIONAMIENTO: RECUPERACIÓN.
LENGUAJE ESTÁNDAR SQL ( SQL3).
BD ORIENTADAS A OBJETOS
3
INTRODUCCIÓN
INTRODUCCIÓN
PERO .... ... SON SÓLO ADECUADOS PARA APLICACIONES
TRADICIONALES DE BD.
EN LA ACTUALIDAD HAY MÁS NECESIDADES:
GESTIÓN
DE SISTEMAS MULTIMEDIA, SISTEMAS DE
INFORMACIÓN MÉDICA O SISTEMAS GIS QUE REQUIEREN
MANIPULAR INFORMACIÓN MÁS COMPLEJA.
PROBLEMAS:
CONVERTIR
OBJETOS Y RELACIONES AL MODELO
RELACIONAL SUPONE DESCOMPONER LOS OBJETOS EN GRAN
NÚMERO DE TABLAS → ERRORES.
GRAN NÚMERO DE JOINS PARA SU RECUPERACIÓN →
RENDIMIENTO.
SOLUCIÓN: SGBD RELACIONALES DE OBJETOS.
BD ORIENTADAS A OBJETOS
4
INTRODUCCIÓN
PROBLEMAS:
LOS MODELOS DE DATOS Y LAS ESTRUCTURAS DE DATOS DE
LOS
LENGUAJES
DE
PROGRAMACIÓN
ESTÁN
DESACOPLADOS:
SOLUCIÓN: SGBDOO Y LENGUAJES OO SIGUEN EL MISMO
PARADIGMA:
• DATOS + COMPORTAMIENTO. LENGUAJE OQL.
BD ORIENTADAS A OBJETOS
5
BD ORIENTADAS A OBJETOS
6
INTRODUCCIÓN
BD ORIENTADAS A OBJETOS
CARACTERÍSTICAS DE LOS SGBDOO
7
8
CARACTERÍSTICAS DE LOS SGBDOO
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
UN SGBDOO ES UN SGBD QUE SOPORTA UN MODELO BASADO EN
EL PARADIGMA ORIENTADO A OBJETOS:
ALMACENA OBJETOS Y SU ESQUEMA (PERSISTENCIA).
LENGUAJE PARA DEFINICIÓN Y MANIPULACIÓN.
POR SER GESTOR:
INCLUYE MECANISMOS PARA OPTIMIZAR EL ACCESO
(INDEXACIÓN Y CLUSTERING), EL CONTROL DE
CONCURRENCIA, SEGURIDAD Y GESTIÓN DE USUARIOS,
FACILIDAD DE CONSULTA Y RECUPERACIÓN ANTE
FALLOS.
POR SER OO:
CARACTERÍSTICAS
DE IDENTIDAD, ENCAPSULACIÓN,
HERENCIA, POLIMORFISMO Y CONTROL DE TIPOS.
BD ORIENTADAS A OBJETOS
9
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
10
CARACTERÍSTICAS DE LOS SGBDOO
11
BD ORIENTADAS A OBJETOS
12
CARACTERÍSTICAS DE LOS SGBDOO
CARACTERÍSTICAS DE LOS SGBDOO
TIPOS DE SGBD CON OBJETOS
BD ORIENTADAS A OBJETOS
13
CARACTERÍSTICAS DE LOS SGBDOO
TIPOS DE SGBD CON OBJETOS
15
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
16
CARACTERÍSTICAS DE LOS SGBDOO
TIPOS DE SGBD CON OBJETOS
BD ORIENTADAS A OBJETOS
14
CARACTERÍSTICAS DE LOS SGBDOO
TIPOS DE SGBD CON OBJETOS
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
TIPOS DE SGBD CON OBJETOS
17
BD ORIENTADAS A OBJETOS
18
CARACTERÍSTICAS DE LOS SGBDOO
CARACTERÍSTICAS DE LOS SGBDOO
TIPOS DE SGBD CON OBJETOS
BD ORIENTADAS A OBJETOS
19
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
20
CARACTERÍSTICAS DE LOS SGBDOO
21
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
22
CARACTERÍSTICAS DE LOS SGBDOO
23
BD ORIENTADAS A OBJETOS
24
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
CARACTERÍSTICAS DE LOS SGBDOO
25
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
26
CARACTERÍSTICAS DE LOS SGBDOO
27
CARACTERÍSTICAS DE LOS SGBDOO
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
28
CARACTERÍSTICAS DE LOS SGBDOO
29
BD ORIENTADAS A OBJETOS
30
CARACTERÍSTICAS DE LOS SGBDOO
MODELO DE DATOS ORIENTADO A
OBJETOS
SGBDOO:
GEMSTONE ES UN SISTEMA DE GESTIÓN ORIENTADO A
OBJETOS QUE COMBINA LOS CONCEPTOS DEL SMALLTALK
CON FUNCIONES DE GESTIÓN DE BASES DE DATOS:
EL LENGUAJE DE DEFINICIÓN Y MANIPULACIÓN DE
DATOS ES OPAL QUE SE DERIVA DE SMALLTALK. ODMG.
OBJECTSTORE DESARROLLADO A PARTIR DEL LENGUAJE
C++ AÑADIÉNDOLE A SUS OBJETOS PERSISTENCIA. ODMG.
POET. EXTENSIÓN DE C++. ODMG.
O2.
JASMINE.
BD ORIENTADAS A OBJETOS
31
MODELO DE DATOS ORIENTADO A
OBJETOS
NO HAY UN ESTÁNDAR PERO SÍ ACUERDO SOBRE UN MODELO
QUE SE FUNDAMENTA EN 5 CONCEPTOS:
CADA ENTIDAD DEL MUNDO REAL ES UN OBJETO. CADA
OBJETO ES ASOCIADO CON UN IDENTIFICADOR ÚNICO (OID).
CADA OBJETO TIENE UN CONJUNTO DE ATRIBUTOS Y
MÉTODOS. EL VALOR DE UN ATRIBUTO PUEDE SER UN
OBJETO O CONJUNTO DE OBJETOS (SET, LIST, MULTISET) DEL
QUE GUARDARÁ SU OID (AGREGACIÓN).
LOS VALORES DE LOS ATRIBUTOS REPRESENTAN EL ESTADO
DEL OBJETO. EL ESTADO DE UN OBJETO SE CONOCE Y/O
MODIFICA ENVIANDO MENSAJES, QUE INVOCAN LOS
MÉTODOS CORRESPONDIENTES DEL OBJETO.
LOS OBJETOS QUE COMPARTEN LA MISMA ESTRUCTURA Y
COMPORTAMIENTO SE AGRUPAN EN CLASES.
UNA CLASE SE PUEDE DEFINIR COMO UNA ESPECIALIZACIÓN
(SUBCLASE) DE UNA O MÁS CLASES (HERENCIA).
BD ORIENTADAS A OBJETOS
MODELO DE OBJETOS - ORÍGENES:
BD ORIENTADAS A OBJETOS
EJEMPLO UML:
BD ORIENTADAS A OBJETOS
34
MODELO DE DATOS ORIENTADO A
OBJETOS
35
32
MODELO DE DATOS ORIENTADO A
OBJETOS
33
MODELO DE DATOS ORIENTADO A
OBJETOS
BD ORIENTADAS A OBJETOS
MODELO DE OBJETOS - CONCEPTOS:
BD ORIENTADAS A OBJETOS
36
MODELO DE DATOS ORIENTADO A
OBJETOS
VENTAJAS:
LA UTILIZACIÓN DE OBJETOS PERMITE REPRESENTAR DE
FORMA MÁS NATURAL EL PROBLEMA DE INFORMACIÓN →
MEJORAR LA COMUNICACIÓN ENTRE LOS USUARIOS, LOS
DISEÑADORES Y LOS ANALISTAS.
DATOS Y COMPORTAMIENTO EN UN MISMO LENGUAJE →
FACILITA DESARROLLO DE APLICACIONES.
PERMITE DEFINIR NUEVOS TIPOS DE DATOS A PARTIR DE
TIPOS EXISTENTES.
LENGUAJE NAVEGACIONAL.
SOPORTE
A ESQUEMA EVOLUTIVO: EL ESTRECHO
ACOPLAMIENTO ENTRE DATOS Y APLICACIONES EN UN
SGBDOO HACE MÁS ABORDABLE EL ESQUEMA EVOLUTIVO.
BD ORIENTADAS A OBJETOS
FALTA DE SOPORTE A LA SEGURIDAD: NO PUEDEN
CONCEDER DERECHOS DE ACCESO A OBJETOS O CLASES POR
USUARIO.
LA OPTIMIZACIÓN DE CONSULTAS COMPROMETE LA
ENCAPSULACIÓN.
LOS BLOQUEOS A NIVEL DE OBJETO, UTILIZADOS EN
PROTOCOLOS DE CONTROL DE CONCURRENCIA PUEDEN
AFECTAR AL RENDIMIENTO.
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
38
MODELO DE DATOS ORIENTADO A
OBJETOS
DISEÑO DE BDOO:
BD ORIENTADAS A OBJETOS
39
OBJETOS COMPLEJOS
40
OBJETOS COMPLEJOS
BD ORIENTADAS A OBJETOS
DESVENTAJAS:
FALTA DE UN MODELO DE DATOS UNIVERSAL COMO ES EL
MODELO RELACIONAL.
FALTA DE EXPERIENCIA. USO REDUCIDO DE SGBDOO.
FALTA DE ESTÁNDARES. OQL DE ODMG ES ESTÁNDAR DE
FACTO.
EXTENSIÓN DE LOS SGBDR INCLUYENDO EL PARADIGMA
OO.
SON MÁS COMPLEJOS DE DISEÑAR Y MANTENER.
FALTA DE SOPORTE A VISTAS (VIEWS) Y RESTRICCIONES
DECLARATIVAS → DEPENDEN DE LOS MÉTODOS DEFINIDOS.
37
MODELO DE DATOS ORIENTADO A
OBJETOS
MODELO DE DATOS ORIENTADO A
OBJETOS
41
HAY DOS TIPOS PRINCIPALES DE OBJETOS COMPLEJOS:
NO ESTRUCTURADO:
GENERALMENTE ES DE UN TIPO DE DATOS QUE REQUIERE
UNA GRAN CANTIDAD DE ALMACENAMIENTO:
• EJ. UN TIPO DE DATOS QUE REPRESENTA UNA
IMAGEN O UN OBJETO TEXTUAL EXTENSO.
ESTRUCTURADO:
ESTÁ CONSTITUIDO POR COMPONENTES.
SE
DEFINE
APLICANDO
RECURRENTEMENTE,
EN
DIVERSOS NIVELES, LOS CONSTRUCTORES DE TIPOS
DISPONIBLES.
BD ORIENTADAS A OBJETOS
42
OBJETOS COMPLEJOS
OBJETOS COMPLEJOS
OBJETOS
COMPLEJOS
NO
ESTRUCTURADOS
Y
EXTENSIBILIDAD DE TIPOS
UNA FACILIDAD DEL SGBD PERMITE EL ALMACENAMIENTO Y
RECUPERACIÓN DE OBJETOS DE GRAN TAMAÑO.
EJEMPLOS: LAS IMÁGENES DE MAPA DE BITS Y LAS CADENAS
DE TEXTO LARGAS (POR EJEMPLO, DOCUMENTOS):
SE CONOCEN COMO OBJETOS BINARIOS EXTENSOS O BLOB
(BINARY LARGE OBJECT).
ESTOS OBJETOS SON NO ESTRUCTURADOS EN EL SENTIDO DE
QUE EL SGBD NO SABE QUÉ ESTRUCTURA TIENEN:
SÓLO LA APLICACIÓN QUE USA LOS OBJETOS PUEDE
INTERPRETAR SU SIGNIFICADO.
BD ORIENTADAS A OBJETOS
LOS OBJETOS SE CONSIDERAN COMPLEJOS PORQUE:
NECESITAN UN ÁREA DE ALMACENAMIENTO SUSTANCIAL.
NO FORMAN PARTE DE LOS TIPOS DE DATOS ESTÁNDAR DE
LOS SGBD.
EN UN SGBDOO SE PUEDE:
DEFINIR UN NUEVO TIPO DE DATOS ABSTRACTO PARA LOS
OBJETOS NO INTERPRETADOS.
SUMINISTRAR
LOS
MÉTODOS
PARA SELECCIONAR,
COMPARAR Y MOSTRAR TALES OBJETOS.
UN SGBDOO PERMITE A LOS USUARIOS CREAR NUEVOS TIPOS:
UN
TIPO
INCLUYE
TANTO
ESTRUCTURA
COMO
OPERACIONES.
UN SGBDOO TIENE UN SISTEMA DE TIPOS EXTENSIBLES.
43
BD ORIENTADAS A OBJETOS
44
BD ORIENTADAS A OBJETOS
46
OBJETOS COMPLEJOS
OBJETOS COMPLEJOS ESTRUCTURADOS
LA ESTRUCTURA DEL OBJETO ESTÁ DEFINIDA Y EL SGBDOO LA
CONOCE.
EJEMPLO:
REPRESENTACIÓN
DEL
OBJETO
COMPLEJO
DEPARTAMENTO COMO GRÁFICO.
BD ORIENTADAS A OBJETOS
45
OBJETOS COMPLEJOS
OBJETOS COMPLEJOS
EL OBJETO DEPARTAMENTO TIENE:
EN EL PRIMER NIVEL UNA ESTRUCTURA DE TUPLA CON SEIS
ATRIBUTOS: NOMBRED, NUMEROD, JF, LOCALIZACIONES,
EMPLEADOS Y PROYECTOS.
DOS DE ESTOS ATRIBUTOS (NOMBRED Y NUMEROD) TIENEN
VALORES BÁSICOS.
CUATRO TIENEN VALORES COMPLEJOS Y CONSTITUYEN EL
SEGUNDO NIVEL DE LA ESTRUCTURA DEL OBJETO
COMPLEJO:
UNO (JF) TIENE ESTRUCTURA DE TUPLA.
TRES
(LOCALIZACIONES, EMPLEADOS, PROYECTOS)
TIENEN ESTRUCTURA DE CONJUNTO.
BD ORIENTADAS A OBJETOS
47
EN EL TERCER NIVEL, PARA UN VALOR DE TUPLA DE JF, HAY
UN ATRIBUTO BÁSICO (FECHA_INIC_JEFE) Y UN ATRIBUTO
(JEFE) QUE HACE REFERENCIA A UN OBJETO EMPLEADO, QUE
TIENE UNA ESTRUCTURA DE TUPLA.
PARA UN CONJUNTO LOCALIZACIONES HAY UN CONJUNTO
DE VALORES BÁSICOS.
PARA LOS CONJUNTOS EMPLEADOS Y PROYECTOS HAY
CONJUNTOS DE OBJETOS CON ESTRUCTURA DE TUPLA.
BD ORIENTADAS A OBJETOS
48
OBJETOS COMPLEJOS
OBJETOS COMPLEJOS
EXISTEN DOS TIPOS DE SEMÁNTICA PARA LA REFERENCIA ENTRE
UN OBJETO COMPLEJO Y SUS COMPONENTES EN CADA NIVEL:
SEMÁNTICA DE PROPIEDAD: SE APLICA CUANDO LOS
SUBOBJETOS
DE
UN
OBJETO
COMPLEJO
ESTÁN
ENCAPSULADOS DENTRO DE ESTE Y SE CONSIDERAN PARTE
DE ÉL.
SEMÁNTICA DE REFERENCIA: SE APLICA CUANDO LOS
COMPONENTES DEL OBJETO COMPLEJO SON ELLOS MISMOS
OBJETOS
INDEPENDIENTES,
PERO
PUEDEN
SER
REFERENCIADOS DESDE EL OBJETO COMPLEJO.
BD ORIENTADAS A OBJETOS
49
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
BD ORIENTADAS A OBJETOS
APARICIÓN DE “THE ODMG-93 STANDARD”:
REVISIONES ODMG 95, 97, 99 (ODMG 3.0 + JAVA). NO
CONSOLIDADO:
OBJECT MODEL.
OBJECT DATA DEFINITION LANGUAGE (ODL).
OBJECT MANIPULATION LANGUAGE (OML).
OBJECT QUERY LANGUAGE (OQL).
INTERFACES CON C++, SMALLTALK, JAVA.
BD ORIENTADAS A OBJETOS
ODMG: OBJECT DATABASE MANAGEMENT GROUP.
GRUPO DE DESARROLLO DE SGBD ORIENTADOS A OBJETOS,
LIGADO A OMG (OBJECT MANAGEMENT GROUP):
OBJECT
DESIGN, SUN MICROSYSTEMS, ONTOS, O2,
TECHNOLOGY / ARDENT SOFT., OBJECTIVITY, VERSANT,
GEMSTONE,
COMPUTER
ASSOCIATES,
OBJECTSTORE,
INTERSYSTEMS CACHE, ETC.
CREADO A MEDIADOS DE 1991 PARA DEFINIR LOS
ESTÁNDARES DE LAS BD ORIENTADAS A OBJETOS:
ASEGURAR UNA PORTABILIDAD SOBRE LOS DIFERENTES
PRODUCTOS DE ESTAS COMPAÑÍAS.
NORMALIZAR EL MODELO DE DATOS A OBJETOS Y LOS
LENGUAJES.
51
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
53
50
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
BD ORIENTADAS A OBJETOS
EJEMPLO:
SE CONSIDERA QUE LOS ATRIBUTOS NOMBRED, NUMEROD, JF
Y
LOCALIZACIONES
SON
PROPIEDAD
DE
UN
DEPARTAMENTO.
EMPLEADOS Y PROYECTOS SON REFERENCIAS PORQUE
HACEN REFERENCIA A OBJETOS INDEPENDIENTES.
LOS SGBDOO DEBEN OFRECER OPCIONES DE ALMACENAMIENTO
PARA AGRUPAR LOS OBJETOS COMPONENTES DE UN OBJETO
COMPLEJO EN EL ALMACENAMIENTO SECUNDARIO:
PARA AUMENTAR LA EFICIENCIA DE LAS OPERACIONES QUE
TIENEN ACCESO AL OBJETO COMPLEJO.
BD ORIENTADAS A OBJETOS
52
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
HISTORIA:
BD ORIENTADAS A OBJETOS
54
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
PROPUESTA DE ARQUITECTURA OPERATIVA:
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
BD ORIENTADAS A OBJETOS
55
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
57
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ODMG: TYPES:
ATRIBUTOS:
TIPO ESTRUCTURADO ES UN TIPO CON UN NÚMERO FIJO DE
ELEMENTOS QUE PUEDEN SER DE DIFERENTE TIPO:
TIPOS
ATÓMICOS: INTEGER, FLOAT, CHARACTER,
STRING, BOOLEAN AND ENUMERATIONS.
TIPOS
PREDEFINIDOS:
DATE,
TIME,
INTERVAL,
TIMESTAMP.
COLECCIÓN: CONJUNTO DE ELEMENTOS DEL MISMO TIPO
(SET, BAG, LIST, ARRAY, DICTIONARY, TABLE). PUEDEN SER
DE TIPO BÁSICO O ESTRUCTURADO.
RELACIONES:
TIPOS
INTERFAZ,
REPRESENTAN
LAS
CLASES.
GENERALMENTE SE USAN EN RELACIONES (RELATIONSHIP).
BD ORIENTADAS A OBJETOS
59
56
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
EJEMPLO E/R:
ODMG: OBJECT – CLASS:
OBJECT: UN OBJETO ES UNA INSTANCIA DE UNA CLASE. OID:
ESTADO:
DEFINIDO POR UN CONJUNTO DE VALORES QUE EL
OBJETO LLEVA EN SUS PROPIEDADES (ATRIBUTOS, Y / O
VARIOS OTROS OBJETOS).
LOS VALORES DE LAS PROPIEDADES PUEDEN CAMBIAR A
LO LARGO DEL TIEMPO.
COMPORTAMIENTO: DEFINIDO POR UN CONJUNTO DE
OPERACIONES EJECUTABLES SOBRE EL OBJETO (MÉTODOS).
CLASS: COLECCIÓN DE OBJETOS CON LAS MISMAS
PROPIEDADES.
ODMG: CLASSES:
UNA CLASE SE ESPECIFICA POR :
LOS ATRIBUTOS (ABSTRACTOS).
LAS RELACIONES CON OTROS TIPOS DE OBJETOS.
LAS OPERACIONES.
BD ORIENTADAS A OBJETOS
58
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ODMG: RELATIONSHIP:
UN OBJETO PUEDE RELACIONARSE CON OTROS OBJETOS A
TRAVÉS DE RELATIONSHIP.
RELACIONES BINARIAS Y BI-DIRECCIONALES 1-1, 1-N, N-M.
ESTABLECER INVERSE PARA CONEXIÓN BIDIRECCIONAL EN
AMBAS INTERFACES.
EN ODL NO SE PUEDE EXPRESAR LA INTEGRIDAD REFERENCIAL.
BD ORIENTADAS A OBJETOS
60
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
EJEMPLO:
BD ORIENTADAS A OBJETOS
ODMG: KEY:
ATRIBUTO O CONJUNTO DE ATRIBUTOS QUE IDENTIFICA
UNÍVOCAMENTE CADA OBJETO DE UN TIPO.
SIMILAR AL KEY DEL RELACIONAL.
PREVIENE LA DUPLICIDAD PERO ADMITE NULOS.
BD ORIENTADAS A OBJETOS
ESTABLECER KEYS PARA ENTIDADES DÉBILES:
NO PUEDE HABER DOS TRABAJADORES CON EL MISMO
NÚMERO QUE TRABAJEN PARA EL MISMO ESTUDIO.
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
65
62
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
EJEMPLO:
BD ORIENTADAS A OBJETOS
63
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
EJEMPLO:
61
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
64
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ODMG: OBJECT MODEL:
SUBTIPOS (SUBTYPES) Y HERENCIA (INHERITANCE):
ODL PROVEE DOS CLASES DE HERENCIA:
• IS-A: DEFINE LA HERENCIA DE COMPORTAMIENTO
ENTRE TIPOS DE OBJETOS (INTERFACES O CLASES) Y
SE REPRESENTA POR UNA COMA.
• EXTENDS: DEFINE LA HERENCIA DE ESTADO QUE
SOLO APLICA A LAS CLASES.
ODL SOPORTA HERENCIA SIMPLE Y MÚLTIPLE.
BD ORIENTADAS A OBJETOS
66
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ESPECIFICACIÓN DE TIPOS:
BD ORIENTADAS A OBJETOS
67
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ODMG: SUBCLASSES:
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
71
HEREDAN
LOS
ATRIBUTOS
DE
SU
68
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
69
LA SINTAXIS DE LA DECLARACIÓN ES SIMILAR A LA DE
FUNCIONES EN C CON DOS IMPORTANTES AÑADIDOS:
LOS
PARÁMETROS DE LA FUNCIÓN SE PUEDEN
ESPECIFICAR COMO IN, OUT, INOUT SEGÚN SEA DE
ENTRADA, SALIDA O DE ENTRADA/SALIDA.
LAS FUNCIONES PUEDEN MANEJAR EXCEPCIONES QUE
SON RESPUESTAS ESPECIALES:
• UNA EXCEPCIÓN INDICA HABITUALMENTE UNA
CONDICIÓN ANORMAL QUE A SU VEZ SE TRATARÁ
MEDIANTE OTRO MÉTODO.
• EN ODL UNA DECLARACIÓN DE FUNCIÓN PUEDE SER
SEGUIDA POR LA PALABRA RAISES, SEGUIDA POR
UNA LISTA DE UNA O MÁS EXCEPCIONES QUE LA
FUNCIÓN PUEDE TRATAR.
ODMG: SUBCLASSES:
LAS
SUBCLASES
SUPERCLASE.
BD ORIENTADAS A OBJETOS
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ODMG: METHODS:
EN ODL UN MÉTODO ES UNA FUNCIÓN ASOCIADA A UNA
CLASE.
LOS MÉTODOS SE DECLARAN MEDIANTE EL CONCEPTO DE
SIGNATURE QUE NO ES MÁS QUE EL NOMBRE DE DICHO
MÉTODO JUNTO CON LOS TIPOS DE SUS ARGUMENTOS DE
ENTRADA Y EL TIPO DE SALIDA.
EL CÓDIGO DE UN MÉTODO NO FORMA PARTE DE LA
DECLARACIÓN Y SE SUPONE QUE SE ESCRIBIRÁ EN EL
LENGUAJE DE IMPLEMENTACIÓN.
BD ORIENTADAS A OBJETOS
70
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
EJEMPLO DE METHODS:
BD ORIENTADAS A OBJETOS
72
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ODMG: EXTENTS:
CUANDO SE DEFINE UNA CLASE SE HACE NECESARIO
DIFERENCIAR SU DEFINICIÓN, DEL CONJUNTO DE OBJETOS
QUE EXISTE DE ESA CLASE EN LA BASE DE DATOS.
EN ODL, ESTA DISTINCIÓN SE REALIZA DE FORMA EXPLÍCITA
DANDO A LA CLASE Y A SU EXTENT DISTINTOS NOMBRES.
EN GENERAL LA CLASE RECIBE EL NOMBRE EN SINGULAR Y
EL EXTENT EN PLURAL.
BD ORIENTADAS A OBJETOS
JERARQUÍA DE HERENCIA DE LAS INTERFACES PREDEFINIDAS
DEL MODELO DE OBJETOS :
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
73
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
77
OML:
LENGUAJE PARA CONSTRUIR PROGRAMAS QUE PERMITAN
REALIZAR LAS SIGUIENTES OPERACIONES EN LA BD:
CREAR OBJETOS.
MODIFICAR OBJETOS.
BORRAR OBJETOS.
IDENTIFICAR OBJETOS.
ODMG NO PROPONE QUE SEA ESTÁNDAR, SOLO UNA
EXTENSIÓN DEL LENGUAJE DE PROGRAMACIÓN: C++, JAVA
Y SMALLTALK..
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
74
ESTÁNDAR ODMG DEL MODELO DE
OBJETOS
75
DE
ODMG: INTERFACES:
LAS INTERFACES SON BÁSICAMENTE DEFINICIONES DE
CLASES QUE NO TIENEN EXTENT ASOCIADOS (ES DECIR, SIN
OBJETOS).
SON ÚTILES SI SE NECESITAN MANTENER EN LA BASE DE
DATOS VARIOS CONJUNTOS DE OBJETOS QUE TIENEN EL
MISMO TIPO (INTERFAZ) PERO PERTENECEN A DISTINTA
CLASE.
DEFINICIÓN
76
DE
ODL NO ES UN LENGUAJE DE PROGRAMACIÓN COMPLETO, ES UN
LENGUAJE DE DEFINICIÓN INDEPENDIENTE PARA ESPECIFICAR
OBJETOS.
EXTIENDE EL LENGUAJE IDL (INTERFACE DEFINITION
LANGUAGE) DESARROLLADO POR OMG COMO PARTE DE CORBA
(COMMON OBJECT REQUEST BROKER ARCHITECTURE).
DEFINE EL OBJETO CON SUS ATRIBUTOS Y PROTOTIPOS DE
MÉTODOS, NO SU IMPLEMENTACIÓN.
NO ESTÁ LIGADO A LA SINTAXIS CONCRETA DE UN LENGUAJE
DE PROGRAMACIÓN:
DEFINE TIPOS QUE PUEDEN IMPLEMENTARSE EN VARIOS
LENGUAJES DE PROGRAMACIÓN.
UN ESQUEMA DE DATOS DE OBJETO ESPECIFICADO EN ODL
PUEDE SER SOPORTADO POR CUALQUIER SGBDOO QUE CUMPLA
EL ESTÁNDAR ODMG.
BD ORIENTADAS A OBJETOS
78
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
NOTACIÓN:
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
DE
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
EJEMPLO 1:
BD ORIENTADAS A OBJETOS
83
DEFINICIÓN
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
DE
80
DE
EJEMPLO 1:
81
DE
DEFINICIÓN
NOTACIÓN:
79
EJEMPLO 1:
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
BD ORIENTADAS A OBJETOS
DE
DEFINICIÓN
82
DE
EJEMPLO 1:
BD ORIENTADAS A OBJETOS
84
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
EJEMPLO 1:
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
DE
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
EJEMPLO:
BD ORIENTADAS A OBJETOS
89
DEFINICIÓN
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
DE
86
DE
EJEMPLO:
87
DE
DEFINICIÓN
EJEMPLO 1:
85
EJEMPLO 2:
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
BD ORIENTADAS A OBJETOS
DE
DEFINICIÓN
88
DE
EJEMPLO:
BD ORIENTADAS A OBJETOS
90
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
EJEMPLO:
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
DE
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
LENGUAJE DE
OBJETOS ODL
DEFINICIÓN
EJEMPLO:
BD ORIENTADAS A OBJETOS
95
DEFINICIÓN
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
DE
92
DE
EJEMPLO:
93
DE
DEFINICIÓN
EJEMPLO:
91
EJEMPLO:
BD ORIENTADAS A OBJETOS
LENGUAJE DE
OBJETOS ODL
BD ORIENTADAS A OBJETOS
DE
DEFINICIÓN
94
DE
EJEMPLO:
BD ORIENTADAS A OBJETOS
96
LENGUAJE
DE
OBJETOS OQL
CONSULTA
DE
LENGUAJE
DE
OBJETOS OQL
BD ORIENTADAS A OBJETOS
LENGUAJE
DE
OBJETOS OQL
CONSULTA
FORMATO DEL SELECT:
BD ORIENTADAS A OBJETOS
LENGUAJE
DE
OBJETOS OQL
BD ORIENTADAS A OBJETOS
LENGUAJE
DE
OBJETOS OQL
CONSULTA
99
DE
EJEMPLO:
OBTENER LOS NOMBRES DE LOS DEPARTAMENTOS DE LA
ESCUELA DE INGENIERÍA:
BD ORIENTADAS A OBJETOS
101
CONSULTA
98
DE
EJEMPLO:
BD ORIENTADAS A OBJETOS
LENGUAJE
DE
OBJETOS OQL
DE
LENGUAJE DE CONSULTA SOBRE UN MODELO DE DATOS EN
ODL.
CARACTERÍSTICAS:
SINTAXIS SIMILAR A SQL.
PUEDEN INVOCARSE MÉTODOS.
NO PROPORCIONA OPERADORES EXPLÍCITOS PARA LA
MODIFICACIÓN, SE BASA EN LAS OPERACIONES QUE PARA
ESE FIN SE HAYAN DEFINIDO SOBRE LOS OBJETOS.
SE CONSULTA SOBRE EL EXTENT NO LA CLASE.
97
DE
CONSULTA
CONSULTA
100
DE
EJEMPLO:
RECUPERAR
LOS NOMBRES Y APELLIDOS DE LOS
ESTUDIANTES TUTORIZADOS POR EL DIRECTOR DEL DPTO. DE
INFORMÁTICA Y LOS TÍTULOS QUE TIENE CADA UNO:
BD ORIENTADAS A OBJETOS
102
LENGUAJE
DE
OBJETOS OQL
CONSULTA
LENGUAJE
DE
OBJETOS OQL
EJEMPLO:
BD ORIENTADAS A OBJETOS
LENGUAJE
DE
OBJETOS OQL
DE
CONSULTA
EJEMPLO:
BD ORIENTADAS A OBJETOS
LENGUAJE
DE
OBJETOS OQL
BD ORIENTADAS A OBJETOS
105
DISEÑO CONCEPTUAL DE BASES DE
DATOS DE OBJETOS
104
DE
EJEMPLO:
106
DISEÑO CONCEPTUAL DE BASES DE
DATOS DE OBJETOS
107
CONSULTA
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
DE
EJEMPLO:
103
DE
CONSULTA
DIFERENCIAS ENTRE EL DISEÑO CONCEPTUAL DE UNA BOO Y
UNA BDR
UNA DE LAS DIFERENCIAS PRINCIPALES RESIDE EN LA FORMA
EN LA QUE SE TRATAN LAS RELACIONES.
EN BOO LAS RELACIONES SE SUELEN ESTABLECER MEDIANTE
PROPIEDADES DE RELACIÓN O ATRIBUTOS DE REFERENCIA
QUE INCLUYEN OID (IDENTIFICADORES DE OBJETOS) DE LOS
OBJETOS RELACIONADOS:
PUEDEN CONSIDERARSE REFERENCIAS OID A LOS OBJETOS
RELACIONADOS.
SE PERMITEN TANTO LAS REFERENCIAS ÚNICAS COMO LAS
COLECCIONES DE REFERENCIAS.
LAS REFERENCIAS DE UNA RELACIÓN BINARIA PUEDEN
DECLARARSE EN UNA ÚNICA DIRECCIÓN, O EN AMBAS
DIRECCIONES.
BD ORIENTADAS A OBJETOS
108
DISEÑO CONCEPTUAL DE BASES DE
DATOS DE OBJETOS
EN BDR LAS RELACIONES ENTRE LAS TUPLAS (REGISTROS) SE
ESPECIFICAN
MEDIANTE
ATRIBUTOS
CON
VALORES
COINCIDENTES:
PUEDEN CONSIDERARSE REFERENCIAS DE VALORES Y SE
ESPECIFICAN MEDIANTE CLAVES EXTERNAS:
QUE SON VALORES DE ATRIBUTOS DE CLAVE PRIMARIA
REPETIDOS EN TUPLAS DE LA RELACIÓN QUE LE HACE
REFERENCIA.
ESTAS REFERENCIAS ESTÁN LIMITADAS A TENER UN ÚNICO
VALOR EN CADA REGISTRO YA QUE LOS ATRIBUTOS
MULTIVALUADOS NO SE PERMITEN EN EL MODELO
RELACIONAL BÁSICO.
BD ORIENTADAS A OBJETOS
OTRA DIFERENCIA ENTRE EL DISEÑO DE BDO Y BDR ES EL MODO
DE ABORDAR LA HERENCIA:
EN UNA BDO, ESTAS ESTRUCTURAS SE INCORPORAN AL
MODELO Y LA CORRESPONDENCIA SE CONSIGUE MEDIANTE
LA UTILIZACIÓN DE LOS CONSTRUCTORES DE HERENCIA.
EN EL DISEÑO RELACIONAL HAY VARIAS OPCIONES YA QUE
NO EXISTE NINGÚN ELEMENTO PREDEFINIDO PARA LA
HERENCIA EN EL MODELO RELACIONAL BÁSICO.
BD ORIENTADAS A OBJETOS
109
DISEÑO CONCEPTUAL DE BASES DE
DATOS DE OBJETOS
DISEÑO CONCEPTUAL DE BASES DE
DATOS DE OBJETOS
BD ORIENTADAS A OBJETOS
112
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
113
OTRA DIFERENCIA IMPORTANTE ES QUE EN EL DISEÑO DE BDO
ES NECESARIO ESPECIFICAR LAS OPERACIONES AL COMIENZO
DEL DISEÑO YA QUE FORMAN PARTE DE LAS ESPECIFICACIONES
DE LAS CLASES.
ESTO PUEDE RETRASARSE EN EL DISEÑO DE UNA BDR DADO
QUE ELLO NO ES ESTRICTAMENTE NECESARIO HASTA LA FASE
DE IMPLEMENTACIÓN.
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
110
DISEÑO CONCEPTUAL DE BASES DE
DATOS DE OBJETOS
111
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
LA CORRESPONDENCIA DE RELACIONES BINARIAS QUE
CONTIENEN ATRIBUTOS NO RESULTA SENCILLA EN LAS BOO:
EL DISEÑADOR DEBE ELEGIR LA DIRECCIÓN EN LA QUE
DEBERÍAN INCLUIRSE LOS ATRIBUTOS.
SI LOS ATRIBUTOS SE INCLUYEN EN AMBAS DIRECCIONES
HABRÁ REDUNDANCIA EN EL ALMACENAMIENTO Y PUEDE DAR
LUGAR A DATOS INCONSISTENTES:
A VECES ES PREFERIBLE EMPLEAR EL MÉTODO RELACIONAL
DE CREACIÓN DE UNA TABLA DISTINTA, GENERANDO UNA
CLASE DIFERENTE PARA REPRESENTAR LA RELACIÓN.
¿QUÉ ES CORBA?
CORBA: COMMON OBJECT REQUEST BROKER ARCHITECTURE.
ES UNA HERRAMIENTA QUE FACILITA EL DESARROLLO DE
APLICACIONES
DISTRIBUIDAS
EN
ENTORNOS
HETEROGÉNEOS (HW Y SW).
DISTINTOS SISTEMAS OPERATIVOS (UNIX, WINDOWS,
MACOS, OS/2).
DISTINTOS PROTOCOLOS DE COMUNICACIÓN (TCP/IP,
IPX, …).
DISTINTOS LENGUAJES DE PROGRAMACIÓN (JAVA, C,
C++, …).
DEFINE LA INFRAESTRUCTURA PARA LA ARQUITECTURA
OMA (OBJECT MANAGEMENT ARCHITECTURE):
ESPECIFICA LOS ENTÁNDARES NECESARIOS PARA LA
INVOCACIÓN DE MÉTODOS SOBRE OBJETOS EN ENTORNOS
HETEROGÉNEOS.
BD ORIENTADAS A OBJETOS
114
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
115
HISTORIA
OMG (OBJECT MANAGEMENT GROUP):
CONSORCIO CREADO EN 1989, PRIMER “PRODUCTO”: CORBA.
INICIALMENTE 8 EMPRESAS (SUN, HP, 3COM,...):
HOY: MÁS DE 800 SOCIOS:
• PROVEEDORES DE SW Y EQUIPOS, OPERADORES DE
TELECOMUNICACIONES,
EMPRESAS,
UNIVERSIDADES,...
HTTP://WWW.OMG.ORG/
OMA (OBJECT MANAGEMENT ARCHICTECTURE):
INICIAL: 1990.
CORBA
(COMMON
OBJECT
REQUEST
BROKER
ARQUITECTURE):
CORBA 1: 1991.
CORBA 2: 1995.
CORBA 3: 2002.
BD ORIENTADAS A OBJETOS
116
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
¿PARA QUÉ SIRVE?
PERMITIR INVOCACIÓN DE MÉTODOS DE UN OBJETO POR
OBJETOS QUE RESIDEN EN DIFERENTES MÁQUINAS EN
ENTORNOS HETEROGÉNEOS:
LOS
OBJETOS PUEDEN ESTAR DESARROLLADOS EN
DIFERENTES LENGUAJES.
LOS EQUIPOS PUEDEN TENER DIFERENTE:
HARDWARE.
SISTEMA OPERATIVO.
LOS EQUIPOS PUEDEN ESTAR CONECTADOS ENTRE SÍ
USANDO DISTINTOS PROTOCOLOS DE COMUNICACIÓN.
FACILITAR EL DESARROLLO DE APLICACIONES DISTRIBUIDAS.
BD ORIENTADAS A OBJETOS
CARACTERÍSTICAS
ORIENTADO A OBJETOS:
ENCAPSULACIÓN.
HERENCIA.
LATE BINDING & POLIMORFISMO.
BD ORIENTADAS A OBJETOS
COMUNICACIÓN POR INVOCACIÓN DE MÉTODOS REMOTOS:
MÁS FÁCIL DE PROGRAMAR QUE IPC, SOCKETS, RPC, ETC.
STUB:
REPRESENTANTE LOCAL DEL OBJETO REMOTO.
ENCARGADO DE LA COMUNICACIÓN CON EL OBJETO
REMOTO.
SKELETON:
ENCARGADO DE LA COMUNICACIÓN CON EL CLIENTE.
CLIENTE-SERVIDOR DE GRANO FINO:
INTERACCIONES SON DE TIPO CLIENTE-SERVIDOR.
PAPELES:
MISMA ENTIDAD PUEDE ACTUAR COMO
CLIENTE O SERVIDOR.
117
SEPARACIÓN INTERFAZ-IMPLEMENTACIÓN:
LA INTERFAZ DEFINE UN CONTRATO.
CORBA IDL (INTERFACE DEFINITION LANGUAGE)
MULTI-LENGUAJE:
MAPEO IDL → LENGUAJES DE
PROGRAMACIÓN.
REFERENCIA DE OBJETO: IDENTIFICADOR ÚNICO DE UN
OBJETO:
COMO UN PUNTERO:
• PUEDE SER NIL: NO APUNTA A NINGÚN OBJETO.
• PUEDE ESTAR COLGANDO: APUNTA A UN OBJETO
INALCANZABLE O QUE NO EXISTE.
PUEDE SER TRANSIENT O PERSISTENT.
PUEDE CONVERTIRSE ENTRE FORMA INTERNAY FORMA
CADENA.
CORBA 2 IOR (INTEROPERABLE OBJECT REFERENCE):
PARA EVITAR CONFLICTOS ENTRE IMPLEMENTACIONES
DE DIFERENTES VENDEDORES.
BD ORIENTADAS A OBJETOS
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
119
BD ORIENTADAS A OBJETOS
118
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
PROTOCOLO ESTÁNDAR:
IIOP:
INTERNET
INTER-ORB
PROTOCOL
(IMPLEMENTACIÓN DEL GIOP).
IMPLEMENTADO ENCIMA DE TCP/IP.
MODOS DE COMUNICACIÓN:
SÍNCRONA:
• INVOCACIÓN DE MÉTODOS REMOTOS NORMAL.
• REPUESTA PUEDE SER DE TIPO VOID.
ASÍNCRONA:
• INVOCACIÓN DE MÉTODOS DEFINIDOS COMO
ONEWAY.
• CORBA 3: AÑADE SERVICIO DE MENSAJERÍA (PATRÓN
PUBLISHER-SUBSCRIBER).
USO DE ENVOLTURAS (WRAPPERS):
PERMITE INTEGRAR LOS SISTEMAS HEREDADOS.
NORMALMENTE, UNA SOLA INSTANCIA DE CADA CLASE.
BD ORIENTADAS A OBJETOS
120
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
ORB (OBJECT REQUEST BROKER):
NÚCLEO DE CORBA: UN BUS DE SOFTWARE.
OCULTA LA HETEROGENEIDAD A LAS DOS PARTES.
OCULTA LOS DETALLES DE LA COMUNICACIÓN A LAS
DOS PARTES.
PROPORCIONA TRANSPARENCIA DE LOCALIZACIÓN VIA
REFERENCIAS DE OBJETO:
• INTERPRETA LAS REFERENCIAS DE OBJETO.
• CANALIZA LAS INVOCACIONES DEL CLIENTE AL
OBJETO REMOTO CORRECTO.
• CANALIZA LAS RESPUESTAS DEL OBJETO REMOTO AL
CLIENTE.
BD ORIENTADAS A OBJETOS
¿CÓMO FUNCIONA?
EL SERVIDOR:
CREA OBJETOS REMOTOS.
HACE ACCESIBLES REFERENCIAS A OBJETOS REMOTOS.
ESPERA A QUE LOS CLIENTES INVOQUEN A ESTOS
OBJETOS REMOTOS O A SUS MÉTODOS.
EL CLIENTE:
OBTIENE UNA REFERENCIA DE UNO O MÁS OBJETOS
REMOTOS EN EL SERVIDOR.
INVOCA A SUS MÉTODOS.
BD ORIENTADAS A OBJETOS
¿CÓMO SE REALIZA LA INVOCACIÓN?
BD ORIENTADAS A OBJETOS
122
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
ELEMENTOS DE LA ARQUITECTURA
BD ORIENTADAS A OBJETOS
124
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
125
PROPORCIONA TRANSPARENCIA DE DISTRIBUCIÓN:
• COMPORTAMIENTO IGUAL EN CENTRALIZADO O
DISTRIBUIDO.
SE OCUPA DE LA ACTIVACIÓN Y DESACTIVACIÓN DE
OBJETOS.
PROPORCIONA SERVICIOS PARA CONSTRUIR PETICIONES
DINÁMICAMENTE.
BD ORIENTADAS A OBJETOS
123
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
121
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
¿CÓMO SE RECIBE LA PETICIÓN?
BD ORIENTADAS A OBJETOS
126
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
¿CÓMO SE USA?
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
BD ORIENTADAS A OBJETOS
cliente
127
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
OBJECT MANAGEMENT ARCHITECTURE
ARQUITECTURA DEL MODELO DE REFERENCIA:
BD ORIENTADAS A OBJETOS
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
ADAPTADORES DE OBJETOS ESTANDARIZADOS
BASIC OBJECT ADAPTER (BOA, 1990):
SUB-ESPECIFICADO ⇒ EL API OFRECIDO DEPENDE DEL
VENDEDOR DEL ORB.
PORTABLE OBJECT ADAPTER (POA, 1998):
PROPÓSITO PRINCIPAL: PORTABILIDAD:
• CÓDIGO DEL SERVIDOR INDEPENDIENTE DE LA
IMPLEMENTACIÓN DEL ORB.
ESTÁNDARIZA UN CONTROL MÁS FINO DEL ENTORNO DE
EJECUCIÓN DEL SERVIDOR:
• ACERCAR EL ADAPTADOR DE OBJETOS A LA NOCIÓN
DE CONTENEDOR.
BD ORIENTADAS A OBJETOS
BD ORIENTADAS A OBJETOS
131
128
ESTÁNDAR CORBA PARA OBJETOS
DISTRIBUIDOS
129
OBJECT MANAGEMENT ARCHITECTURE
MODELO DE OBJETOS
UN SISTEMA DE OBJETOS DE SERVICIOS A CLIENTES:
CLIENTE: ENTIDAD CAPAZ DE HACER PETICIÓNDE UN
SERVICIO (A UN OBJETO).
OBJETO: ENTIDAD IDENTIFICABLE Y ENCAPSULABLEQUE DA
SERVICIOS.
PETICIÓN: EVENTO QUE TIENE ASOCIADO OPERACIÓN,
PARÁMETROS, TARGET OBJECT, CONTEXTO:
FORMATO DE UNA PETICIÓN SE DEFINE POR:
• UN LENGUAJE DE “BINDING”.
• POR UNA LLAMADA DE INVOCACIÓN DINÁMICA.
REFERENCIA DE UN OBJETO: NOMBRE QUE DENOTA A UN
OBJETO EN PARTICULAR.
PARÁMETROS: IDENTIFICADOS POR POSICIÓN (PUEDEN SER
DE TIPO ENTRADA, SALIDA O ENTRADA-SALIDA).
ARQUITECTURA CORBA
BD ORIENTADAS A OBJETOS
130
Descargar