Está en la página 1de 8

DISEÑO DE UN SISTEMA MANEJADOR DE BASES DE DATOS

ORIENTADO A OBJETOS

NELSON JAVIER CELIS CRUZ YELIXE MENDOZA USCATEGUI


Ingeniero del software Ingeniería del software
Universidad Francisco de Paula Santander Universidad Francisco de Paula Santander
nelsonjcelisc@yahoo.com Yelixemendoza@yahoo.com
COLOMBIA COLOMBIA

RESUMEN
El propósito de este artículo es difundir las conclusiones establecidas por los autores en el proyecto: “Diseño de
un sistema manejador de base de datos orientado a objetos”. Los sistemas manejadores de bases de datos
orientados a objetos aprovechan la expresividad del paradigma de la orientación a objetos para elaborar
esquemas de bases de datos más robustos y completos que facilitan la construcción de software más complejo
como: Aplicaciones CAD, CAM, GIS, y software de lógica descriptiva. Actualmente existen estándares y
herramientas que pueden ser utilizados en la elaboración de un sistema manejador de bases de datos orientado a
objetos para solucionar problemas como la persistencia de los objetos y la comunicación entre el cliente y el
servidor, centrándose en el problema de diseñar e implementar un lenguaje de manipulación y definición de
datos, y la transformación semántica entre el objeto y sus relaciones con otros objetos.

PALABRAS RELEVANTES y transformen a las bases de datos relacionales


?? SMBDOO en aparentes objetos perdiendo tiempo en
?? IDL dichos procesos. La promesa que hacen los
?? OQL SGBDOO es eliminar este desfase y
?? Persistencia proporcionar un SGBD que sea accesible
desde múltiples lenguajes de alto nivel.
?? Orientación a objetos
ODMG [8], Object Data Management Group,
1 INTRODUCCIÓN representa el primer intento de estandarización
Los sistemas de gestión de bases de datos de las bases de datos orientadas a objetos.
orientados a objetos (SGBDOO) heredan las Este grupo está integrado por los principales
funcionalidades propuestas para los sistemas fabricantes de SGBDOO existentes en el
de gestión de bases de datos (SGBD) más la mercado. En el año de 1990 la ODMG propone
funcionalidad de un modelo de datos orientado tres principios básicos para los SGBD de
a objetos (MDOO) [7] como se ilustra en la tercera generación (3G).
figura 1.
Se enmarcan los siguientes principios:
SGBDOO = SGBD + MDOO
Figura 1. Composición de un SGBDOO Principio 1: “Además de los servicios
tradicionales de gestión de datos, los SGBD 3G
De esta forma, un SGBDOO tiene proporcionarán gestión de objetos”
características que pertenecen a los sistemas
de gestión de base de datos como: Principio 2: “Los SGBD 3G deben subsumir los
persistencia, concurrencia, procesamiento de SGBD de segunda generación (ó relacionales)”
consultas ad-hoc, y características que
pertenecen al modelo de datos orientado a Principio 3: “Los SGBD 3G deben ser abiertos
objetos como: manejo de objetos complejos, a otros subsistemas”
identidad del objeto, encapsulamiento, tipos o
clases, herencia, polimorfismo y sobrecarga. El estándar ODMG versión 3.0 [3][8] establece
una serie de características básicas sobre la
Al utilizar un modelo de datos orientado a base de datos, el modelo de datos, el lenguaje
objetos se hace más fácil modelar o abstraer de especificación de objetos y el lenguaje de
sistemas del mundo real. En la actualidad los consulta.
ingenieros de software y desarrolladores que
utilizan metodologías que se apoyan en UML En la actualidad existen distintos manejadores
ocupan parte del proceso de diseño e de bases de datos orientados a objetos, desde
implementación en elaborar clases que oculten algunos bastante primitivos que simplemente
proporcionan persistencia y el manejo de 2 ARQUITECTURA CORBA DE
algunos tipos de relaciones entre objetos hasta OMG
otros muy completos que soportan Una aplicación es un conjunto de clases e
características como: capacidad de instancias que interactúan a través del corredor
concurrencia, almacenamiento de métodos en de requerimientos de objetos, que es un bus de
la base de datos, lenguajes de consulta, software que permite que los objetos hagan y
manejo de herencia simple, tecnología cliente / reciban peticiones y respuestas (figura 3).
servidor, entre otras [3]. Cada aplicación o servicio se modela como un
objeto.
La arquitectura de un sistema es la estructura OS: Es la colección de objetos de servicio que
conceptual que permite definirlo y especificarlo proveen las funciones básicas para crear y
por medio de la identificación del conjunto de mantener objetos de cualquier categoría.
piezas que lo componen y cómo estas se FC: Es la colección de clases y objetos que
relacionan entre sí. proveen capacidades de propósito general que
son útiles en cualquier aplicación.
En mayo de 1985 el consorcio OA: Son los objetos específicos de cualquier
ANSI/X3/SPARC presenta un modelo de aplicación de usuario final.
referencia para el desarrollo de las bases de
datos el cual es utilizado como marco de
referencia para el estudio, descripción y OA FC
análisis de los sistemas manejadores de bases Corredor de
de datos. requerimientos de objetos

