SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
FACENA, Vol. 19, pp. 33-45, 2003




BASES DE DATOS OBJETO-RELACIONALES Y LA TECNOLOGIA
J2EE. CASO PRACTICO: GESTION DEL MACROSISTEMA DEL
IBERA. EXPERIENCIAS DURANTE EL DISEÑO Y LA IMPLE-
MENTACION
       María F. GOLOBISKY(1); Fernando E. FISZMAN(2); Federico HERNÁNDEZ(2); Vanina RIZZONI(2);
                              Maximiliano VALIN(2); Aldo R. VECCHIETTI(2) y Blanca B. ALVAREZ(3)

ABSTRACT: This work describes a web application design using an
Object-Relational Database as data repository. The goal is to
generate a computer system to manage the information of reptiles
and amphibious (herpetofauna) of the Ibera macrosystem located in
Corrientes, Argentina. The ORDBMS selected is Oracle9i, which is
one of the most advanced Object-Relational system existing today
because it fulfils in a high percentage the SQL:1999 standards. The
Object-Relational technology is selected due to the data complexity
and the relationships between them including the handling of
complex data types, collections, inheritance, composition and
association. The application will be executed by standard web
browsers. The modules of the application are developed in Java on a
J2EE platform. Several tools are used for this system development:
Rational Rose (analysis in UML ), Object Database Designer,
JDeveloper 9i, Oracle Containers for Java, Struts, etc. The article
also describes the most relevant parts of the data modeling, the
experiences gathered in the development, the solutions adopted in
the conceptual design of the database, the application architecture
design and the links between this structure and the database.

RESUMEN: En este trabajo se presenta el diseño de una aplicación web,
teniendo como repositorio de datos una Base de Datos Objeto-
Relacional. El objetivo es generar un sistema de información para
gestionar la información de los reptiles y anfibios (herpetofauna)
del macrosistema del Iberá en la provincia de Corrientes. El ORDBMS
que se emplea es Oracle9i, debido a que en la actualidad es uno de
los sistemas Objeto Relacional mas avanzado, que cumple en gran me-
dida con los estándares de SQL:1999. Se emplea una Base de Datos
Objeto Relacional por la complejidad de los datos y de las relacio-
nes entre lo mismos, que incluyen el manejo de tipos de datos com-
plejos, colecciones, relaciones de herencia, composición y asocia-
ción. La aplicación se ejecutará en browsers estándar en un entorno
web. Los módulos de la aplicación se desarrollan en Java sobre una
plataforma J2EE. Se emplearon varias herramientas: Rational Rose
(análisis en UML), Object Database Designer, JDeveloper 9i, Oracle
Containers for Java, Struts, etc. En el trabajo se describen las
partes más relevantes del modelo de datos, las experiencias recogi-
das en el desarrollo del mismo, las soluciones adoptadas en el di-
seño conceptual de la Base de Datos, el diseño de la arquitectura
de la aplicación y cómo se relaciona la arquitectura con la base de
datos.
34                                                                  FACENA, Vol. 19, 2003




Palabras claves: SQL:1999, Base de Datos Objeto-Relacional, Diseño conceptual, Arquitectura
de N capas, J2EE y ORDBMS, Aplicación Web.
Key words: SQL:1999, Object-Relational Database, Conceptual Design, N-layer Architecture,
J2EE and ORDBMS, Web Application.
____________

(1) Departamento de Informática. Facultad de Ciencias Exactas y Naturales y Agrimensura
    (UNNE). 9 de Julio 1449. 3400 Corrientes, Argentina. E-mail: mfgolo@exa.unne.edu.ar
(2) Departamento de Sistemas. Facultad Regional Santa Fe (UTN). Lavaise 610. 3000 Santa Fe,
    Argentina.
    E-mail: {ffiszman, fhernand, vrizzoni, mvalin}@frsf.utn.edu.ar; aldovec@ceride.gov.ar
(3) Departamento de Biología. Facultad de Ciencias Exactas y Naturales y Agrimensura (UNNE).
    Av. Libertad 5470. 3400 Corrientes, Argentina. E-mail: balvarez@exa.unne.edu.ar

                                      INTRODUCCIÓN

    Durante muchos años las Bases de Datos Relacionales
(RDBMS) dominaron el mercado de las bases de datos y de
los sistemas de información de las organizaciones, permi-
tiéndoles a éstas últimas automatizar sus procesos más im-
portantes. La metodología más empleada para modelar los
datos de estas aplicaciones es la Entidad/Relación y sus
extensiones. Los tipos de datos que se modelan en las Ba-
ses de Datos relacionales son del tipo atómico, a los que
se refieren frecuentemente como “simplemente estructura-
dos”. La tecnología logró gran aceptación desde mediados
de la década del ’80, pero las ventajas competitivas lo-
gradas con los RDBMS han disminuido con el transcurso del
tiempo, fundamentalmente en los últimos cinco años. Para
lograr ventajas competitivas en nuestros días las organi-
zaciones necesitan aplicaciones del tipo Internet/Intranet
y un conjunto más extenso y complejo de tipos de datos que
permitan el manejo de datos estructurados, relaciones de
composición y herencia así como la administración de imá-
genes, videos, sonidos, series de tiempo, datos geo-
espaciales (McClure, 1997). Las tecnologías que surgieron
para manejar estos nuevos tipos de datos y las relaciones
más complejas que existen entre los mismos son las Bases
de Datos Orientadas a Objetos (ODBMS) y las Bases de Datos
Objeto Relacionales (ORDBMS). Los ODBMS surgieron para dar
un soporte persistente al modelo orientado a objetos que
surgió, en primer lugar, como una tecnología de programa-
ción con estándares muy definidos orientada a modelar da-
tos complejos y a la generación de módulos reusables y de
fácil mantenimiento. Los ODBMS facilitaron el desarrollo
de sofisticadas aplicaciones como las CAD/CAM, CASE y GIS
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                35



(Vela et al., 2001). Los ODBMS combinan los elementos de
orientación a objetos en conjunto con los lenguajes de
programación orientado a objetos con capacidades de base
de datos, que van mas allá de la simple persistencia de
los objetos. Estas bases de datos cuentan con la metodolo-
gía UML para la generación de los modelos de datos. Como
resultado existe una mayor congruencia entre el modelo de
datos de la aplicación y el de la base de datos. Estas ba-
ses de datos son más apropiadas para el manejo de datos
complejos que no sean muy voluminosos.
    Los ORDBMS surgen como una respuesta a la incorpora-
ción de la tecnología de objetos en las Bases de Datos Re-
lacionales y con ello permitir el tratamiento de datos y
relaciones complejas. Por ser una extensión de la tecnolo-
gía relacional presenta dos ventajas frente a los ODBMS:
que es compatible con la tecnología relacional y tiene un
mejor soporte para aplicaciones voluminosas (Vela et al.,
2001). Ambas tecnologías son nuevas y no han alcanzado aún
un alto grado de aceptación y madurez, tal vez porque no
existen productos en el mercado que cumplan con los últi-
mos estándares: ODMG3.0 para los ODBMS (Cattel y Barry,
2000) y SQL:1999 (Eisenberg y Melton, 1999) para los
ORDBMS. Se espera que en los años por venir y cuando la
tecnología adquiera una mayor madurez los ORDBMS ocupen un
importante lugar en el mercado (Dorsey, 1999) como lo hizo
la tecnología relacional desde mediados de los ’80 hasta
mediados de los ’90. Dado que se encuentran en una etapa
de desarrollo estas bases de datos no cuentan con una me-
todología de modelado propia.
    Si bien el diseño e implementación de una base de da-
tos objeto-relacional ha sido tratado en la literatura, a
la hora de abordar un proyecto concreto surgen muchas du-
das y quedan cuestiones sin resolver (Kovacs et al., 1998)
(Vela et al., 2001). Es por eso que en este trabajo se
presentan las experiencias realizadas en el análisis, di-
seño e implementación de un sistema, para la administra-
ción de la información relacionada con las investigaciones
taxonómicas y ecológicas básicas sobre la herpetofauna del
macrosistema Iberá. Para el sistema que estamos desarro-
llando una Base de Datos Objeto Relacional es el medio mas
natural para implementarlo, debido a la naturaleza de la
información y a la complejidad de las relaciones existen-
tes entre los datos.
    Este trabajo se realiza en conjunto con investigadores
del área de biología de la Universidad Nacional del Nor-
deste, que se encuentran trabajando en la región desde
36                                         FACENA, Vol. 19, 2003




hace ya varios años. El sistema reflejará la composición
faunística de una región con características únicas, la
que se encuentra ubicada en el centro-norte de la provin-
cia de Corrientes. Este reservorio hídrico y de vida sil-
vestre, con una de las más altas biodiversidades faunísti-
ca y florística del país puede alterarse dramáticamente,
debido a actividades antrópicas que se encuentran afectan-
do las zonas perimetrales del mismo. Cualquier plan de
conservación del sistema es imposible llevarlo a cabo si
se desconocen aspectos básicos tales como diversidad de
especies, distribuciones, biogeografía y ecología. A par-
tir del estudio de los mismos se puede establecer el fun-
cionamiento del sistema sentando las bases para la predic-
ción, comparación y entendimiento del efecto de las acti-
vidades humanas sobre el mismo, de allí la importancia del
sistema que se modela y presenta en este trabajo.

Análisis del dominio y metodología utilizada
     Debido a la complejidad del dominio del problema y a
que no existe una metodología disponible que guíe el pro-
ceso de análisis y diseño de una Base de Datos Objeto Re-
lacional (Grimes, 1998), se convino utilizar la metodolo-
gía Orientada a Objetos (OO) para la generación del modelo
conceptual esperando lograr una abstracción más ajustada
de la aplicación en desarrollo, donde existen relaciones
complejas que incluyen herencia, composición y asociación.
Con el modelo OO, mucho más expresivo y completo que los
sistemas de modelado convencionales, esperamos contar con
una definición apropiada de los tipos de datos y lograr
que la construcción del sistema se haga de manera más rá-
pida y a menor costo.
     En esta etapa se definió el dominio a partir de las
abstracciones que forman el vocabulario del dominio del
problema, se identificaron las necesidades de información
a partir de dicha descripción y se especificaron las ca-
racterísticas del sistema propuesto en términos de obje-
tos.
     Para el análisis del sistema se comenzó con la utili-
