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