El modelo de referencia ANSI/X3/SPARC está


conformado por tres niveles o componentes OS
que conforman un sistema manejador de base
de datos (figura 2). Figura 3. Arquitectura básica CORBA

HGD
3 CONCEPTOS BÁSICOS
LD LDi Un objeto modela cualquier entidad identificada
unívocamente, que persiste a lo largo del
SCTD SO periodo de vida del objeto y que es
independiente de las propiedades y
comportamientos del objeto.

Figura 2. Modelo ANSI/X3/SPARC Las operaciones se aplican a los objetos. Las


operaciones asociadas con un objeto
El modelo de referencia (MR), se conforma de caracterizan su comportamiento. Los objetos se
las siguientes piezas: El sistema de control de crean como instancias de los tipos. Un tipo
transformación de datos (SCTD), que funciona caracteriza el comportamiento de sus
cómo núcleo (corazón) del sistema de manejo instancias por medio del conjunto de
de bases de datos, y proporciona los operaciones asociadas con el tipo. Las
operadores para la descripción y manipulación interrelaciones entre los tipos son supertipo y
de datos; La interfaz de lenguaje de datos subtipo.
interno (LDi) por medio del cual el SCTD,
establece la conexión con los servicios El estado de un objeto es el conjunto de
proporcionados por el sistema operativo (SO); valores e interrelaciones de dicho objeto. Cada
La interfaz de lenguaje de datos (LD), lenguaje objeto tiene una identidad única distinta e
que permite a los usuarios del sistema realizar independiente de cualquier otra característica.
peticiones de recuperación de datos al SCTD; La identidad es constante (inmutable). Cada
Y finalmente las herramientas de gestión de objeto tiene un identificador que denota o
datos (HGD), que son los programas de refiere a dicho objeto (OId).
aplicación que permiten a los usuarios El conjunto de los OIds se denota como Obj.
interactuar con el SCTD y realizar la correcta Los objetos no cambian de tipo.
administración de las bases de datos. Cada operación tiene una firma que consiste de
un nombre, un conjunto de parámetros y un
conjunto de resultados.
El conjunto de todas las firmas de un tipo es la
interfaz del tipo y ella incluye las que son
heredadas de sus supertipos.
Cada instancia de un tipo satisface la interfaz ?? El número y tipo de los parámetros es el
de dicho tipo. mismo
El conjunto de todas las instancias de un tipo ?? El número y tipo de los resultados es el
es la extensión del tipo. mismo
Los tipos se organizan en jerarquía formando
un digrafo acíclico. Los tipos abstractos no tienen instancias y
La raíz de la jerarquía es el tipo Objeto. sirven para definir estructura y comportamiento
Los nuevos tipos creados por las aplicaciones común para los subtipos. Cuando una
son subtipos del tipo Objeto. operación es pedida, se selecciona una
El conjunto de todos los tipos de objetos se implementación de la misma para ser
denomina OTipos. ejecutada. Este proceso se denomina
despachar.
Valores que no son objetos se denominan no-
objetos. El conjunto de los objetos y los no- La operación Omega: omega:(X1: sigma1, X2:
objetos conforman todos los valores sigma2, ..., Xn: sigman)=> (Y 1: ro1, Y2: ro2,...,
denotables, DVal. Ym : rom )
El conjunto de los no-objetos se denomina cuando es invocada r1 ,..., rm <= omega(E 1, E2,
NObj. ..., En)
El conjunto de los tipos de los no-objetos se donde omega es el nombre de Omega, Ei son
denomina NTipos. los argumentos de entrada y ri los resultados.
DVal=Obj/\NObj Una petición es válida si los Ei se pueden
evaluar en alfai o en sus tipos inmediatos alfai
Cada no-objeto debe pertenecer a un tipo menor o igual que sigmai.
NTipo. Estos no forman parte de la jerarquía de
objetos. La firma garantiza que la petición regrese un
No se especifican operaciones para los objetos conjunto de resultados betai del tipo o de su
y los no-objetos, ya que sus tipos son tipo inmediato betai menor o igual que roi.
diferentes. La semántica del pase de argumentos es por
Una operación describe una acción que se valor.
puede aplicar a los parámetros. Una clase define una especificación y una
La invocación de una operación es un evento implementación del tipo.
que puede producir: Un objeto es una instancia de una clase.
Los tipos pueden tener varias
?? Un conjunto de resultados inmediatos implementaciones, por lo cual sus instancias
(Observador) pueden pertenecer a varias clases.
?? Efectos colaterales expresados en un
cambio de estado (Transformador) 4 DISEÑO DE UN SISTEMA
?? Excepciones (Errores y advertencias) MANEJADOR DE BASES DE
DATOS ORIENTADO A
Cada tipo T que pertenece a OTipos tiene un
conjunto de operaciones Ops(T) = {Omega1 ,
T OBJETOS.
T La realización del SMBDOO enmarca las
Omega2 ,..}
Especialización y generalización son relaciones siguientes actividades:
entre los tipos que están basadas en sus
interfaces. Ellas definen las reglas por las ?? Elaboración de un modelo de datos
cuales unos objetos de un tipo son aceptados orientado a objetos.
en el contexto de otro tipo. ?? Definición de la estructura y el
Herencia es un mecanismo para re-usar almacenamiento físico de los datos.
estructura y comportamiento, lo cual permite ?? Definición del mecanismo de comunicación
que un tipo sea definido en términos de otro. entre el sistema de base de datos y los
Un objeto es una instancia directa de un tipo si usuarios.
ella es una instancia de ese tipo y no de los ?? Definición de un modelo para acceder a la
subtipos del tipo. base de datos orientada a objetos.
Si S es un subtipo de T (T es un supertipo de 4.1 ELABORACIÓN DE UN MODELO
S), entonces para cada operación Omegak T DE DATOS ORIENTADO A
que pertenece a Ops(T) existe una operación
correspondiente OmegajS que pertenece a
OBJETOS.
Ops(S) tal que : El modelo de datos indica al SMBD y al usuario
el modo de abstraer los sistemas analizados
que hacen parte del mundo real, de aquí surge
?? Tienen el mismo nombre
la importancia de establecer el modelo de 4.1.2 Agregación y composición
datos. La agregación y la composición describen
objetos compuestos de otros objetos, los
Elisa Bertino menciona sobre el modelo de conceptos de agregación y composición
datos: “No hay un modelo común a utilizar difieren en que la composición permite a los
como punto de referencia, ningún fundamento objetos parte, existir al eliminar el objeto
formal,tampoco ningún estándar para los compuesto, en cambio la agregación elimina
modelos orientados a objetos, como si lo hay los objetos parte junto con el objeto
en el caso del modelo relacional” [5]. Por lo compuesto. La agregación es representada por
tanto, el modelo de datos debe ser el primer un rombo sin rellenar, la composición también
resultado del diseño pues es el punto de es representada por un rombo pero relleno.
partida para realizar el diseño del SMBD. 4.1.3 Herencia
La herencia se representa con una flecha que
Para la realización del modelo de datos se apunta al padre. Además el modelo de datos
utiliza el estándar UML [10] (lenguaje unificado exige que si una clase hija es persistente
de modelado, por sus siglas en ingles) como entonces su padre debe ser persistente y
herramienta para representar simbólicamente pertenecer a la misma base de datos para que
el conjunto de datos persistentes relacionados de este modo el SMBD pueda proporcionar
entre sí, es decir, los esquemas de bases de integridad referencial. En la figura 5 se muestra
datos. un ejemplo de la representación de herencia
entre una persona (clase padre) y un empleado
Las características distintivas incluidas en el (clase hija) para un esquema de base de datos.
modelo de datos orientado a objetos son:
4.1.1 Clases persona
Las clases representan la forma de modelar <<persistente>>
entidades del mundo real que presentan - id
- nombre
atributos y métodos comunes. Una - dirección
característica típica de los objetos en un + agregar ()
SMBDOO es su persistencia. Los objetos o + eliminar ()
instancias de clases son persistentes cuando
pueden almacenarse en memoria secundaria
(una base de datos o un archivo) y recuperarse
empleado
posteriormente, en lugar de existir solo en <<persistente>>
memoria principal. El modelo de datos adiciona - sueldo
la característica de persistencia al representar - jefe
clases que abstraen objetos persistentes, + calcular_sueldo()
clases persistentes. Para diferenciar una clase +establecer_sueldo()
como persistente se adiciona junto al nombre
de la clase la etiqueta “<<persistente>>” como Figura 5. Representación de herencia
se muestra en la figura 4
4.1.4 Representación de una base de
Nombre datos
<<persistente>> Si el analista y/o diseñador del sistema
considera conveniente separar las clases
Atributos persistentes para concebirlas como una base
de datos puede hacerlo utilizando un paquete
Métodos de base de datos. Además si el sistema maneja
mas de una base de datos, es ventajoso indicar
Figura 4. Representación de una clase la base de datos a la que pertenece.
persistente.
Un paquete en UML es un elemento que
El modelo de datos introduce las etiquetas de agrupa a su vez otros elementos dentro de él.
persistencia para que el ingeniero de software El paquete de base de datos es un paquete
logre incluir las clases persistentes y no que agrupa clases persistentes y sus
persistentes en un solo diagrama de clases; relaciones, es decir, un paquete de base de
facilitando de esta forma un mejor datos contiene el diagrama de clases
entendimiento del sistema analizado y las persistentes.
relaciones entre las clases.
Un paquete se simboliza por una carpeta con
nombre y los elementos que contiene. Para
representar un paquete de base de datos se almacenados y el valor es el contenido del
adiciona junto al nombre que identifica el atributo, llamaremos a estos archivos físicos:
paquete, la etiqueta “<<base de datos>>” como pila de instancias de la clase n, donde n es el
se ilustra en la figura 6. nombre de la clase.