zación de herramientas CASE de análisis y diseño Orientado
a Objetos, buscando con ello acelerar el proceso de defi-
nición de la estructura del sistema, su documentación y la
automatización de las diferentes etapas de la construcción
del software. Para modelar los objetos se emplearon dos
herramientas disponibles en el mercado: Rational Rose (Ra-
tional Rose, 2000) y Object Database Designer. Ambas pro-
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                37



veen la notación UML (Unified Modelling Lenguage) que es
el lenguaje de modelado orientado a objetos más difundido
en la actualidad. Se seleccionaron estas herramientas por-
que además de emplear la notación UML, y permitir modelar
complejas relaciones entre los objetos, ambas poseen la
capacidad de generar los scripts de creación de los obje-
tos para un conjunto amplio de DBMS.
    En la Fig. 1 se presenta el diagrama de clases del
subconjunto más relevante de la aplicación generado con
UML en el que se detallan las principales características
del modelo. En el mismo se visualiza la clasificación
taxonómica de las distintas especies (familia, orden, sub-
orden, etc.), los ambientes del macrosistema del Iberá
donde se efectuaron las recolecciones de las mismas, la
ubicación geográfica de esos ambientes, y el personal que
realizó la recolección.
38                                                                                          FACENA, Vol. 19, 2003




        Clase
     Denominación




        Orden                        Suborden                      Infraorden
     Denominación                  Denominación                  Denominación

                                                                                                             País
                                                                              Epíteto                    Denominación
                                                                           Denominación
        Familia                                                     1..1          1..1
     Denominación                                  específico                                                    1..*
                                                                                  subespecífico
                                                                                                           Provincia
                                                                                                         Denominación
        Género                            Especie                        Subespecie
     Denominación                   Nombre_Vulgar                    Nombre_Vulgar                               1..*
     Autor                          Nombre_Etimológico               Nombre_Etimológico
     Descripción                    Descripción                      Descripción                         Departamento
                                                                                                         Denominación
                                                  1..*

       Laguna       Pastizal


                                                                                                                 1..*
                                              1..1
                                                                                                            Localidad
                                       Recolección
     Ambiente                                             1..*      1..*     Cuadrícula                   Denominación
                                    Nro_Recolección
                                                                                                          Cod_Postal
 Tipo                               Observaciones                          Nro_Cuadrícula     1..1   1..* Latitud
                1..*           1..*
 Descripción                        Fecha
                                                                                                          Longitud
 Suelo                                                                              1..*
                                             1..*


                                                                                    1..*
                                             1..*
                                                                               Región
       Bañado             Arroyo         Colector                           Denominación
                                        Apellido
                                        Nombre
                                        Dirección
                                        Teléfono         1..*
                                        E_Mail
                                        DNI



     Fig. 1: Diagrama de clases de un subconjunto de la aplicación

     Como se puede observar en la figura en este subconjun-
to se presentan relaciones de herencia, composición y aso-
ciación:
• Existe herencia al definir a la clase Ambiente, como
   clase abstracta, de la cual derivan los diferentes am-
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                39



    bientes que se encuentran en el macrosistema del Iberá:
    Bañado, Arroyo, Laguna, Pastizal.
•   También utilizamos herencia al definir a una especie y
    a sus correspondientes subespecies: una subespecie ade-
    más de los atributos que hereda de especie, posee los
    propios.
•   La clasificación taxonómica de la herpetofauna se rea-
    lizó a través de relaciones de composición que van des-
    de la clase Clase hasta Especie.
•   Se utilizó herencia al definir los diferentes niveles
    de generalización de la clase Orden.
•   Las ubicaciones geográficas del macrosistema se modela-
    ron con composición, desde la clase País hasta la clase
    Localidad.
•   Existen Asociaciones entre los objetos Colector, Reco-
    lección, Cuadrícula, Región y Localidad.

Diseño Lógico de la Base de Datos

    Para el desarrollo de la aplicación se empleó Oracle9i
por ser un ORDBMS que implementa las especificaciones para
nuevos tipos de datos del estándar “SQL:1999”: tipos para
objetos grandes, CLOB y BLOB, que posibilitan la implemen-
tación de textos grandes, de gráficos, imágenes, sonidos y
videos; datos estructurados como colecciones y arreglos, y
distintos tipos definidos por el usuario que permiten es-
tablecer relaciones complejas como herencia, composición,
referencias de objetos (REF), navegación directa, tablas
de objetos polimórficas (Gietz, 2001).
    La herramienta Rational Rose, posee un “add-in” para
generar los scripts de la base de datos Oracle 8i, pero no
posee una forma automática para pasar de los diagramas de
análisis al modelo conceptual de la Base de Datos. Para
realizar esto se deben rediseñar los diagramas definiendo
en forma separada los objetos de la base y sus correspon-
dientes tablas. No existe una forma directa de pasar de
los diagramas lógicos a los scripts para generar los obje-
tos de la Base. Por consiguiente los diagramas se volvían
engorrosos y difíciles de comprender. Existían también li-
mitaciones en cuanto al manejo de herencia y de tablas
anidadas, estas últimas, estructuras claves para la imple-
mentación de las composiciones de nuestro problema.
    Por otro lado Object Database Designer (ODD) (Oracle
Designer, 1999) permite pasar directamente de los diagra-
40                                            FACENA, Vol. 19, 2003




mas generados a los scripts de la Base, pero para la ver-
sión 8i de Oracle, versión que no soporta herencia y no
permite la utilización óptima de los collections types co-
mo tablas anidadas, arrays, ni el multidimensionamiento de
los mismos. En conclusión, ninguna de las dos herramientas
empleadas genera los scripts adecuados al diseño de los
componentes de la Base de Datos seleccionados. De las dos
opciones mencionadas se optó por generar el modelo lógico
de la base de datos empleando ODD, ya que se adaptaba me-
jor al ORDBMS seleccionado para este trabajo, y exigía me-
nos esfuerzo que Rational Rose. A partir del modelo lógico
obtenido se generaron los scripts de la base, que luego se
modificaron manualmente para adaptar las sentencias SQL a
Oracle 9i (Oracle Corporation, 2001).
    A continuación y con el objeto de presentar un ejemplo
ilustrativo, se detalla el código SQL para implementar las
relaciones de herencia que se generan a partir de la clase
Ambiente y sus tablas asociadas:

CREATE OR REPLACE TYPE AMBIEN-   /*El método Valor_Correcto de-
TE_OT AS OBJECT                  termina si el atributo tipo a
(DESCRIPCION CLOB,               insertar está dentro de los
TIPO VARCHAR2(30),               tipos posibles para cada am-
TIPO_SUELO VARCHAR2(20),         biente, cada subclase de am-
MEMBER FUNCTION                  biente reescribe el método con
Valor_Correcto(tipoA var-        sus propios valores posibles*/
char(30))
RETURN NUMBER)                   CREATE OR REPLACE TYPE ARRO-
NOT FINAL;                       YO_OT UNDER AMBIENTE_OT
                                 (OVERRIDING MEMBER FUNCTION
/*NOT FINAL indica que la cla-   Valor_Correcto(tipoA
se es abstracta y no permite     varchar(30)) RETURN NUMBER)
su instanciación.*/
                                 CREATE TABLE ARROYO_T OF ARRO-
                                 YO_OT
                                 (PRIMARY KEY (TIPO))


Implementación del diseño de la Base Objeto Relacio-
nal

    Los scripts necesitaron ser modificados para poder
utilizar estructuras de tablas anidadas para las relacio-
nes de composición. Si bien esta estructura no es una de
las especificadas por el estándar “SQL: 1999” se la selec-
cionó porque es la adecuada para representar una colección
de elementos donde no es necesario asignar un máximo (como
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                41



en los arreglos variables VARRAYS), el orden de los ele-
mentos no es importante y en donde la consulta de un ele-
mento particular de la colección debe hacerse de manera
eficiente. La taxonomía de las especies presenta estas ca-
racterísticas: una Clase está compuesta por un conjunto de
Ordenes, cada Orden a su vez tiene un conjunto de Fami-
lias, cada Familia tiene Géneros, y así sucesivamente has-
ta llegar a la Especie. No hay un tamaño definido, tampoco
es importante el orden entre los elementos de un conjunto,
y sí interesa la búsqueda eficiente de un elemento parti-
cular del conjunto, especialmente cuando se navega en la
base de datos para inserción y/o búsqueda de una especie.
El siguiente código SQL muestra cómo fue implementada esta
estructura:

/*Creación de Tipos*/                      CREATE OR REPLACE TYPE GENE-
                                           RO_OT AS OBJECT
CREATE TYPE SUBESPECIE_OT                  (AUTOR VARCHAR2(30),
                                           DENOMGENER VARCHAR2(30),
CREATE TYPE SUBESPECIE_TT AS               DESCRIPCION CLOB,
TABLE OF REF SUBESPECIE_OT                 ESPECIE ESPECIE_TT)

CREATE OR REPLACE TYPE                     CREATE TYPE GENERO_TT AS TABLE
ESPECIE_OT AS OBJECT                       OF GENERO_OT
(NOMBRE_VULGAR VARCHAR2(60),
NOMBRE_ETIMOLOGICO VAR-                    CREATE OR REPLACE TYPE
CHAR2(60),                                 FAMILIA_OT AS OBJECT
EPITETO VARCHAR2(30),                      (DENOMFAMIL VARCHAR2(30),
DESCRIPCION CLOB,                          GENERO GENERO_TT )
REGIMEN_ALIMENTARIO VAR-
CHAR2(30),                                 CREATE TYPE FAMILIA_TT AS
REPRODUCCION VARCHAR2(30),                 TABLE OF FAMILIA_OT
MORFOLOGIA REF MORFOLOGIA_OT,
SUBESPECIE SUBESPECIE_TT,                  CREATE OR REPLACE TYPE
MEMBER PROCEDURE vacio) NOT                ORDEN_OT AS OBJECT
FINAL                                      (DENOMORDEN VARCHAR2(30),
                                           DENOMSUBOR VARCHAR2(30),
CREATE OR REPLACE TYPE SUB-                DENOMINFRAO VARCHAR2(30),
ESPECIE_OT UNDER ESPECIE_OT                FAMILIA FAMILIA_TT )
(OVERRIDING MEMBER PROCEDURE
vacio)                                     CREATE TYPE ORDEN_TT AS TABLE
                                           OF ORDEN_OT
CREATE TYPE ESPECIE_TT AS                  CREATE OR REPLACE TYPE
TABLE OF REF ESPECIE_OT                    CLASE_OT AS OBJECT
                                           (DENOMCLASE VARCHAR2(30),
                                           ORDEN ORDEN_TT )

/*Creación de Tablas Anida-
das*/
42                                           FACENA, Vol. 19, 2003




CREATE TABLE SUBESPECIE_T OF    NESTED TABLE ORDEN STORE AS
SUBESPECIE_OT                   ORDEN_NT
(PRIMARY KEY                    ((PRIMARY KEY (DENOMORDEN,
(NOMBRE_ETIMOLOGICO))           DENOMSUBOR, DENOMINFRAO))
NESTED TABLE SUBESPECIE STORE     NESTED TABLE FAMILIA STORE
AS SUBESPECIE_NULL_NT             AS FAMILIA_NT
                                  ((PRIMARY KEY (DENOMFAMIL))
CREATE TABLE ESPECIE_T OF            NESTED TABLE GENERO STORE
ESPECIE_OT                           AS GENERO_NT
(PRIMARY KEY                         ((PRIMARY KEY
(NOMBRE_ETIMOLOGICO))                (DENOMGENER))
NESTED TABLE SUBESPECIE STORE            NESTED TABLE ESPECIE
AS SUBESPECIE_REF_NT                     STORE AS
                                         ESPECIE_REF_NT
CREATE TABLE CLASE_T OF                             )
CLASE_OT                                    )
(PRIMARY KEY (DENOMCLASE))       )

    En el código SQL anterior se debe notar la implementa-
ción de la jerarquía ESPECIE-SUBESPECIE. En la definición
de la clase Especie se ha utilizado una función ficticia,
el método vacío(), que no realiza ninguna función en espe-
cial, sólo permite definir una relación de herencia, que
no podría hacerse si no se modifica en algo la subclase
(atributo, método, o especialización de método) respecto
de la superclase. Implementar herencia en este punto era
importante porque en otras partes del sistema, otras cla-
ses pueden tener referencias a ESPECIE pero no a SUBESPE-
CIE. Por ejemplo, se puede recolectar una subespecie espe-
cífica de una especie y por lo tanto se debe almacenar una
referencia a subespecie y no a especie, y en otros casos a
la inversa, recolectar una especie que no posee subespe-
cies, almacenando una referencia a la especie. Entonces en
vez de utilizar dos referencias, una para cada clase y
usar una u otra dependiendo del caso, se utilizó herencia
porque permite la sustitución de tipos entre la superclase
y la subclase.
    También se presenta en el código la estructura taxonó-
mica a través de tablas anidadas. Se observa que la tabla
anidada ESPECIE_TT es por referencia, sus filas son refe-
rencias a especies. Esto es así porque, como se mencionó,
otras clases poseen referencias a especies y si estas es-
tán almacenadas en una tabla anidada no es posible hacer
una referencia a ellas externamente, por limitaciones pro-
pias del ORDBMS. Por lo que se creó una tabla especial pa-
ra las especies, que solucione este problema. Lo mismo
ocurre con las subespecies.
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                43



    Otro caso especial es el de la implementación de
herencia para Orden, Suborden e Infraorden. En principio
se podría pensar en generar una serie de tablas anidadas
relacionadas con Especie, pero esto triplicaría la canti-
dad de tablas anidadas; se debe crear una tabla anidada de
Familia para cada una de las tres clases mencionadas en la
jerarquía. La transformación que se realizó en este caso
es la que se emplea para jerarquía de herencia cuando
existe superposición entre las distintas subclases: se
crea una sola tabla que contiene los atributos de la su-
perclase y de las subclases, más un atributo que identifi-
ca el tipo al que pertenece, obviamente en este caso se
generan valores nulos (Elmasri y Navathe, 2000).
    A través de la palabra clave TABLE se puede acceder de
manera sencilla, por ejemplo, a todos los nombres etimoló-
gicos de Especie que derivan de la Clase ‘Reptilia’. El
código de la consulta se detalla a continuación:

SELECT esp.nombre_etimologico
FROM Clase_T c, TABLE (c.Orden) o, TABLE (o.Familia) f, TABLE
(f.genero) g, TABLE (g.especie) esp
WHERE c.denomclase=’Reptilia’


Diseño de la arquitectura de la aplicación

    El proyecto Iberá está dirigido a generar una aplica-
ción web. Como arquitectura de la misma se ha elegido un
modelo de 3 capas debido a que se pueden utilizar web
browsers (Internet Explorer, Netscape Navigator, etc.) co-
mo clientes, lo que facilita su distribución y manteni-
miento, permitiendo que tanto en el ambiente de la Univer-
sidad Nacional del Nordeste, donde residirá la aplicación,
como en cualquier parte del mundo cualquier persona pueda
conocer este macrosistema y cualquier investigador pueda
trabajar on-line con toda la información que necesite, só-
lo con disponer de una conexión a Internet. Además posibi-
lita que la aplicación esté centralizada, esto es la capa
de aplicación y la capa de presentación, concentrados en
un servidor, para facilitar el mantenimiento y asegurar
que los clientes tendrán siempre la versión actualizada de
la aplicación. La capa de base de datos separada y centra-
lizada en un servidor de datos, permite que la misma in-
formación pueda ser accedida por diferentes aplicaciones
con diferentes fines sin la necesidad de replicar datos en
varios servidores.
44                                        FACENA, Vol. 19, 2003




    Para implementar esta arquitectura se eligió la plata-
forma J2EE, propuesta por Sun Microsystems, y basada en el
lenguaje de programación Java (Sun Microsystem, 2000). En-
tre los beneficios proporcionados por esta plataforma al
sistema que se describe se pueden destacar: la facilidad
de mantenimiento al centralizar la aplicación en un solo
lugar; no tener limites geográficos para distribuir la
aplicación, debido a la utilización de browsers como
clientes y a las facilidades de internacionalización de la
arquitectura; la independencia del hardware; la gestión de
conexiones a la BD mediante pooling de conexiones JDBC
(Java Data Base Connectivity) del Container EJB (Entrepri-
se JavaBeans); la flexibilidad para la elección entre dis-
tintos servidores de aplicación, tanto de código abierto
como comerciales; la posibilidad de emplear numerosas li-
brerías existentes (JNDI, Collections, Struts); la facili-
dad para la gestión de sesiones de usuarios mediante “Ses-
sions EJB”; la reutilización de la lógica de negocio me-
diante “Bean Managed Persistence” de EJB y la clara sepa-
ración entre presentación y lógica de negocio, permitien-
do, en caso de ser necesario, separar estas capas geográ-
ficamente.
    El gráfico que se muestra a continuación es una mues-
tra reducida de los distintos componentes de nuestro sis-
tema.
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                45




                    Fig. 2: Arquitectura de la aplicación

    En el gráfico se puede distinguir la separación entre
las diferentes capas, que interactúan con protocolos es-
tándares y abiertos. El container EJB es el que soporta
toda la lógica de la aplicación, manteniendo los objetos
de la base de datos “mapeados” a objetos Java, y realizán-
dose todas las operaciones de datos a través de ellos. La
capa de presentación se adecua a los diferentes tipos de
clientes: Web Browsers, clientes Java o clientes Wireless.
El flujo de mensajes se realiza a través de Servlets e
IberaBeans, que actúan como concentrador del flujo de men-
sajes de la aplicación.
    La inclusión del comportamiento de los objetos (méto-
dos) en la base de datos es otro punto clave de toma de
decisión. Si bien tanto Java como PL/SQL están soportados
como lenguajes para escribir métodos, Java requiere que
éstos se encuentren ya definidos en clases Java almacena-
das en la base de datos. En realidad, esto está diseñado
para almacenar en la base de datos objetos que ya se en-
cuentran previamente programados en Java, que no es nues-
46                                        FACENA, Vol. 19, 2003




tro caso. Por otro lado, con PL/SQL el código se puede in-
cluir como método de los objetos en la base de datos, pero
se pierden ventajas con la arquitectura del sistema pro-
puesta como diseño. Por lo tanto, se optó por incluir el
comportamiento dentro del código de los EJB y acceder a la
base a través de sentencias SQL incluidas dentro de los
mismos, vía JDBC, para independizar completamente la apli-
cación de la base de datos.
     Para facilitar el desarrollo de la aplicación Web en
Java utilizamos un framework basado en el modelo MVC (Mo-
del View Controller). Este framework provee un conjunto de
clases y tag-libs que conforman el controlador, la inte-
gración con el modelo y facilitan la construcción de vis-
tas. El mismo nos permitió estructurar una arquitectura
donde quedó claramente dividida la lógica de negocio (Mo-
del), a través de los EJB antes mencionados, la presenta-
ción (View) a través del código JSP (“Java Server Pages”)
y el control de flujo de aplicaciones (Controller), el
Servlet que en base a solicitudes del usuario decide qué
función de la lógica de negocio se va a realizar y luego
delega la presentación del resultado de la solicitud a la
JSP correspondiente. Una de las ventajas que se obtiene de
este modo es que la presentación y manipulación de datos
se puede manejar de manera independiente, de modo tal que,
por ejemplo, se pueden presentar los mismos datos en va-
rios lenguajes y diseños dependiendo del usuario situado
frente a la pantalla.
     Para desarrollar la aplicación se utilizó el IDE Java
JDeveloper 9i. Cabe aclarar que existen diversos IDEs en
el mercado que permiten desarrollar este tipo de aplica-
ciones como es el caso del Forte for Java de Sun Microsys-
tems. Pero elegimos JDeveloper con el objeto de mantener
una homogeneidad en cuanto a fabricante de productos a ni-
vel de aplicación y de base de datos. En cuanto a la gene-
ración de los objetos Java que se conectan con la Base de
Datos se analizaron dos posibles estrategias:
• La primera consiste en mapear los objetos de la BD ob-
   jeto-relacional mediante el framework para manejo de
   estructuras y colecciones proporcionadas por las clases
   JDBC de Oracle (JPublisher), que extienden las clases
   estándares de JDBC brindando ciertas características
   especiales (Sanko et al., 2001). La ventaja es que este
   proceso se realiza automáticamente, pero aún cuando el
   código que se genera permite efectuar muchas operacio-
   nes directas, quedan muchos otras a resolver, por ejem-
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                47



   plo: conexión a la BD, como reutilizar los objetos
   creados, como hacer “caching” de los mismos, etc.
• La segunda estrategia consiste en generar los EJB di-
   rectamente en concordancia con los objetos generados en
   la base de datos. Este proceso es más lento y trabajo-
   so, ya que debe crearse un EJB para cada objeto de la
   base. De todos modos se obtiene una mejora sustancial
   en la conexión con la base de datos, en la gestión de
   los datos del sistema, en la utilización de los benefi-
   cios aportados por la arquitectura J2EE y una mayor in-
   dependencia del código generado de la BD utilizada, ya
   que cambiar la aplicación para que se conecte con otro
   motor de BD implica mínimos cambios en el código gene-
   rado. También se pensó en emplear una estrategia mixta
   que combine a las dos anteriores, pero la limitación
   que se tiene es que la representación de los datos en
   las clases generadas por JPublisher no podían ser se-
   rializadas que era una condición requerida por el pro-
   tocolo de comunicación de datos entre componentes de la
   arquitectura.
     Se optó por utilizar la segunda estrategia porque
cuenta con una mejor relación costo-beneficio a la hora de
garantizar la persistencia de los objetos.
     Consecuentemente, la aplicación final está constituida
por:
     •   El servidor de base de datos, en donde se guarda-
         rán todos los datos de las especies del macrosis-
         tema Iberá.
     •   El servidor de aplicaciones, en donde estarán las
         aplicaciones internas y externas, y el que reali-
         zará los requerimientos correspondientes a la base
         de datos.
     •   Los clientes web, que será cualquier persona en
         Internet que ingrese a la aplicación para realizar
         consultas o cualquier persona de la Intranet, que
         desee realizar consultas y/o modificaciones en los
         datos. En ambos casos se utilizará un explorador
         de internet para acceder a la aplicación.


                                 CONCLUSIONES

    La posibilidad de las Bases de Datos Objeto Relaciona-
les de implementar diferentes tipos de datos y relaciones
complejas nos permitió modelar e implementar la base de
48                                        FACENA, Vol. 19, 2003




datos de un modo más natural y directo, al menos para el
caso de la aplicación en desarrollo, orientada al empleo
de una arquitectura Intranet/Internet.
    Como resultados de este trabajo se generaron tablas
anidadas para las relaciones de composición, las estructu-
ras provistas por el ORDBMS para herencia, y estructuras
que contemplan referencias entre objetos para las asocia-
ciones.
    Si bien Oracle, con la versión 9i, ha logrado grandes
avances en el desarrollo de las características orientadas
a objetos en su motor de base de datos objeto-relacional,
no desarrolló aún, una herramienta que integre todas las
fases del ciclo de vida del software, principalmente las
de modelado lógico y generación de la base, que permitan
generar diseños que aprovechen todas las potencialidades
de la Base de Datos. Tampoco existe en el mercado una
herramienta ni una metodología que guíe el proceso de di-
seño e implementación de aplicaciones, por lo que estas
tareas se deben hacer ad-hoc. Es por ello que, en este
trabajo, para resolver el diseño se empleó una estrategia
híbrida, basada en la tecnología Orientada a Objetos para
la abstracción de clases y las relaciones entre las mis-
mas, los cuales se encuentran plasmados en la Fig.1, y una
estrategia basada en los objetivos de la aplicación, el
tipo de las relaciones entre clases y las estructuras del
ORDBMS disponibles para representar estas relaciones. Para
esto último también se contemplaron aspectos tales como la
facilidad de acceso a los datos y el mantenimiento de la
aplicación.
    Como conclusiones de este trabajo se puede decir que
la implementación de la aplicación fue lo que presentó ma-
yores dificultades. Se notó la falta de una metodología
clara que ayude a discernir la administración y la distri-
bución del comportamiento de los objetos en las diferentes
capas. Tampoco esto se puede hacer de manera simple y di-
recta. Esto es así independientemente que los métodos se
programen tanto en Java, como en PL/SQL, o algún otro len-
guaje. La oferta de herramientas basadas en tecnologías
emergentes es amplia, pero éstas no han alcanzado una ma-
durez suficiente y/o el soporte que brindan es limitado.
Existen muchos aspectos que se deben abordar a la hora de
discernir la generación, distribución y administración de
los componentes de la aplicación: claridad en el código,
facilidad de mantenimiento, buena performance, buena segu-
ridad, conectividad, etc., que no son fáciles de satisfa-
cer. La opción final para nuestro caso fue la utilización
Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al.
                                                                                49



de EJB para representar nuestra lógica del negocio y el
Framework Struts para su presentación al usuario final, ya
que con la combinación de estas herramientas pudimos, dada
la clara separación de roles entre los distintos componen-
tes, obtener un producto final de mayor calidad, más fácil
de mantener y administrar. Cuestiones claves como la admi-
nistración de conexiones, la escalabilidad de la aplica-
ción, etc., pudieron ser delegadas al servidor de aplica-
ciones permitiéndole a los desarrolladores enfocarse en
los aspectos específicos del sistema.
    Como futuros trabajos de investigación se piensa ahon-
dar en metodologías que permitan el diseño e implementa-
ción de aplicaciones similares, como experimentar en bús-
quedas multimedia no convencionales: imágenes por diversos
parámetros como color, textura, forma; búsquedas por soni-
dos, etc.


                                 BIBLIOGRAFÍA

CATTEL, R. and D. BARRY, 2000. The Object Data Standard: ODMG 3.0. Morgan
      Kaufmann Publ. 300 p.
DORSEY, P., 1999. The Promise of the Object-Relational Paradigm               [en
      línea].       June       1,       1999.   Disponible                    en:
      <http://www.dulcian.com/papers/>.
EISENBERG, A. and J. MELTON, 1999. SQL:1999, formerly known as SQL3. ACM
      SIGMOD Record, 28 (1): 131-138.
ELMASRI, R. and S. NAVATHE, 2000. Fundamentals of Database Systems. Addison
      Wesley. 956 p.
GIETZ,     B., 2001. Oracle 9i Application Developer’s Guide-Object-
         Relational Features, Release 1 (9.0.1). Part No. A88878-01.
GRIMES, S., 1998. Modeling Object/Relational Databases. DBMS. 11 (4):
      51-56.
KOVACS, C. and VAN BOMMEL, P., 1998. Conceptual Modelling-Based Design of
      Object-Oriented Databases. Information and Software Technology, 40
      (1):1-14.
MCCLURE, S., 1997. Object Database vs. Object Relational Database [en
      línea]. IDC International Data Corporation. IDC Bulletin #14821E -
      August 1997. Disponible en: <http://www.cai.com/products/
      jasmine/analyst/idc/14821E.htm>.
ORACLE CORPORATION, 2001. Oracle9i Database-Oracle Technology Network [en
      línea].                         Disponible                      en:
      <http://technet.oracle.com/products/oracle9i/content.html>.
ORACLE DESIGNER, 1999. Oracle Designer 6.0 Releases Notes. Disponible en:
      <http://technet.oracle.com/
      products/oracle8/content.html>.
50                                                      FACENA, Vol. 19, 2003




RATIONAL ROSE, 2000. Rational Rose v2001: Visual Modeling, UML, Object-
      Oriented, Component-Based Development with Rational Rose [en
      línea]. 14 December 2000. Disponible en:
      <http://www.rational.com/products/rose/>.
SANKO, M.; B. WRIGHT and T. PFAEFFLE, 2001. Oracle 9i JDBC Developer’s Guide
      and Reference, Release 1 (9.0.1). Part No. A90211-01.
SUN MICROSYSTEM, 2000. The JavaTM 2 Enterprise Edition Developer’s Guide.
      Version     1.2.1   [en   línea].   May    2000.   Disponible   en:
      <http://java.sun.com/j2ee/>.
VELA, B.; J.M. CAVERO y E. MARCOS, 2001. Diseño de bases de datos objeto-
      relacionales con UML. Actas de las Jornadas Iberoamericanas de In-
      geniería del Software e Ingeniería del conocimiento (JIISIC). Bue-
      nos Aires, Argentina: 59-68.


                                                      Recibido/Received/: 14-Abr-03
                                                     Aceptado/Accepted/: 07-Ago-03

Mais conteúdo relacionado

Mais procurados

Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasAntonio Soria
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Pasteleriabasededatos
PasteleriabasededatosPasteleriabasededatos
PasteleriabasededatosEmmanuelMax3
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerMarcos Omar Cruz Ortrega
 
Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Maria Garcia
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc X
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
Caso de uso de biblioteca
Caso de uso de bibliotecaCaso de uso de biblioteca
Caso de uso de bibliotecapersye
 
Diseño físico y lógico de los sistemas de informacion
Diseño físico y lógico de los sistemas de informacionDiseño físico y lógico de los sistemas de informacion
Diseño físico y lógico de los sistemas de informacionYESENIA CETINA
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 

Mais procurados (20)

Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos Distribuidas
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Pasteleriabasededatos
PasteleriabasededatosPasteleriabasededatos
Pasteleriabasededatos
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson Penker
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos
 
Diseño de sistemas
Diseño de sistemasDiseño de sistemas
Diseño de sistemas
 
Dfd
DfdDfd
Dfd
 
Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)Jyoc java-cap19 tad (tipos abstractos de datos)
Jyoc java-cap19 tad (tipos abstractos de datos)
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Caso de uso de biblioteca
Caso de uso de bibliotecaCaso de uso de biblioteca
Caso de uso de biblioteca
 