Nomina Cada objeto del esquema de base de datos


<<base de datos>> tendrá su propia pila de instancias sin importar
si presenta relaciones de herencia,
persona composición, agregación y asociación, los
<<persistente>>
* objetos relacionados se almacenan en la lista
- id
- nombre de propiedades del objeto, en donde en el
- departamento 1 campo valor contendrá el ido del objeto
+ agregar () departamento referenciado.
+ eliminar () <<persistente>>
+ consultar () - id
- nombre
Se dice entonces que el conjunto de
+ agregar() propiedades almacenadas para un objeto en la
+eliminar() pila de instancias representa una instancia de
una clase.
4.2.3 Diccionario de datos.
Figura 6. Representación de un paquete de Base El diccionario de datos se describe como la
de datos
base de datos que utiliza el SMBD para ejercer
control sobre la integridad de los datos, el
4.2 DEFINICIÓN DE LA diccionario de datos almacena la descripción
ESTRUCTURA Y EL de las clases y sus relaciones (agregación,
ALMACENAMIENTO FÍSIC O DE composición, herencia, asociación).
LOS DATOS.
El diccionario de datos contiene un grafo
4.2.1 Identificadores de objetos (IDO)
dirigido para cada uno de los tipos de
Una clase es la abstracción de un conjunto de
relaciones: un grafo que representa las
objetos. Cada objeto es identificado con un IDO
relaciones de agregación (grafo de
[1] [5] que es asignado por el sistema, trayendo
agregación), un grafo que representa las
como ventaja que el programador no tiene que
relaciones de composición (grafo de
preocuparse por asignar una clave que
composición), un grafo que representa las
identifique al objeto; cada IDO es único en la
relaciones de asociación (grafo de asociación)
base de datos.
y un grafo que representa las relaciones de
herencia (grafo de herencia) que tiene la
El concepto de IDO introduce 2 nociones de
particularidad de ser acíclico. Entiéndase por
igualdad entre objetos:
clases los vértices del grafo.
?? Identidad por igualdad: consiste en que 2
El conjunto de vértices representa cada una de
objetos son idénticos si tienen el mismo las clases del esquema de base de datos y el
IDO.
conjunto de aristas representa las relaciones
?? Igualdad por valor: consiste en que 2 entre las clases.
objetos son iguales si los valores de sus
atributos son iguales. El SMBD no almacena los métodos en la base
de datos, posteriormente se aclarara en donde
La identidad subsume la igualdad, es decir, 2 se almacenan los métodos de las clases.
objetos pueden ser iguales pero no idénticos y
si 2 objetos son idénticos necesariamente son Para la realización de consultas sobre la base
iguales. de datos los grafos tienen la propiedad de crear
subgrafos con los vértices solicitados en la
Los dos proporcionan un soporte importante consulta incluyendo sus aristas. Este aspecto
para establecer mecanismos que controlen la es de especial cuidado pues se tiene que
integridad y persistencia de los objetos. prever que vértices adicionales deben ser
4.2.2 Almacenamiento de los objetos. incluidos en el subgrafo de consulta.
Los objetos son almacenados en archivos
físicos con la siguiente estructura: <IDO, Para un subgrafo de consulta de herencia se
atributo, tamaño, valor> para cada atributo del trae toda la jerarquía de herencia de los
objeto; donde el IDO es el identificador único vértices solicitados ya que es posible que el
del objeto, el atributo es el nombre del atributo usuario solicite un atributo de una clase padre.
del objeto, el tamaño es el número de bytes
Para un subgrafo de consulta de agregación se se indique el numero de atributos, valor,
traen las clases referenciadas a la clase nombre del atributo y tipo de dato, para que el
solicitada. Para un subgrafo de composición se resultado de consulta pueda proveer al usuario
traen las clases anexadas a la clase solicitada. un procedimiento que facilite el acceso a los
Además al traer clases adicionales a las atributos de las instancias por medio de sus
solicitadas se debe tener en cuenta que éstas a nombres.
su vez deben cumplir las condiciones
anteriormente mencionadas. El segundo método para realizar operaciones
4.3 DEFINICIÓN DEL MECANISMO sobre los datos es a través de un conjunto de
DE COMUNICACIÓN ENTRE EL atributos proporcionados por la propia clase,
con la limitación de que solo será posible hacer
SISTEMA DE BASE DE DATOS consultas exclusivamente a la clase.
Y LOS USUARIOS.
Esta actividad define el lenguaje de Las operaciones de inserción, eliminación y
manipulación y definición de los datos que actualización de instancias se llevarán a cabo
utiliza el usuario. Desafortunadamente hasta la exclusivamente desde la clase.
fecha no se ha profundizado mucho en el
estudio de este tópico y solo se han elaborado Como es necesario que toda clase que
unas conclusiones tempranas al respecto. pertenezca a la base de datos proporcione
Estas son: mecanismos de inserción, eliminación,
actualización y persistencia, se exige que las
El lenguaje de definición de datos es la interfaz clases hereden de una clase base que
que presenta el SMBD al usuario para poder proporcione los mecanismos anteriormente
implementar el esquema de base de datos, el mencionados.
SMBD diseñado utilizara el lenguaje IDL
4.4 DEFINICIÓN DE UN MODELO
propuesto en el estándar CORBA para definir
las clases persistentes y sus relaciones PARA ACCEDER A LA BASE DE
(agregación, herencia, composición, DATOS ORIENTADA A
asociación). El SMBD presentará un OBJETOS.
componente que interprete las declaraciones En esta etapa se definen los métodos de
de clases realizadas por el usuario y con este comunicación entre el cliente y el servidor,
genere el archivo físico que contendrá la pila de pues se tiene como requisito del sistema
instancias y la actualización del diccionario de soportar la arquitectura Cliente/Servidor. Con
datos, es decir, la vinculación de la clase a métodos de comunicación se quiere decir todo
cada uno de los grafos de relaciones. lo necesario para que el sistema funcione en
redes siendo la comunicación entre el cliente y
El lenguaje de manipulación de datos permite el servidor transparente para el usuario.
al usuario crear instancias de una clase,
modificar sus atributos, eliminar instancias y Sin duda alguna la creación de un protocolo de
consultar los datos. alto nivel que soporte la comunicación de los
objetos a través de la red requiere una cantidad
El SMBD diseñado contempla dos maneras de de tiempo considerable e innecesaria ya que
realizar operaciones sobre los datos: actualmente existen estándares que facilitan
estos servicios; teniendo en cuenta el principio
El primero, un lenguaje de consultas tipo SQL de la ODMG que dice: “Los SGBD 3G deben
llamado lenguaje de consulta a objetos (OQL, ser abiertos a otros subsistemas” se elige el
por sus siglas en ingles), que funcionaría de la estándar abierto para la comunicación entre
siguiente manera: en vez de enviar de manera objetos CORBA propuesto por el grupo OMG
directa la consulta al SMBD, éste proporcionará (grupo de administración de objetos, por sus
una clase que gestione las consultas, y será a siglas en ingles)(ver figura 7).
través de ésta clase que el usuario realizará
sus consultas, una vez procesada la consulta SMBD
en el SMBD se retornará al usuario una clase
llamada “resultado_de_consulta” que se
compone de un conjunto de instancias que son
el resultado de una consulta OQL (figura 7). A
bajo nivel el “resultado_de_consulta” manejará Consulta Resultado
una lista doblemente encadenada en donde consuta
USUARIO
cada nodo contendrá una instancia; se le
deberá enviar además al Figura 7. Esquema de comunicación básico.
“resultado_de_consulta” una cabecera donde
“La Arquitectura Común de Mediador de Este diseño se apoya en la arquitectura
Peticiones (CORBA The Common Object CORBA, como se menciono anteriormente,
Request Broker) del Grupo de Administración para los procesos de comunicación con el
de Objetos (OMG) suministra una arquitectura cliente. El SMBDOO esta compuesto por tres
independiente de la plataforma e independiente piezas básicas:
del lenguaje de programación para la escritura
de aplicaciones distribuidas orientadas a Pila de instancias: encargada del
objeto.” [6]. almacenamiento físico de los atributos de los
objetos en estructuras de almacenamiento
En la sección 2.2.3 de este articulo se <IDO, atributo, tamaño, valor>. La pila de
mencionó que el SMBD almacenaría instancias administra estos atributos en
únicamente los atributos y relaciones de las archivos separados, uno para cada clase.
clases y no se aclaró en que lugar ó quien era Además se encarga de administrar las distintas
el responsable de contener los procedimientos bases de datos separándolas en paquetes.
de las clases. El encargado de ejecutar y Estos paquetes podrían representarse en disco
almacenar los procedimientos de las clases es como un árbol de directorios, al igual que en
un mediador de peticiones de objetos (ORB, Java.
por sus siglas en ingles).
Diccionario de datos: el cual contiene toda la
Además de almacenar y ejecutar los información necesaria para controlar la
procedimientos de las clases el ORB tiene las integridad de los datos, en éste se almacena la
siguientes responsabilidades: descripción de las clases y sus relaciones
(agregación, composición, herencia,
?? Retornar los objetos de tipo asociación), estas relaciones se almacenan
“resultado_de_consulta”. como un grafo dirigido, en realidad un grafo
?? Recibir y enviar al SMBD las peticiones del para cada una de las relaciones como se
usuario ya sea de definición de datos (idl) o mencionó en la sección 2.2.3.
manipulación de datos (oql ó los
procedimientos de las clases que ORB: el ORB CORBA proporciona la
pertenecen a la base de datos). comunicación entre el SMDB y el cliente y
?? Retornar al usuario mensajes, de error ó ejecuta los procedimientos de las clases. A su
información, que lance el SMBD. vez el ORB contiene un repositorio de clases
en el cual se almacenan todas las clases de las
5 CONCLUSIONES. distintas bases de datos. Para diferenciar las
El SMBD diseñado posee la siguiente distintas bases de datos (paquetes de bases de
arquitectura (ver figura 8): datos) se representaran en disco como un árbol
de directorios al igual que la pila de instancias,
nótese que la pila de instancias y el repositorio
de clases podrían o no compartir el mismo
SMBDOO espacio físico en disco, pero con el propósito
Pila de instancias
de crear un modelo flexible se conciben como
artefactos almacenados en ubicaciones
Diccionario de datos distintas. Además el hecho que ORB se
encuentre dentro de el SMBDOO no quiere
decir que en la practica se encuentre en la
misma computadora el ORB y el SMBDOO.

El SMBDOO se encarga de:


ORB
Repositorio de clases ?? Recibir y procesar las peticiones de
manipulación y definición de datos.
?? Enviar mensajes.
?? Enviar instancias.

Cliente: el cliente se comunica de manera


Cliente bidireccional con el ORB.

Figura 8. Esquema básico de SMBDOO ?? Envía peticiones de creación de clases con


propuesto el lenguaje idl.
?? Envía consultas a varias clases por medio [6] Common Objects Request Broker
de las clases de gestión de consultas que Architecture. http://www.jguru.com.
contienen la sentencia oql del usuario. [7] Todd R. Manion. Objects Objects
?? Envía por medio de los procedimientos de Everywhere. http://www.acm.org/crossroads/
las clases que pertenecen a la base de xrds7-3/objects.html. ACM Crossroads Student
datos peticiones para insertar, actualizar, Magazine.
eliminar y filtrar valores de las clases. [8] Ramakanth S. Devorakonda. Sistemas de
?? Recibe mensajes del SMBD. bases de datos relacionado a objetos.
?? Recibe objetos de tipo http://www.acm.org/crossroads/xrds7-
“resultado_de_consulta”. 3/ordbms.html. ACM Crossroads Student
?? Recibe objetos de la base de datos. Magazine. Estándar ODMG.
http://www.odmg.org.
6 REFERENCIAS [9] Peter Kueng. Comparison of ten OODBMS.
Institute of computer science.
[1] Johnson, James L. Database: models,
[10] Rational Software Corporation. The Unified
languages, design. Oxford University Press.
Modelling Language: Notation and Semantics
1997.
Gudes. http://www.rational.com
[2] C.J. Date. Introducción a los sistemas de
[11] Isabel Besembel. Modelo de objetos OMG.
bases de datos. Volumen I. Quinta Edición.
http://www.pgcomp.ula.ve/DISTANCI
Addison Wesley. 1998.
A/BDA/omg.html.
[3] Ana Belén Martínez Prieto. Un Sistema de
[12] Won Kim. Modern Database Systems: The
Gestión de Bases de Datos Orientadas a
Object Model Interoperability, and Beyond.
Objetos sobre una Máquina Abstracta
ACM Press.
Persistente. Universidad de Oviedo. 2001.
[13] Esperanza Marcos Martínez. Bases de
[4] Dany Leonardo Martínez Murcia. Davinci:
Datos Orientadas a Objetos.
Prototipo de un Sistema Manejador de Bases
http://kybele.escjet.urjc.es/documentos/bd/tema
de Datos Orientado por Objetos. Universidad
2.pdf. Universidad Rey Juan Carlos. Grupo de
Francisco de Paula Santander. 2000.
investigación Kybele.
[5] Elisa Bertino. Sistemas de Bases de Datos
Orientados a Objetos. Addison Wesley. 1995.

También podría gustarte