Diseño físico y lógico de los sistemas de informacion
Diseño físico y lógico de los sistemas de informacionDiseño físico y lógico de los sistemas de informacion
Diseño físico y lógico de los sistemas de informacion
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 

Destaque

BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSmigmorbus1
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosarmin tilano
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Practica01 db4o e1
Practica01 db4o e1Practica01 db4o e1
Practica01 db4o e1Thekavenet
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 
Universidad tecnológica de tehuacán bdoo db4o
Universidad tecnológica de tehuacán bdoo db4oUniversidad tecnológica de tehuacán bdoo db4o
Universidad tecnológica de tehuacán bdoo db4oVictor Dolores Marcos
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetosjoalmerca6
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLMANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLJesus Alberto Casco Agudelo
 
Estructura base de datos
Estructura base de datosEstructura base de datos
Estructura base de datosCarlos Mamani
 
Object-oriented Development with PL-SQL
Object-oriented Development with PL-SQLObject-oriented Development with PL-SQL
Object-oriented Development with PL-SQLDonald Bales
 

Destaque (20)

Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOS
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetos
 
Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Practica01 db4o e1
Practica01 db4o e1Practica01 db4o e1
Practica01 db4o e1
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Universidad tecnológica de tehuacán bdoo db4o
Universidad tecnológica de tehuacán bdoo db4oUniversidad tecnológica de tehuacán bdoo db4o
Universidad tecnológica de tehuacán bdoo db4o
 
Base De Datos Orientada A Objetos
Base De Datos Orientada A ObjetosBase De Datos Orientada A Objetos
Base De Datos Orientada A Objetos
 
Bdoo
BdooBdoo
Bdoo
 
Base de datos orientada a objetos
Base de datos orientada a objetosBase de datos orientada a objetos
Base de datos orientada a objetos
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetos
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLMANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
 
Base de datos
Base de datosBase de datos
Base de datos
 
Estructura base de datos
Estructura base de datosEstructura base de datos
Estructura base de datos
 
Pki
PkiPki
Pki
 
Object-oriented Development with PL-SQL
Object-oriented Development with PL-SQLObject-oriented Development with PL-SQL
Object-oriented Development with PL-SQL
 
Bdoo
BdooBdoo
Bdoo
 

Semelhante a Caso practico de base de datos orientada a objetos

Saula ana 6_s_ti_1
Saula ana 6_s_ti_1Saula ana 6_s_ti_1
Saula ana 6_s_ti_1Any Saula
 
Consulta parte _1_2
Consulta parte _1_2Consulta parte _1_2
Consulta parte _1_2CarmenRetete
 
Basesde datos
Basesde datosBasesde datos
Basesde datosyakiraq
 
Herrera marcelo 6_s_TI_1
Herrera marcelo 6_s_TI_1Herrera marcelo 6_s_TI_1
Herrera marcelo 6_s_TI_1Marcelo Herrera
 
Objetos De Aprendizaje
Objetos De AprendizajeObjetos De Aprendizaje
Objetos De Aprendizajeguest3ccfce
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetosJuan Anaya
 
Melesio perez jarquin
Melesio perez jarquinMelesio perez jarquin
Melesio perez jarquinAle Sgg
 
Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semácticamartinp
 
Relación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNLRelación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNLAndreita Armijos C
 
Actividad 5, bases de datos, rubrica 3 contenido.docx
Actividad 5, bases de datos, rubrica 3 contenido.docxActividad 5, bases de datos, rubrica 3 contenido.docx
Actividad 5, bases de datos, rubrica 3 contenido.docxWilliam A De Jimenez
 
Bases dedatosysistemasdeinformacion
Bases dedatosysistemasdeinformacionBases dedatosysistemasdeinformacion
Bases dedatosysistemasdeinformacionAem Fmed
 

Semelhante a Caso practico de base de datos orientada a objetos (20)

Presentacion del blog
Presentacion del blogPresentacion del blog
Presentacion del blog
 
Saula ana 6_s_ti_1
Saula ana 6_s_ti_1Saula ana 6_s_ti_1
Saula ana 6_s_ti_1
 
Consulta parte _1_2
Consulta parte _1_2Consulta parte _1_2
Consulta parte _1_2
 
Basesde datos
Basesde datosBasesde datos
Basesde datos
 
INFORME TECNICO No 1.pdf
INFORME TECNICO No 1.pdfINFORME TECNICO No 1.pdf
INFORME TECNICO No 1.pdf
 
Herrera marcelo 6_s_TI_1
Herrera marcelo 6_s_TI_1Herrera marcelo 6_s_TI_1
Herrera marcelo 6_s_TI_1
 
Moya
MoyaMoya
Moya
 
Objetos De Aprendizaje
Objetos De AprendizajeObjetos De Aprendizaje
Objetos De Aprendizaje
 
Lumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdfLumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdf
 
Herrera marcelo bdii_T1
Herrera marcelo bdii_T1Herrera marcelo bdii_T1
Herrera marcelo bdii_T1
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetos
 
Melesio perez jarquin
Melesio perez jarquinMelesio perez jarquin
Melesio perez jarquin
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semáctica
 
Relación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNLRelación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNL
 
Actividad 5, bases de datos, rubrica 3 contenido.docx
Actividad 5, bases de datos, rubrica 3 contenido.docxActividad 5, bases de datos, rubrica 3 contenido.docx
Actividad 5, bases de datos, rubrica 3 contenido.docx
 
Bases dedatosysistemasdeinformacion
Bases dedatosysistemasdeinformacionBases dedatosysistemasdeinformacion
Bases dedatosysistemasdeinformacion
 
mamfSoft - Fundamentos de Bases de Datos
mamfSoft - Fundamentos de Bases de DatosmamfSoft - Fundamentos de Bases de Datos
mamfSoft - Fundamentos de Bases de Datos
 
Libro Base de Datos
Libro Base de DatosLibro Base de Datos
Libro Base de Datos
 

Último

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 

Último (20)

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 

Caso practico de base de datos orientada a objetos

  • 1. FACENA, Vol. 19, pp. 33-45, 2003 BASES DE DATOS OBJETO-RELACIONALES Y LA TECNOLOGIA J2EE. CASO PRACTICO: GESTION DEL MACROSISTEMA DEL IBERA. EXPERIENCIAS DURANTE EL DISEÑO Y LA IMPLE- MENTACION María F. GOLOBISKY(1); Fernando E. FISZMAN(2); Federico HERNÁNDEZ(2); Vanina RIZZONI(2); Maximiliano VALIN(2); Aldo R. VECCHIETTI(2) y Blanca B. ALVAREZ(3) ABSTRACT: This work describes a web application design using an Object-Relational Database as data repository. The goal is to generate a computer system to manage the information of reptiles and amphibious (herpetofauna) of the Ibera macrosystem located in Corrientes, Argentina. The ORDBMS selected is Oracle9i, which is one of the most advanced Object-Relational system existing today because it fulfils in a high percentage the SQL:1999 standards. The Object-Relational technology is selected due to the data complexity and the relationships between them including the handling of complex data types, collections, inheritance, composition and association. The application will be executed by standard web browsers. The modules of the application are developed in Java on a J2EE platform. Several tools are used for this system development: Rational Rose (analysis in UML ), Object Database Designer, JDeveloper 9i, Oracle Containers for Java, Struts, etc. The article also describes the most relevant parts of the data modeling, the experiences gathered in the development, the solutions adopted in the conceptual design of the database, the application architecture design and the links between this structure and the database. RESUMEN: En este trabajo se presenta el diseño de una aplicación web, teniendo como repositorio de datos una Base de Datos Objeto- Relacional. El objetivo es generar un sistema de información para gestionar la información de los reptiles y anfibios (herpetofauna) del macrosistema del Iberá en la provincia de Corrientes. El ORDBMS que se emplea es Oracle9i, debido a que en la actualidad es uno de los sistemas Objeto Relacional mas avanzado, que cumple en gran me- dida con los estándares de SQL:1999. Se emplea una Base de Datos Objeto Relacional por la complejidad de los datos y de las relacio- nes entre lo mismos, que incluyen el manejo de tipos de datos com- plejos, colecciones, relaciones de herencia, composición y asocia- ción. La aplicación se ejecutará en browsers estándar en un entorno web. Los módulos de la aplicación se desarrollan en Java sobre una plataforma J2EE. Se emplearon varias herramientas: Rational Rose (análisis en UML), Object Database Designer, JDeveloper 9i, Oracle Containers for Java, Struts, etc. En el trabajo se describen las partes más relevantes del modelo de datos, las experiencias recogi- das en el desarrollo del mismo, las soluciones adoptadas en el di- seño conceptual de la Base de Datos, el diseño de la arquitectura de la aplicación y cómo se relaciona la arquitectura con la base de datos.
  • 2. 34 FACENA, Vol. 19, 2003 Palabras claves: SQL:1999, Base de Datos Objeto-Relacional, Diseño conceptual, Arquitectura de N capas, J2EE y ORDBMS, Aplicación Web. Key words: SQL:1999, Object-Relational Database, Conceptual Design, N-layer Architecture, J2EE and ORDBMS, Web Application. ____________ (1) Departamento de Informática. Facultad de Ciencias Exactas y Naturales y Agrimensura (UNNE). 9 de Julio 1449. 3400 Corrientes, Argentina. E-mail: mfgolo@exa.unne.edu.ar (2) Departamento de Sistemas. Facultad Regional Santa Fe (UTN). Lavaise 610. 3000 Santa Fe, Argentina. E-mail: {ffiszman, fhernand, vrizzoni, mvalin}@frsf.utn.edu.ar; aldovec@ceride.gov.ar (3) Departamento de Biología. Facultad de Ciencias Exactas y Naturales y Agrimensura (UNNE). Av. Libertad 5470. 3400 Corrientes, Argentina. E-mail: balvarez@exa.unne.edu.ar INTRODUCCIÓN Durante muchos años las Bases de Datos Relacionales (RDBMS) dominaron el mercado de las bases de datos y de los sistemas de información de las organizaciones, permi- tiéndoles a éstas últimas automatizar sus procesos más im- portantes. La metodología más empleada para modelar los datos de estas aplicaciones es la Entidad/Relación y sus extensiones. Los tipos de datos que se modelan en las Ba- ses de Datos relacionales son del tipo atómico, a los que se refieren frecuentemente como “simplemente estructura- dos”. La tecnología logró gran aceptación desde mediados de la década del ’80, pero las ventajas competitivas lo- gradas con los RDBMS han disminuido con el transcurso del tiempo, fundamentalmente en los últimos cinco años. Para lograr ventajas competitivas en nuestros días las organi- zaciones necesitan aplicaciones del tipo Internet/Intranet y un conjunto más extenso y complejo de tipos de datos que permitan el manejo de datos estructurados, relaciones de composición y herencia así como la administración de imá- genes, videos, sonidos, series de tiempo, datos geo- espaciales (McClure, 1997). Las tecnologías que surgieron para manejar estos nuevos tipos de datos y las relaciones más complejas que existen entre los mismos son las Bases de Datos Orientadas a Objetos (ODBMS) y las Bases de Datos Objeto Relacionales (ORDBMS). Los ODBMS surgieron para dar un soporte persistente al modelo orientado a objetos que surgió, en primer lugar, como una tecnología de programa- ción con estándares muy definidos orientada a modelar da- tos complejos y a la generación de módulos reusables y de fácil mantenimiento. Los ODBMS facilitaron el desarrollo de sofisticadas aplicaciones como las CAD/CAM, CASE y GIS
  • 3. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 35 (Vela et al., 2001). Los ODBMS combinan los elementos de orientación a objetos en conjunto con los lenguajes de programación orientado a objetos con capacidades de base de datos, que van mas allá de la simple persistencia de los objetos. Estas bases de datos cuentan con la metodolo- gía UML para la generación de los modelos de datos. Como resultado existe una mayor congruencia entre el modelo de datos de la aplicación y el de la base de datos. Estas ba- ses de datos son más apropiadas para el manejo de datos complejos que no sean muy voluminosos. Los ORDBMS surgen como una respuesta a la incorpora- ción de la tecnología de objetos en las Bases de Datos Re- lacionales y con ello permitir el tratamiento de datos y relaciones complejas. Por ser una extensión de la tecnolo- gía relacional presenta dos ventajas frente a los ODBMS: que es compatible con la tecnología relacional y tiene un mejor soporte para aplicaciones voluminosas (Vela et al., 2001). Ambas tecnologías son nuevas y no han alcanzado aún un alto grado de aceptación y madurez, tal vez porque no existen productos en el mercado que cumplan con los últi- mos estándares: ODMG3.0 para los ODBMS (Cattel y Barry, 2000) y SQL:1999 (Eisenberg y Melton, 1999) para los ORDBMS. Se espera que en los años por venir y cuando la tecnología adquiera una mayor madurez los ORDBMS ocupen un importante lugar en el mercado (Dorsey, 1999) como lo hizo la tecnología relacional desde mediados de los ’80 hasta mediados de los ’90. Dado que se encuentran en una etapa de desarrollo estas bases de datos no cuentan con una me- todología de modelado propia. Si bien el diseño e implementación de una base de da- tos objeto-relacional ha sido tratado en la literatura, a la hora de abordar un proyecto concreto surgen muchas du- das y quedan cuestiones sin resolver (Kovacs et al., 1998) (Vela et al., 2001). Es por eso que en este trabajo se presentan las experiencias realizadas en el análisis, di- seño e implementación de un sistema, para la administra- ción de la información relacionada con las investigaciones taxonómicas y ecológicas básicas sobre la herpetofauna del macrosistema Iberá. Para el sistema que estamos desarro- llando una Base de Datos Objeto Relacional es el medio mas natural para implementarlo, debido a la naturaleza de la información y a la complejidad de las relaciones existen- tes entre los datos. Este trabajo se realiza en conjunto con investigadores del área de biología de la Universidad Nacional del Nor- deste, que se encuentran trabajando en la región desde
  • 4. 36 FACENA, Vol. 19, 2003 hace ya varios años. El sistema reflejará la composición faunística de una región con características únicas, la que se encuentra ubicada en el centro-norte de la provin- cia de Corrientes. Este reservorio hídrico y de vida sil- vestre, con una de las más altas biodiversidades faunísti- ca y florística del país puede alterarse dramáticamente, debido a actividades antrópicas que se encuentran afectan- do las zonas perimetrales del mismo. Cualquier plan de conservación del sistema es imposible llevarlo a cabo si se desconocen aspectos básicos tales como diversidad de especies, distribuciones, biogeografía y ecología. A par- tir del estudio de los mismos se puede establecer el fun- cionamiento del sistema sentando las bases para la predic- ción, comparación y entendimiento del efecto de las acti- vidades humanas sobre el mismo, de allí la importancia del sistema que se modela y presenta en este trabajo. Análisis del dominio y metodología utilizada Debido a la complejidad del dominio del problema y a que no existe una metodología disponible que guíe el pro- ceso de análisis y diseño de una Base de Datos Objeto Re- lacional (Grimes, 1998), se convino utilizar la metodolo- gía Orientada a Objetos (OO) para la generación del modelo conceptual esperando lograr una abstracción más ajustada de la aplicación en desarrollo, donde existen relaciones complejas que incluyen herencia, composición y asociación. Con el modelo OO, mucho más expresivo y completo que los sistemas de modelado convencionales, esperamos contar con una definición apropiada de los tipos de datos y lograr que la construcción del sistema se haga de manera más rá- pida y a menor costo. En esta etapa se definió el dominio a partir de las abstracciones que forman el vocabulario del dominio del problema, se identificaron las necesidades de información a partir de dicha descripción y se especificaron las ca- racterísticas del sistema propuesto en términos de obje- tos. Para el análisis del sistema se comenzó con la utili- zación de herramientas CASE de análisis y diseño Orientado a Objetos, buscando con ello acelerar el proceso de defi- nición de la estructura del sistema, su documentación y la automatización de las diferentes etapas de la construcción del software. Para modelar los objetos se emplearon dos herramientas disponibles en el mercado: Rational Rose (Ra- tional Rose, 2000) y Object Database Designer. Ambas pro-
  • 5. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 37 veen la notación UML (Unified Modelling Lenguage) que es el lenguaje de modelado orientado a objetos más difundido en la actualidad. Se seleccionaron estas herramientas por- que además de emplear la notación UML, y permitir modelar complejas relaciones entre los objetos, ambas poseen la capacidad de generar los scripts de creación de los obje- tos para un conjunto amplio de DBMS. En la Fig. 1 se presenta el diagrama de clases del subconjunto más relevante de la aplicación generado con UML en el que se detallan las principales características del modelo. En el mismo se visualiza la clasificación taxonómica de las distintas especies (familia, orden, sub- orden, etc.), los ambientes del macrosistema del Iberá donde se efectuaron las recolecciones de las mismas, la ubicación geográfica de esos ambientes, y el personal que realizó la recolección.
  • 6. 38 FACENA, Vol. 19, 2003 Clase Denominación Orden Suborden Infraorden Denominación Denominación Denominación País Epíteto Denominación Denominación Familia 1..1 1..1 Denominación específico 1..* subespecífico Provincia Denominación Género Especie Subespecie Denominación Nombre_Vulgar Nombre_Vulgar 1..* Autor Nombre_Etimológico Nombre_Etimológico Descripción Descripción Descripción Departamento Denominación 1..* Laguna Pastizal 1..* 1..1 Localidad Recolección Ambiente 1..* 1..* Cuadrícula Denominación Nro_Recolección Cod_Postal Tipo Observaciones Nro_Cuadrícula 1..1 1..* Latitud 1..* 1..* Descripción Fecha Longitud Suelo 1..* 1..* 1..* 1..* Región Bañado Arroyo Colector Denominación Apellido Nombre Dirección Teléfono 1..* E_Mail DNI Fig. 1: Diagrama de clases de un subconjunto de la aplicación Como se puede observar en la figura en este subconjun- to se presentan relaciones de herencia, composición y aso- ciación: • Existe herencia al definir a la clase Ambiente, como clase abstracta, de la cual derivan los diferentes am-
  • 7. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 39 bientes que se encuentran en el macrosistema del Iberá: Bañado, Arroyo, Laguna, Pastizal. • También utilizamos herencia al definir a una especie y a sus correspondientes subespecies: una subespecie ade- más de los atributos que hereda de especie, posee los propios. • La clasificación taxonómica de la herpetofauna se rea- lizó a través de relaciones de composición que van des- de la clase Clase hasta Especie. • Se utilizó herencia al definir los diferentes niveles de generalización de la clase Orden. • Las ubicaciones geográficas del macrosistema se modela- ron con composición, desde la clase País hasta la clase Localidad. • Existen Asociaciones entre los objetos Colector, Reco- lección, Cuadrícula, Región y Localidad. Diseño Lógico de la Base de Datos Para el desarrollo de la aplicación se empleó Oracle9i por ser un ORDBMS que implementa las especificaciones para nuevos tipos de datos del estándar “SQL:1999”: tipos para objetos grandes, CLOB y BLOB, que posibilitan la implemen- tación de textos grandes, de gráficos, imágenes, sonidos y videos; datos estructurados como colecciones y arreglos, y distintos tipos definidos por el usuario que permiten es- tablecer relaciones complejas como herencia, composición, referencias de objetos (REF), navegación directa, tablas de objetos polimórficas (Gietz, 2001). La herramienta Rational Rose, posee un “add-in” para generar los scripts de la base de datos Oracle 8i, pero no posee una forma automática para pasar de los diagramas de análisis al modelo conceptual de la Base de Datos. Para realizar esto se deben rediseñar los diagramas definiendo en forma separada los objetos de la base y sus correspon- dientes tablas. No existe una forma directa de pasar de los diagramas lógicos a los scripts para generar los obje- tos de la Base. Por consiguiente los diagramas se volvían engorrosos y difíciles de comprender. Existían también li- mitaciones en cuanto al manejo de herencia y de tablas anidadas, estas últimas, estructuras claves para la imple- mentación de las composiciones de nuestro problema. Por otro lado Object Database Designer (ODD) (Oracle Designer, 1999) permite pasar directamente de los diagra-
  • 8. 40 FACENA, Vol. 19, 2003 mas generados a los scripts de la Base, pero para la ver- sión 8i de Oracle, versión que no soporta herencia y no permite la utilización óptima de los collections types co- mo tablas anidadas, arrays, ni el multidimensionamiento de los mismos. En conclusión, ninguna de las dos herramientas empleadas genera los scripts adecuados al diseño de los componentes de la Base de Datos seleccionados. De las dos opciones mencionadas se optó por generar el modelo lógico de la base de datos empleando ODD, ya que se adaptaba me- jor al ORDBMS seleccionado para este trabajo, y exigía me- nos esfuerzo que Rational Rose. A partir del modelo lógico obtenido se generaron los scripts de la base, que luego se modificaron manualmente para adaptar las sentencias SQL a Oracle 9i (Oracle Corporation, 2001). A continuación y con el objeto de presentar un ejemplo ilustrativo, se detalla el código SQL para implementar las relaciones de herencia que se generan a partir de la clase Ambiente y sus tablas asociadas: CREATE OR REPLACE TYPE AMBIEN- /*El método Valor_Correcto de- TE_OT AS OBJECT termina si el atributo tipo a (DESCRIPCION CLOB, insertar está dentro de los TIPO VARCHAR2(30), tipos posibles para cada am- TIPO_SUELO VARCHAR2(20), biente, cada subclase de am- MEMBER FUNCTION biente reescribe el método con Valor_Correcto(tipoA var- sus propios valores posibles*/ char(30)) RETURN NUMBER) CREATE OR REPLACE TYPE ARRO- NOT FINAL; YO_OT UNDER AMBIENTE_OT (OVERRIDING MEMBER FUNCTION /*NOT FINAL indica que la cla- Valor_Correcto(tipoA se es abstracta y no permite varchar(30)) RETURN NUMBER) su instanciación.*/ CREATE TABLE ARROYO_T OF ARRO- YO_OT (PRIMARY KEY (TIPO)) Implementación del diseño de la Base Objeto Relacio- nal Los scripts necesitaron ser modificados para poder utilizar estructuras de tablas anidadas para las relacio- nes de composición. Si bien esta estructura no es una de las especificadas por el estándar “SQL: 1999” se la selec- cionó porque es la adecuada para representar una colección de elementos donde no es necesario asignar un máximo (como
  • 9. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 41 en los arreglos variables VARRAYS), el orden de los ele- mentos no es importante y en donde la consulta de un ele- mento particular de la colección debe hacerse de manera eficiente. La taxonomía de las especies presenta estas ca- racterísticas: una Clase está compuesta por un conjunto de Ordenes, cada Orden a su vez tiene un conjunto de Fami- lias, cada Familia tiene Géneros, y así sucesivamente has- ta llegar a la Especie. No hay un tamaño definido, tampoco es importante el orden entre los elementos de un conjunto, y sí interesa la búsqueda eficiente de un elemento parti- cular del conjunto, especialmente cuando se navega en la base de datos para inserción y/o búsqueda de una especie. El siguiente código SQL muestra cómo fue implementada esta estructura: /*Creación de Tipos*/ CREATE OR REPLACE TYPE GENE- RO_OT AS OBJECT CREATE TYPE SUBESPECIE_OT (AUTOR VARCHAR2(30), DENOMGENER VARCHAR2(30), CREATE TYPE SUBESPECIE_TT AS DESCRIPCION CLOB, TABLE OF REF SUBESPECIE_OT ESPECIE ESPECIE_TT) CREATE OR REPLACE TYPE CREATE TYPE GENERO_TT AS TABLE ESPECIE_OT AS OBJECT OF GENERO_OT (NOMBRE_VULGAR VARCHAR2(60), NOMBRE_ETIMOLOGICO VAR- CREATE OR REPLACE TYPE CHAR2(60), FAMILIA_OT AS OBJECT EPITETO VARCHAR2(30), (DENOMFAMIL VARCHAR2(30), DESCRIPCION CLOB, GENERO GENERO_TT ) REGIMEN_ALIMENTARIO VAR- CHAR2(30), CREATE TYPE FAMILIA_TT AS REPRODUCCION VARCHAR2(30), TABLE OF FAMILIA_OT MORFOLOGIA REF MORFOLOGIA_OT, SUBESPECIE SUBESPECIE_TT, CREATE OR REPLACE TYPE MEMBER PROCEDURE vacio) NOT ORDEN_OT AS OBJECT FINAL (DENOMORDEN VARCHAR2(30), DENOMSUBOR VARCHAR2(30), CREATE OR REPLACE TYPE SUB- DENOMINFRAO VARCHAR2(30), ESPECIE_OT UNDER ESPECIE_OT FAMILIA FAMILIA_TT ) (OVERRIDING MEMBER PROCEDURE vacio) CREATE TYPE ORDEN_TT AS TABLE OF ORDEN_OT CREATE TYPE ESPECIE_TT AS CREATE OR REPLACE TYPE TABLE OF REF ESPECIE_OT CLASE_OT AS OBJECT (DENOMCLASE VARCHAR2(30), ORDEN ORDEN_TT ) /*Creación de Tablas Anida- das*/
  • 10. 42 FACENA, Vol. 19, 2003 CREATE TABLE SUBESPECIE_T OF NESTED TABLE ORDEN STORE AS SUBESPECIE_OT ORDEN_NT (PRIMARY KEY ((PRIMARY KEY (DENOMORDEN, (NOMBRE_ETIMOLOGICO)) DENOMSUBOR, DENOMINFRAO)) NESTED TABLE SUBESPECIE STORE NESTED TABLE FAMILIA STORE AS SUBESPECIE_NULL_NT AS FAMILIA_NT ((PRIMARY KEY (DENOMFAMIL)) CREATE TABLE ESPECIE_T OF NESTED TABLE GENERO STORE ESPECIE_OT AS GENERO_NT (PRIMARY KEY ((PRIMARY KEY (NOMBRE_ETIMOLOGICO)) (DENOMGENER)) NESTED TABLE SUBESPECIE STORE NESTED TABLE ESPECIE AS SUBESPECIE_REF_NT STORE AS ESPECIE_REF_NT CREATE TABLE CLASE_T OF ) CLASE_OT ) (PRIMARY KEY (DENOMCLASE)) ) En el código SQL anterior se debe notar la implementa- ción de la jerarquía ESPECIE-SUBESPECIE. En la definición de la clase Especie se ha utilizado una función ficticia, el método vacío(), que no realiza ninguna función en espe- cial, sólo permite definir una relación de herencia, que no podría hacerse si no se modifica en algo la subclase (atributo, método, o especialización de método) respecto de la superclase. Implementar herencia en este punto era importante porque en otras partes del sistema, otras cla- ses pueden tener referencias a ESPECIE pero no a SUBESPE- CIE. Por ejemplo, se puede recolectar una subespecie espe- cífica de una especie y por lo tanto se debe almacenar una referencia a subespecie y no a especie, y en otros casos a la inversa, recolectar una especie que no posee subespe- cies, almacenando una referencia a la especie. Entonces en vez de utilizar dos referencias, una para cada clase y usar una u otra dependiendo del caso, se utilizó herencia porque permite la sustitución de tipos entre la superclase y la subclase. También se presenta en el código la estructura taxonó- mica a través de tablas anidadas. Se observa que la tabla anidada ESPECIE_TT es por referencia, sus filas son refe- rencias a especies. Esto es así porque, como se mencionó, otras clases poseen referencias a especies y si estas es- tán almacenadas en una tabla anidada no es posible hacer una referencia a ellas externamente, por limitaciones pro- pias del ORDBMS. Por lo que se creó una tabla especial pa- ra las especies, que solucione este problema. Lo mismo ocurre con las subespecies.
  • 11. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 43 Otro caso especial es el de la implementación de herencia para Orden, Suborden e Infraorden. En principio se podría pensar en generar una serie de tablas anidadas relacionadas con Especie, pero esto triplicaría la canti- dad de tablas anidadas; se debe crear una tabla anidada de Familia para cada una de las tres clases mencionadas en la jerarquía. La transformación que se realizó en este caso es la que se emplea para jerarquía de herencia cuando existe superposición entre las distintas subclases: se crea una sola tabla que contiene los atributos de la su- perclase y de las subclases, más un atributo que identifi- ca el tipo al que pertenece, obviamente en este caso se generan valores nulos (Elmasri y Navathe, 2000). A través de la palabra clave TABLE se puede acceder de manera sencilla, por ejemplo, a todos los nombres etimoló- gicos de Especie que derivan de la Clase ‘Reptilia’. El código de la consulta se detalla a continuación: SELECT esp.nombre_etimologico FROM Clase_T c, TABLE (c.Orden) o, TABLE (o.Familia) f, TABLE (f.genero) g, TABLE (g.especie) esp WHERE c.denomclase=’Reptilia’ Diseño de la arquitectura de la aplicación El proyecto Iberá está dirigido a generar una aplica- ción web. Como arquitectura de la misma se ha elegido un modelo de 3 capas debido a que se pueden utilizar web browsers (Internet Explorer, Netscape Navigator, etc.) co- mo clientes, lo que facilita su distribución y manteni- miento, permitiendo que tanto en el ambiente de la Univer- sidad Nacional del Nordeste, donde residirá la aplicación, como en cualquier parte del mundo cualquier persona pueda conocer este macrosistema y cualquier investigador pueda trabajar on-line con toda la información que necesite, só- lo con disponer de una conexión a Internet. Además posibi- lita que la aplicación esté centralizada, esto es la capa de aplicación y la capa de presentación, concentrados en un servidor, para facilitar el mantenimiento y asegurar que los clientes tendrán siempre la versión actualizada de la aplicación. La capa de base de datos separada y centra- lizada en un servidor de datos, permite que la misma in- formación pueda ser accedida por diferentes aplicaciones con diferentes fines sin la necesidad de replicar datos en varios servidores.
  • 12. 44 FACENA, Vol. 19, 2003 Para implementar esta arquitectura se eligió la plata- forma J2EE, propuesta por Sun Microsystems, y basada en el lenguaje de programación Java (Sun Microsystem, 2000). En- tre los beneficios proporcionados por esta plataforma al sistema que se describe se pueden destacar: la facilidad de mantenimiento al centralizar la aplicación en un solo lugar; no tener limites geográficos para distribuir la aplicación, debido a la utilización de browsers como clientes y a las facilidades de internacionalización de la arquitectura; la independencia del hardware; la gestión de conexiones a la BD mediante pooling de conexiones JDBC (Java Data Base Connectivity) del Container EJB (Entrepri- se JavaBeans); la flexibilidad para la elección entre dis- tintos servidores de aplicación, tanto de código abierto como comerciales; la posibilidad de emplear numerosas li- brerías existentes (JNDI, Collections, Struts); la facili- dad para la gestión de sesiones de usuarios mediante “Ses- sions EJB”; la reutilización de la lógica de negocio me- diante “Bean Managed Persistence” de EJB y la clara sepa- ración entre presentación y lógica de negocio, permitien- do, en caso de ser necesario, separar estas capas geográ- ficamente. El gráfico que se muestra a continuación es una mues- tra reducida de los distintos componentes de nuestro sis- tema.
  • 13. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 45 Fig. 2: Arquitectura de la aplicación En el gráfico se puede distinguir la separación entre las diferentes capas, que interactúan con protocolos es- tándares y abiertos. El container EJB es el que soporta toda la lógica de la aplicación, manteniendo los objetos de la base de datos “mapeados” a objetos Java, y realizán- dose todas las operaciones de datos a través de ellos. La capa de presentación se adecua a los diferentes tipos de clientes: Web Browsers, clientes Java o clientes Wireless. El flujo de mensajes se realiza a través de Servlets e IberaBeans, que actúan como concentrador del flujo de men- sajes de la aplicación. La inclusión del comportamiento de los objetos (méto- dos) en la base de datos es otro punto clave de toma de decisión. Si bien tanto Java como PL/SQL están soportados como lenguajes para escribir métodos, Java requiere que éstos se encuentren ya definidos en clases Java almacena- das en la base de datos. En realidad, esto está diseñado para almacenar en la base de datos objetos que ya se en- cuentran previamente programados en Java, que no es nues-
  • 14. 46 FACENA, Vol. 19, 2003 tro caso. Por otro lado, con PL/SQL el código se puede in- cluir como método de los objetos en la base de datos, pero se pierden ventajas con la arquitectura del sistema pro- puesta como diseño. Por lo tanto, se optó por incluir el comportamiento dentro del código de los EJB y acceder a la base a través de sentencias SQL incluidas dentro de los mismos, vía JDBC, para independizar completamente la apli- cación de la base de datos. Para facilitar el desarrollo de la aplicación Web en Java utilizamos un framework basado en el modelo MVC (Mo- del View Controller). Este framework provee un conjunto de clases y tag-libs que conforman el controlador, la inte- gración con el modelo y facilitan la construcción de vis- tas. El mismo nos permitió estructurar una arquitectura donde quedó claramente dividida la lógica de negocio (Mo- del), a través de los EJB antes mencionados, la presenta- ción (View) a través del código JSP (“Java Server Pages”) y el control de flujo de aplicaciones (Controller), el Servlet que en base a solicitudes del usuario decide qué función de la lógica de negocio se va a realizar y luego delega la presentación del resultado de la solicitud a la JSP correspondiente. Una de las ventajas que se obtiene de este modo es que la presentación y manipulación de datos se puede manejar de manera independiente, de modo tal que, por ejemplo, se pueden presentar los mismos datos en va- rios lenguajes y diseños dependiendo del usuario situado frente a la pantalla. Para desarrollar la aplicación se utilizó el IDE Java JDeveloper 9i. Cabe aclarar que existen diversos IDEs en el mercado que permiten desarrollar este tipo de aplica- ciones como es el caso del Forte for Java de Sun Microsys- tems. Pero elegimos JDeveloper con el objeto de mantener una homogeneidad en cuanto a fabricante de productos a ni- vel de aplicación y de base de datos. En cuanto a la gene- ración de los objetos Java que se conectan con la Base de Datos se analizaron dos posibles estrategias: • La primera consiste en mapear los objetos de la BD ob- jeto-relacional mediante el framework para manejo de estructuras y colecciones proporcionadas por las clases JDBC de Oracle (JPublisher), que extienden las clases estándares de JDBC brindando ciertas características especiales (Sanko et al., 2001). La ventaja es que este proceso se realiza automáticamente, pero aún cuando el código que se genera permite efectuar muchas operacio- nes directas, quedan muchos otras a resolver, por ejem-
  • 15. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 47 plo: conexión a la BD, como reutilizar los objetos creados, como hacer “caching” de los mismos, etc. • La segunda estrategia consiste en generar los EJB di- rectamente en concordancia con los objetos generados en la base de datos. Este proceso es más lento y trabajo- so, ya que debe crearse un EJB para cada objeto de la base. De todos modos se obtiene una mejora sustancial en la conexión con la base de datos, en la gestión de los datos del sistema, en la utilización de los benefi- cios aportados por la arquitectura J2EE y una mayor in- dependencia del código generado de la BD utilizada, ya que cambiar la aplicación para que se conecte con otro motor de BD implica mínimos cambios en el código gene- rado. También se pensó en emplear una estrategia mixta que combine a las dos anteriores, pero la limitación que se tiene es que la representación de los datos en las clases generadas por JPublisher no podían ser se- rializadas que era una condición requerida por el pro- tocolo de comunicación de datos entre componentes de la arquitectura. Se optó por utilizar la segunda estrategia porque cuenta con una mejor relación costo-beneficio a la hora de garantizar la persistencia de los objetos. Consecuentemente, la aplicación final está constituida por: • El servidor de base de datos, en donde se guarda- rán todos los datos de las especies del macrosis- tema Iberá. • El servidor de aplicaciones, en donde estarán las aplicaciones internas y externas, y el que reali- zará los requerimientos correspondientes a la base de datos. • Los clientes web, que será cualquier persona en Internet que ingrese a la aplicación para realizar consultas o cualquier persona de la Intranet, que desee realizar consultas y/o modificaciones en los datos. En ambos casos se utilizará un explorador de internet para acceder a la aplicación. CONCLUSIONES La posibilidad de las Bases de Datos Objeto Relaciona- les de implementar diferentes tipos de datos y relaciones complejas nos permitió modelar e implementar la base de
  • 16. 48 FACENA, Vol. 19, 2003 datos de un modo más natural y directo, al menos para el caso de la aplicación en desarrollo, orientada al empleo de una arquitectura Intranet/Internet. Como resultados de este trabajo se generaron tablas anidadas para las relaciones de composición, las estructu- ras provistas por el ORDBMS para herencia, y estructuras que contemplan referencias entre objetos para las asocia- ciones. Si bien Oracle, con la versión 9i, ha logrado grandes avances en el desarrollo de las características orientadas a objetos en su motor de base de datos objeto-relacional, no desarrolló aún, una herramienta que integre todas las fases del ciclo de vida del software, principalmente las de modelado lógico y generación de la base, que permitan generar diseños que aprovechen todas las potencialidades de la Base de Datos. Tampoco existe en el mercado una herramienta ni una metodología que guíe el proceso de di- seño e implementación de aplicaciones, por lo que estas tareas se deben hacer ad-hoc. Es por ello que, en este trabajo, para resolver el diseño se empleó una estrategia híbrida, basada en la tecnología Orientada a Objetos para la abstracción de clases y las relaciones entre las mis- mas, los cuales se encuentran plasmados en la Fig.1, y una estrategia basada en los objetivos de la aplicación, el tipo de las relaciones entre clases y las estructuras del ORDBMS disponibles para representar estas relaciones. Para esto último también se contemplaron aspectos tales como la facilidad de acceso a los datos y el mantenimiento de la aplicación. Como conclusiones de este trabajo se puede decir que la implementación de la aplicación fue lo que presentó ma- yores dificultades. Se notó la falta de una metodología clara que ayude a discernir la administración y la distri- bución del comportamiento de los objetos en las diferentes capas. Tampoco esto se puede hacer de manera simple y di- recta. Esto es así independientemente que los métodos se programen tanto en Java, como en PL/SQL, o algún otro len- guaje. La oferta de herramientas basadas en tecnologías emergentes es amplia, pero éstas no han alcanzado una ma- durez suficiente y/o el soporte que brindan es limitado. Existen muchos aspectos que se deben abordar a la hora de discernir la generación, distribución y administración de los componentes de la aplicación: claridad en el código, facilidad de mantenimiento, buena performance, buena segu- ridad, conectividad, etc., que no son fáciles de satisfa- cer. La opción final para nuestro caso fue la utilización
  • 17. Base de datos objeto-relacionales y la tecnología J2EE...María F. GOLOBISKY et al. 49 de EJB para representar nuestra lógica del negocio y el Framework Struts para su presentación al usuario final, ya que con la combinación de estas herramientas pudimos, dada la clara separación de roles entre los distintos componen- tes, obtener un producto final de mayor calidad, más fácil de mantener y administrar. Cuestiones claves como la admi- nistración de conexiones, la escalabilidad de la aplica- ción, etc., pudieron ser delegadas al servidor de aplica- ciones permitiéndole a los desarrolladores enfocarse en los aspectos específicos del sistema. Como futuros trabajos de investigación se piensa ahon- dar en metodologías que permitan el diseño e implementa- ción de aplicaciones similares, como experimentar en bús- quedas multimedia no convencionales: imágenes por diversos parámetros como color, textura, forma; búsquedas por soni- dos, etc. BIBLIOGRAFÍA CATTEL, R. and D. BARRY, 2000. The Object Data Standard: ODMG 3.0. Morgan Kaufmann Publ. 300 p. DORSEY, P., 1999. The Promise of the Object-Relational Paradigm [en línea]. June 1, 1999. Disponible en: <http://www.dulcian.com/papers/>. EISENBERG, A. and J. MELTON, 1999. SQL:1999, formerly known as SQL3. ACM SIGMOD Record, 28 (1): 131-138. ELMASRI, R. and S. NAVATHE, 2000. Fundamentals of Database Systems. Addison Wesley. 956 p. GIETZ, B., 2001. Oracle 9i Application Developer’s Guide-Object- Relational Features, Release 1 (9.0.1). Part No. A88878-01. GRIMES, S., 1998. Modeling Object/Relational Databases. DBMS. 11 (4): 51-56. KOVACS, C. and VAN BOMMEL, P., 1998. Conceptual Modelling-Based Design of Object-Oriented Databases. Information and Software Technology, 40 (1):1-14. MCCLURE, S., 1997. Object Database vs. Object Relational Database [en línea]. IDC International Data Corporation. IDC Bulletin #14821E - August 1997. Disponible en: <http://www.cai.com/products/ jasmine/analyst/idc/14821E.htm>. ORACLE CORPORATION, 2001. Oracle9i Database-Oracle Technology Network [en línea]. Disponible en: <http://technet.oracle.com/products/oracle9i/content.html>. ORACLE DESIGNER, 1999. Oracle Designer 6.0 Releases Notes. Disponible en: <http://technet.oracle.com/ products/oracle8/content.html>.
  • 18. 50 FACENA, Vol. 19, 2003 RATIONAL ROSE, 2000. Rational Rose v2001: Visual Modeling, UML, Object- Oriented, Component-Based Development with Rational Rose [en línea]. 14 December 2000. Disponible en: <http://www.rational.com/products/rose/>. SANKO, M.; B. WRIGHT and T. PFAEFFLE, 2001. Oracle 9i JDBC Developer’s Guide and Reference, Release 1 (9.0.1). Part No. A90211-01. SUN MICROSYSTEM, 2000. The JavaTM 2 Enterprise Edition Developer’s Guide. Version 1.2.1 [en línea]. May 2000. Disponible en: <http://java.sun.com/j2ee/>. VELA, B.; J.M. CAVERO y E. MARCOS, 2001. Diseño de bases de datos objeto- relacionales con UML. Actas de las Jornadas Iberoamericanas de In- geniería del Software e Ingeniería del conocimiento (JIISIC). Bue- nos Aires, Argentina: 59-68. Recibido/Received/: 14-Abr-03 Aceptado/Accepted/: 07-Ago-03