Este trabajo presenta el diseño e implementación de una aplicación web para gestionar información sobre reptiles y anfibios en el macrosistema Iberá en Argentina, utilizando una base de datos objeto-relacional de Oracle9i. El objetivo es generar un sistema de información que permita el manejo de datos complejos y sus relaciones, incluyendo tipos de datos, colecciones, herencia y asociación. Los módulos de la aplicación se desarrollan en Java sobre J2EE. Se emplearon herramientas como Rational Rose, JDeveloper 9i y Struts.
La programación concurrente tiene sus raíces en los sistemas operativos de los años 60 que introdujeron dispositivos de entrada-salida independientes. Los pioneros en este campo incluyen a Edsger Dijkstra, Per Brinch Hansen y Charles Hoare. La programación concurrente permite la ejecución simultánea de múltiples tareas a través de procesos o hilos, y ofrece ventajas como un modelo más natural para aplicaciones, compartir recursos de forma eficiente y optimizar el uso de recursos en sistemas monoprocesador.
Este documento introduce las arquitecturas orientadas a servicios (SOA). Explica que SOA permite construir sistemas flexibles a partir de componentes modulares llamados servicios. Los servicios son independientes y pueden interactuar mediante interfaces estándar. El documento también presenta varias definiciones de SOA de diferentes autores e instituciones y discute las ventajas de SOA para satisfacer las necesidades cambiantes de las empresas.
Este documento describe los sistemas operativos distribuidos. Explica que estos sistemas permiten acceder y gestionar recursos distribuidos en una red de forma transparente al usuario. Los usuarios pueden acceder a recursos remotos como si fueran locales. También clasifica los sistemas distribuidos en tres tipos: sistemas computacionales distribuidos, sistemas de información distribuidos y sistemas embebidos distribuidos. Finalmente, destaca algunas características clave de los sistemas distribuidos como la tolerancia a fallos, la escal
El documento habla sobre los sistemas de gestión de bases de datos. Explica que son programas que sirven para definir, construir y manipular una base de datos de forma controlada. También clasifica los sistemas de gestión de bases de datos en relacionales, orientados a objetos, jerárquicos y en red. Por último, describe los componentes principales de la arquitectura de un sistema de gestión de bases de datos como las interfaces externas, el intérprete del lenguaje, el optimizador de consultas y el motor de la base de datos.
Este documento presenta sobre arquitectura de aplicaciones móviles. Explica que las aplicaciones móviles pueden ser nativas o web, y cada una tiene ventajas y desventajas. También describe componentes clave de una arquitectura de aplicación web móvil incluyendo servidores, servicios web, bases de datos, y tecnologías del lado del cliente como HTML5, CSS3 y JavaScript. Además, cubre estrategias para el back-end, front-end y presentación multiplataforma. Finalmente, presenta un caso de éxito de una
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
Esta presentación corresponde al "Tema 2: Tecnologías de desarrollo web" de la asignatura "Desarrollo de Aplicaciones Web" de 3º del Grado en Ingeniería del Software de la ETSII en la Universidad Rey Juan Carlos.
Un programa es un conjunto de instrucciones en un lenguaje de programación que permite realizar una tarea específica. Un proceso es el conjunto de instrucciones de un programa, su estado de ejecución y memoria reservada. El procesador es el hardware que ejecuta las instrucciones de los procesos.
Este documento describe los diferentes tipos de usuarios de una base de datos, incluyendo programadores de aplicaciones, usuarios finales sofisticados e ingenuos, y administradores. También describe las personas involucradas en el diseño, uso y mantenimiento de una gran base de datos, clasificándolas como actores en el escenario como administradores y diseñadores, o trabajadores tras bambalinas como creadores de herramientas y personal de mantenimiento.
La programación concurrente tiene sus raíces en los sistemas operativos de los años 60 que introdujeron dispositivos de entrada-salida independientes. Los pioneros en este campo incluyen a Edsger Dijkstra, Per Brinch Hansen y Charles Hoare. La programación concurrente permite la ejecución simultánea de múltiples tareas a través de procesos o hilos, y ofrece ventajas como un modelo más natural para aplicaciones, compartir recursos de forma eficiente y optimizar el uso de recursos en sistemas monoprocesador.
Este documento introduce las arquitecturas orientadas a servicios (SOA). Explica que SOA permite construir sistemas flexibles a partir de componentes modulares llamados servicios. Los servicios son independientes y pueden interactuar mediante interfaces estándar. El documento también presenta varias definiciones de SOA de diferentes autores e instituciones y discute las ventajas de SOA para satisfacer las necesidades cambiantes de las empresas.
Este documento describe los sistemas operativos distribuidos. Explica que estos sistemas permiten acceder y gestionar recursos distribuidos en una red de forma transparente al usuario. Los usuarios pueden acceder a recursos remotos como si fueran locales. También clasifica los sistemas distribuidos en tres tipos: sistemas computacionales distribuidos, sistemas de información distribuidos y sistemas embebidos distribuidos. Finalmente, destaca algunas características clave de los sistemas distribuidos como la tolerancia a fallos, la escal
El documento habla sobre los sistemas de gestión de bases de datos. Explica que son programas que sirven para definir, construir y manipular una base de datos de forma controlada. También clasifica los sistemas de gestión de bases de datos en relacionales, orientados a objetos, jerárquicos y en red. Por último, describe los componentes principales de la arquitectura de un sistema de gestión de bases de datos como las interfaces externas, el intérprete del lenguaje, el optimizador de consultas y el motor de la base de datos.
Este documento presenta sobre arquitectura de aplicaciones móviles. Explica que las aplicaciones móviles pueden ser nativas o web, y cada una tiene ventajas y desventajas. También describe componentes clave de una arquitectura de aplicación web móvil incluyendo servidores, servicios web, bases de datos, y tecnologías del lado del cliente como HTML5, CSS3 y JavaScript. Además, cubre estrategias para el back-end, front-end y presentación multiplataforma. Finalmente, presenta un caso de éxito de una
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
Esta presentación corresponde al "Tema 2: Tecnologías de desarrollo web" de la asignatura "Desarrollo de Aplicaciones Web" de 3º del Grado en Ingeniería del Software de la ETSII en la Universidad Rey Juan Carlos.
Un programa es un conjunto de instrucciones en un lenguaje de programación que permite realizar una tarea específica. Un proceso es el conjunto de instrucciones de un programa, su estado de ejecución y memoria reservada. El procesador es el hardware que ejecuta las instrucciones de los procesos.
Este documento describe los diferentes tipos de usuarios de una base de datos, incluyendo programadores de aplicaciones, usuarios finales sofisticados e ingenuos, y administradores. También describe las personas involucradas en el diseño, uso y mantenimiento de una gran base de datos, clasificándolas como actores en el escenario como administradores y diseñadores, o trabajadores tras bambalinas como creadores de herramientas y personal de mantenimiento.
Este documento describe las amenazas y vulnerabilidades más comunes a los sistemas de información. Explica que las amenazas incluyen factores humanos, hardware, software, redes y desastres naturales. Las vulnerabilidades más frecuentes son contraseñas predeterminadas, llaves compartidas predeterminadas, suplantación de IP, interceptación pasiva, vulnerabilidades de servicios y aplicaciones. También describe técnicas de cifrado como simétrico, asimétrico e híbrido, y explica que los mecanismos de protección controlan el
Este documento compara diferentes sistemas gestores de bases de datos, describiendo sus características técnicas, ventajas, desventajas y empresas que los utilizan. Algunos de los SGBD más populares mencionados son MySQL, Oracle, SQL Server, PostgreSQL y SQLite. Cada uno tiene fortalezas específicas como rendimiento, escalabilidad, facilidad de uso y compatibilidad con diferentes plataformas y sistemas operativos.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
Este documento describe el uso de componentes y librerías en Java. Explica que las clases en Java pueden agruparse en paquetes lógicos llamados librerías. Detalla algunos paquetes comunes como java.lang y java.io y cómo crear y empaquetar componentes en archivos JAR para facilitar su reutilización.
Semana 3 gestion de la configuracion y control de cambiosGiovani Ramirez
El documento habla sobre la gestión de la configuración de software. Explica los roles y responsabilidades en el proceso como el gestor de configuración y el coordinador de configuración. También describe el proceso de identificación de elementos de configuración, solicitud de cambios, análisis de impacto, aprobación o rechazo de cambios e implementación de cambios aprobados.
Este documento compara diferentes sistemas operativos para servidores, incluyendo Linux, Windows Server, Mac OS X Server, y el servidor web de Google. Describe las ventajas y desventajas de cada uno, como la estabilidad, seguridad, compatibilidad de software, y costo. Concluye que los sistemas operativos para servidores continúan evolucionando para mejorar la interacción entre usuarios y hardware.
Estructuras (CAPAS) de un sistema operativoMarvin Romero
El documento describe las diferentes estructuras de los sistemas operativos, incluyendo la estructura modular, la estructura de anillos o capas, la estructura de microkernel, la estructura multinucleo y la estructura de máquinas virtuales. Explica que el sistema operativo sirve de intermediario entre el usuario y la computadora para proporcionar un entorno cómodo de uso.
El documento describe diferentes estilos arquitectónicos para el diseño de software. Explica que los estilos arquitectónicos definen categorías de sistemas que incluyen componentes, conectores, restricciones y modelos semánticos. También cubre estilos como la arquitectura centrada en datos, la arquitectura de flujo de datos, y las arquitecturas de llamada y retorno.
Ejercicio 2
Se quiere diseñar una base de datos relacional que almacene información relativa a los zoos existentes en el mundo, así como las especies animales que éstos albergan. De cada zoo se conoce el nombre, ciudad y país donde se encuentra, tamaño (en m2) y presupuesto anual. De cada especie animal se almacena el nombre vulgar y nombre científico, familia a la que pertenece y si se encuentra en peligro de extinción.
Además, se debe guardar información sobre cada animal que los zoos poseen, como su número de
Identificación, especie, sexo, año de nacimiento, país de origen y continente.
animal{ numidentificacion,especie, nombrevulgar,nombrecientifico,familiapertece,sexo,año,nacimiento,paisorigen,continente,peligroextincion
Este documento describe los algoritmos de control de concurrencia en bases de datos. Explica que la concurrencia ocurre cuando múltiples transacciones acceden a una base de datos al mismo tiempo y puede causar problemas si no se controla adecuadamente. Describe dos algoritmos principales para controlar la concurrencia: bloqueos y protocolos de dos fases. El algoritmo de bloqueo de dos fases usa bloqueos de lectura y escritura para prevenir conflictos entre operaciones concurrentes de transacciones.
El documento describe la técnica de diagrama de flujo de datos (DFD) para modelar sistemas de información. El DFD proporciona una representación lógica y conceptual del sistema, independiente de restricciones físicas. Incluye elementos como entidades externas, procesos, almacenes de datos y flujos de datos. Los DFD se construyen mediante descomposición por niveles de detalle, comenzando por un diagrama de contexto de alto nivel y dividiendo procesos en diagramas posteriores.
1. El documento presenta conceptos clave de ingeniería de software como modelo de negocios, procesos de negocio, roles, casos de uso de negocio y diagramas para modelar el negocio. 2. Explica que el modelo de negocios estudia la organización identificando procesos, roles y su interacción para lograr objetivos. 3. Se describen elementos para modelar el negocio como actores, roles, casos de uso, flujos de trabajo y decisiones usando diagramas de casos de uso, secuencias, actividades.
El documento describe conceptos clave relacionados con la calidad del software, incluyendo modelos como ISO 9126, CMMI y principios de gestión de la calidad. Explica que la calidad del software implica seguir metodologías estándar para garantizar la confiabilidad, mantenibilidad y facilidad de prueba del software. También cubre temas como el aseguramiento, control y mejora continua de la calidad a lo largo del ciclo de vida del desarrollo de software.
Este documento describe varios conceptos relacionados con la sincronización entre procesos concurrentes, incluyendo la necesidad de sincronización cuando los procesos comparten recursos, el problema de la sección crítica, soluciones como semáforos y problemas clásicos de sincronización como productor-consumidor y lectores-escritores.
El documento explica qué es un modelo de datos y describe los conceptos clave de un modelo entidad-relación (E-R), incluyendo entidades, atributos, relaciones, claves primarias y cardinalidades. Luego, muestra un ejemplo paso a paso de cómo crear un diagrama E-R para representar la información de personas, viviendas, ciudades y regiones.
Archimate, es un lenguaje abierto e independiente, promocionado por el “ Open Group” que permite gráficamente describir las capas de negocio, procesos, aplicaciones, datos e infraestructura de una empresa para describir su Arquitectura Empresarial.
Esta la presentacion usada en una conferencia, donde los asistentes tuvieron la oportunidad de conocer de manera práctica los fundamentos y uso de este interesante lenguaje descriptivo llamado: Archimate.
El documento trata sobre la generación de código intermedio en los compiladores. Explica que el código intermedio facilita la optimización, aumenta la portabilidad del compilador y divide el proceso de compilación en fases. Describe diferentes representaciones intermedias como RPN, código P y códigos de tres direcciones, y explica cómo se generan tercetos y tercetos indirectos a partir del análisis semántico.
Este documento resume la Norma IEEE 830 para la Especificación de Requerimientos de Software. Explica que la norma provee una guía para la redacción de un Documento de Requerimientos de Software (SRS) que describa claramente lo que el cliente necesita del software y lo que el proveedor debe entregar. También cubre consideraciones como la naturaleza, ambiente y características deseables de un buen SRS.
Este documento presenta un resumen de 3 oraciones o menos del documento proporcionado:
El documento provee información sobre Microsoft SQL Server, incluyendo su definición, características, historia y ventajas. También describe el lenguaje SQL y T-SQL usados para interactuar con bases de datos en SQL Server. Finalmente, incluye ejemplos de ejercicios prácticos con estos lenguajes.
Este documento presenta conceptos básicos de programación orientada a objetos como clases, objetos, herencia, métodos, eventos y características como abstracción, encapsulamiento y ocultamiento. También describe características de bases de datos orientadas a objetos como herencia, relaciones, integridad y el modelo estándar ODMG.
Este documento describe las características de una base de datos orientada a objetos, incluyendo conceptos como encapsulamiento, herencia y polimorfismo. Explica que este tipo de bases de datos permite definir operaciones sobre los datos como parte de su definición y pueden almacenar información binaria de forma eficiente. También resume brevemente su historia y algunas de sus ventajas y desventajas.
Este documento describe las amenazas y vulnerabilidades más comunes a los sistemas de información. Explica que las amenazas incluyen factores humanos, hardware, software, redes y desastres naturales. Las vulnerabilidades más frecuentes son contraseñas predeterminadas, llaves compartidas predeterminadas, suplantación de IP, interceptación pasiva, vulnerabilidades de servicios y aplicaciones. También describe técnicas de cifrado como simétrico, asimétrico e híbrido, y explica que los mecanismos de protección controlan el
Este documento compara diferentes sistemas gestores de bases de datos, describiendo sus características técnicas, ventajas, desventajas y empresas que los utilizan. Algunos de los SGBD más populares mencionados son MySQL, Oracle, SQL Server, PostgreSQL y SQLite. Cada uno tiene fortalezas específicas como rendimiento, escalabilidad, facilidad de uso y compatibilidad con diferentes plataformas y sistemas operativos.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
Este documento describe el uso de componentes y librerías en Java. Explica que las clases en Java pueden agruparse en paquetes lógicos llamados librerías. Detalla algunos paquetes comunes como java.lang y java.io y cómo crear y empaquetar componentes en archivos JAR para facilitar su reutilización.
Semana 3 gestion de la configuracion y control de cambiosGiovani Ramirez
El documento habla sobre la gestión de la configuración de software. Explica los roles y responsabilidades en el proceso como el gestor de configuración y el coordinador de configuración. También describe el proceso de identificación de elementos de configuración, solicitud de cambios, análisis de impacto, aprobación o rechazo de cambios e implementación de cambios aprobados.
Este documento compara diferentes sistemas operativos para servidores, incluyendo Linux, Windows Server, Mac OS X Server, y el servidor web de Google. Describe las ventajas y desventajas de cada uno, como la estabilidad, seguridad, compatibilidad de software, y costo. Concluye que los sistemas operativos para servidores continúan evolucionando para mejorar la interacción entre usuarios y hardware.
Estructuras (CAPAS) de un sistema operativoMarvin Romero
El documento describe las diferentes estructuras de los sistemas operativos, incluyendo la estructura modular, la estructura de anillos o capas, la estructura de microkernel, la estructura multinucleo y la estructura de máquinas virtuales. Explica que el sistema operativo sirve de intermediario entre el usuario y la computadora para proporcionar un entorno cómodo de uso.
El documento describe diferentes estilos arquitectónicos para el diseño de software. Explica que los estilos arquitectónicos definen categorías de sistemas que incluyen componentes, conectores, restricciones y modelos semánticos. También cubre estilos como la arquitectura centrada en datos, la arquitectura de flujo de datos, y las arquitecturas de llamada y retorno.
Ejercicio 2
Se quiere diseñar una base de datos relacional que almacene información relativa a los zoos existentes en el mundo, así como las especies animales que éstos albergan. De cada zoo se conoce el nombre, ciudad y país donde se encuentra, tamaño (en m2) y presupuesto anual. De cada especie animal se almacena el nombre vulgar y nombre científico, familia a la que pertenece y si se encuentra en peligro de extinción.
Además, se debe guardar información sobre cada animal que los zoos poseen, como su número de
Identificación, especie, sexo, año de nacimiento, país de origen y continente.
animal{ numidentificacion,especie, nombrevulgar,nombrecientifico,familiapertece,sexo,año,nacimiento,paisorigen,continente,peligroextincion
Este documento describe los algoritmos de control de concurrencia en bases de datos. Explica que la concurrencia ocurre cuando múltiples transacciones acceden a una base de datos al mismo tiempo y puede causar problemas si no se controla adecuadamente. Describe dos algoritmos principales para controlar la concurrencia: bloqueos y protocolos de dos fases. El algoritmo de bloqueo de dos fases usa bloqueos de lectura y escritura para prevenir conflictos entre operaciones concurrentes de transacciones.
El documento describe la técnica de diagrama de flujo de datos (DFD) para modelar sistemas de información. El DFD proporciona una representación lógica y conceptual del sistema, independiente de restricciones físicas. Incluye elementos como entidades externas, procesos, almacenes de datos y flujos de datos. Los DFD se construyen mediante descomposición por niveles de detalle, comenzando por un diagrama de contexto de alto nivel y dividiendo procesos en diagramas posteriores.
1. El documento presenta conceptos clave de ingeniería de software como modelo de negocios, procesos de negocio, roles, casos de uso de negocio y diagramas para modelar el negocio. 2. Explica que el modelo de negocios estudia la organización identificando procesos, roles y su interacción para lograr objetivos. 3. Se describen elementos para modelar el negocio como actores, roles, casos de uso, flujos de trabajo y decisiones usando diagramas de casos de uso, secuencias, actividades.
El documento describe conceptos clave relacionados con la calidad del software, incluyendo modelos como ISO 9126, CMMI y principios de gestión de la calidad. Explica que la calidad del software implica seguir metodologías estándar para garantizar la confiabilidad, mantenibilidad y facilidad de prueba del software. También cubre temas como el aseguramiento, control y mejora continua de la calidad a lo largo del ciclo de vida del desarrollo de software.
Este documento describe varios conceptos relacionados con la sincronización entre procesos concurrentes, incluyendo la necesidad de sincronización cuando los procesos comparten recursos, el problema de la sección crítica, soluciones como semáforos y problemas clásicos de sincronización como productor-consumidor y lectores-escritores.
El documento explica qué es un modelo de datos y describe los conceptos clave de un modelo entidad-relación (E-R), incluyendo entidades, atributos, relaciones, claves primarias y cardinalidades. Luego, muestra un ejemplo paso a paso de cómo crear un diagrama E-R para representar la información de personas, viviendas, ciudades y regiones.
Archimate, es un lenguaje abierto e independiente, promocionado por el “ Open Group” que permite gráficamente describir las capas de negocio, procesos, aplicaciones, datos e infraestructura de una empresa para describir su Arquitectura Empresarial.
Esta la presentacion usada en una conferencia, donde los asistentes tuvieron la oportunidad de conocer de manera práctica los fundamentos y uso de este interesante lenguaje descriptivo llamado: Archimate.
El documento trata sobre la generación de código intermedio en los compiladores. Explica que el código intermedio facilita la optimización, aumenta la portabilidad del compilador y divide el proceso de compilación en fases. Describe diferentes representaciones intermedias como RPN, código P y códigos de tres direcciones, y explica cómo se generan tercetos y tercetos indirectos a partir del análisis semántico.
Este documento resume la Norma IEEE 830 para la Especificación de Requerimientos de Software. Explica que la norma provee una guía para la redacción de un Documento de Requerimientos de Software (SRS) que describa claramente lo que el cliente necesita del software y lo que el proveedor debe entregar. También cubre consideraciones como la naturaleza, ambiente y características deseables de un buen SRS.
Este documento presenta un resumen de 3 oraciones o menos del documento proporcionado:
El documento provee información sobre Microsoft SQL Server, incluyendo su definición, características, historia y ventajas. También describe el lenguaje SQL y T-SQL usados para interactuar con bases de datos en SQL Server. Finalmente, incluye ejemplos de ejercicios prácticos con estos lenguajes.
Este documento presenta conceptos básicos de programación orientada a objetos como clases, objetos, herencia, métodos, eventos y características como abstracción, encapsulamiento y ocultamiento. También describe características de bases de datos orientadas a objetos como herencia, relaciones, integridad y el modelo estándar ODMG.
Este documento describe las características de una base de datos orientada a objetos, incluyendo conceptos como encapsulamiento, herencia y polimorfismo. Explica que este tipo de bases de datos permite definir operaciones sobre los datos como parte de su definición y pueden almacenar información binaria de forma eficiente. También resume brevemente su historia y algunas de sus ventajas y desventajas.
Modelo de base de datos orientados a objetosarmin tilano
Este documento presenta una introducción a las bases de datos orientadas a objetos. Explica conceptos básicos como datos, campos, registros y bases de datos. Luego describe las características de un modelo de datos orientado a objetos, incluyendo encapsulamiento, herencia y polimorfismo. Finalmente, resume diferentes modelos de datos como jerárquicos, de red, relacionales y orientados a objetos.
El documento describe las bases de datos orientadas a objetos, incluyendo su concepto, historia y características. Estas bases de datos incorporan los conceptos de encapsulación, herencia y polimorfismo del modelo de objetos, y los datos se almacenan como objetos en lugar de tablas. Las características incluyen objetos, identificadores únicos y encapsulamiento.
Este documento describe los conceptos básicos de la programación orientada a objetos como objetos, clases, herencia, envío de mensajes, análisis orientado a objetos y diseño orientado a objetos. También cubre los modelos de diseño, patrones de diseño y métodos como el de Booch, Rumbaugh y Jacobson. Finalmente, concluye que a pesar de las variantes entre metodologías, todas se basan en los mismos fundamentos de modelado de objetos.
El documento describe una práctica de base de datos orientada a objetos usando DB4O. Se explica que primero se debe crear una clase principal que representará la tabla, con atributos como campos y métodos como en una clase normal. Luego se establece la conexión a la base de datos y se crean métodos para insertar, eliminar, modificar y consultar datos de la tabla, de manera similar a los comandos SQL. Finalmente se incluye un método principal para llamar a estas operaciones sobre la tabla.
El documento describe los conceptos fundamentales del modelado orientado a objetos, incluyendo los modelos orientado a objetos, dinámico y funcional. Explica características clave como clases, objetos, herencia y polimorfismo. También resume varias metodologías como OOHDM, SOHDM y RUP, así como el lenguaje UML. El modelado de casos de uso también se discute brevemente.
Este documento proporciona instrucciones para crear una base de datos orientada a objetos en DB4O utilizando C#. Explica cómo descargar e instalar DB4O, crear una clase para almacenar datos, y programar botones para insertar, modificar, eliminar y consultar datos. También incluye ejemplos de pruebas para validar el correcto funcionamiento al insertar, modificar y eliminar registros, y realizar consultas generales y específicas.
Una base de datos orientada a objetos es una base de datos inteligente que almacena tanto datos como métodos, permitiendo el uso de las características de encapsulación, herencia y polimorfismo. Estas bases de datos están diseñadas para trabajar con lenguajes de programación orientados a objetos como Java, C++, C# y Visual Basic.NET. Los sistemas de gestión de bases de datos más populares que soportan este paradigma son Oracle, Microsoft SQL Server e Informix.
El documento proporciona una introducción a las bases de datos orientadas a objetos. Explica que las BDOO combinan las capacidades de manipulación de datos de los lenguajes orientados a objetos con las capacidades de almacenamiento y consulta de los sistemas de gestión de bases de datos. También describe algunos de los principios básicos de los objetos, como la herencia y el polimorfismo, y explica conceptos clave como la identidad de objetos.
Este documento presenta una introducción a las bases de datos orientadas a objetos. Explica que su origen se debe a las limitaciones de los modelos de datos anteriores para representar cierta información del mundo real. Detalla algunas características clave como el soporte para objetos complejos, identidad de objetos e identificadores únicos. También describe ventajas como una mayor capacidad de modelado y ampliabilidad, así como inconvenientes como la carencia de un modelo de datos universalmente aceptado y de experiencia.
Este documento habla sobre los temas de bases de datos orientadas a objetos. Explica conceptos clave como objetos, clases, herencia, propiedades y métodos de objetos. También describe características mandatorias, opcionales y abiertas de las bases de datos orientadas a objetos. Finalmente, resume las características de un sistema de base de datos orientado a objetos.
Analisis Y Diseño De Sistemas Orientado A Objetosjoalmerca6
Este documento describe los principios básicos del análisis y diseño orientado a objetos, incluyendo objetos, clases, herencia, encapsulación, atributos, mensajes, métodos y polimorfismo. Explica los métodos de Booch, Rumbaugh y Jacobson para el análisis y diseño orientado a objetos. También cubre temas como el análisis de clases, estructuras, atributos, servicios y temas. Finalmente, discute el diseño orientado a objetos y sus componentes.
MySQL es un sistema de gestión de base de datos relacional multihilo y multiusuario con más de seis millones de instalaciones que es desarrollado como software libre. Oracle es uno de los sistemas de bases de datos más completos que destaca por su soporte de transacciones, estabilidad y escalabilidad, pero tiene un alto precio. Microsoft SQL Server es un sistema de gestión de bases de datos relacionales capaz de poner a disposición grandes cantidades de datos de manera simultánea de forma escalable y estable.
Este documento proporciona instrucciones para crear una base de datos en PostgreSQL. Explica los pasos para conectarse al servidor PostgreSQL, crear una nueva base de datos, crear tablas dentro de la base de datos con columnas y atributos, agregar claves primarias a las tablas, y vincular las tablas entre sí mediante enlaces.
El documento proporciona información sobre un curso de base de datos. Explica que una base de datos es una colección de datos almacenados de forma organizada para su uso posterior. También describe algunas ventajas de las bases de datos como la independencia de los datos y los programas, mayor seguridad y integridad de los datos.
Un sistema de gestión de bases de datos (SGBD) consiste en un conjunto de programas que permiten definir, manipular y utilizar la información contenida en las bases de datos. Un SGBD proporciona un entorno práctico y eficiente para recuperar y almacenar datos de forma que oculta detalles como la forma física en que se almacenan los datos.
La estructura de una PKI consta de: 1) una Autoridad de Certificación que emite y administra certificados, 2) un sistema de administración de certificados que establece cómo se generan, distribuyen y revocan los certificados, y 3) aplicaciones que hacen uso de la tecnología de clave pública como comunicaciones web y correo electrónico.
Object-oriented Development with PL-SQLDonald Bales
This document discusses object-oriented development with PL/SQL. It begins with an introduction to object-oriented concepts like polymorphism, encapsulation, and inheritance. It then covers how to define object types and type bodies in PL/SQL, including attributes, methods, and inheritance. It provides examples of defining constructor, member, map, and static methods. It also discusses how to declare PL/SQL variables of an object type and access object attributes and methods.
Este documento resume la historia y conceptos clave de las bases de datos orientadas a objetos. Explica que los lenguajes de programación orientados a objetos surgieron en los años 60 y 70, mientras que el concepto de bases de datos orientadas a objetos apareció en los años 80. Describe algunos de los primeros sistemas de bases de datos orientadas a objetos experimentales y comerciales, e identifica los principales conceptos como objetos, encapsulación, herencia y polimorfismo. También resume algunas ventajas y desventajas de este tipo de bases de datos
El documento discute los conceptos de bases de datos lógicas, temporales, espaciales y multimedia. Explica que las bases de datos lógicas usan lógica para resolver problemas de forma automática, mientras que las bases de datos temporales y espaciales almacenan y gestionan datos relacionados con el tiempo y el espacio respectivamente. También describe los requisitos y sistemas de bases de datos multimedia, que pueden almacenar diferentes tipos de datos como audio y video.
Este documento describe las bases de datos orientadas a objetos, incluyendo sus características principales como la representación de datos como objetos con identidad, encapsulamiento y herencia, y su ventaja de modelar datos de una manera más eficiente que las bases de datos tradicionales. También discute las diferencias entre los modelos de objetos y relacionales, y enumera algunas ventajas y desventajas de las bases de datos orientadas a objetos.
El documento describe los conceptos clave de una Infraestructura de Datos Espaciales (IDE), incluyendo sus componentes (datos espaciales, metadatos, servicios, estándares y software), servicios como WMS y WFS, y su objetivo de proveer servicios geográficos de productos generados por el Instituto Geográfico Militar basados en normas nacionales e internacionales. También discute formatos como GML y XML, métodos de interpolación, curvas de nivel, y geoportales como puntos de acceso a información geoespac
El documento presenta un módulo virtual sobre bases de datos. En la introducción se define brevemente lo que es un sistema de bases de datos. Luego, en las siguientes secciones se explican conceptos básicos de bases de datos como campos, registros y archivos, y se describen los componentes principales de un sistema de bases de datos como los datos, programas, usuarios y equipos. Finalmente, se mencionan ventajas de las bases de datos como reducir redundancia e inconsistencia de datos y facilitar el acceso a la información.
El documento presenta el informe técnico del Área de Sistemas de Información Geográfica (SIG) del proyecto INFOBOL en Bolivia. El objetivo del área SIG es implementar el Sistema de Información Geográfico Forestal del país para permitir la toma de decisiones sobre políticas forestales. Para lograr esto, el área SIG está recopilando información existente, analizando imágenes satelitales, actualizando el Mapa Forestal de Bolivia e implementando un sistema SIG forestal basado en una estructura cliente-servidor y accesible a
Este documento describe las bases de datos orientadas a objetos, incluyendo sus características, ventajas y desventajas en comparación con el modelo relacional. Explica que una base de datos orientada a objetos almacena y recupera objetos que contienen estados y comportamientos, mientras que el modelo relacional almacena información de forma intuitiva utilizando conceptos cotidianos. También compara elementos como clases, objetos e identificadores únicos entre los modelos.
Este documento presenta varios proyectos de investigación sobre interfaces gráficos bidimensionales y tridimensionales para acceder a información electrónica. Se consideran interfaces basados en redes neuronales como SOM y VRML. El proyecto IRVAIE busca desarrollar un nuevo interfaz tridimensional que permita la comunicación entre usuarios y facilite la exploración de grandes volúmenes de información.
Este documento presenta una introducción a los objetos de aprendizaje (OA), definiéndolos como cualquier recurso digital que puede ser reutilizado para apoyar el aprendizaje. Explica que los OA tienen atributos como ser reutilizables, accesibles e interoperables, y que su tamaño variable se conoce como granularidad. También cubre temas como la reutilización de OA, el uso de metadatos para describirlos, la normalización de datos y el papel de la web semántica en su futuro.
Este documento describe las características de las bases de datos orientadas a objetos. Explica que este tipo de bases de datos almacenan objetos en lugar de tuplas, y que los objetos pueden encapsular datos y comportamiento. También describe algunas ventajas de las bases de datos orientadas a objetos como una mayor capacidad de modelado y aplicabilidad, así como algunos desafíos como la falta de un modelo de datos universalmente aceptado y la competencia con las bases de datos relacionales.
Este documento trata sobre el origen, concepto, ventajas, desventajas y modelos de una base de datos. Explica que el término base de datos surgió en 1963 y describe el concepto como un conjunto estructurado de datos que representa entidades y sus interrelaciones. Entre las ventajas se encuentran evitar la redundancia de datos y la seguridad, y entre las desventajas están los costos elevados y la necesidad de personal especializado. Finalmente, menciona algunos modelos comunes de bases de datos como el modelo E/R y RM/T.
Este documento trata sobre las bases de datos orientadas a objetos. Explica conceptos clave como objeto, clase, encapsulamiento, herencia y polimorfismo. También describe las ventajas e inconvenientes de este tipo de bases de datos, como su mayor capacidad de modelado pero falta de estándares universales.
Este documento describe la historia y características de las bases de datos orientadas a objetos. Comenzó en la década de 1960 cuando se desarrolló el lenguaje Simula 67. Una base de datos orientada a objetos representa la información mediante objetos como en la programación orientada a objetos. Tiene ventajas como ser fácil de usar y flexible, pero también desventajas como carecer de estándares universales y poca experiencia. Finalmente, explica que las bases de datos relacionales se basan en el modelo relacional propuesto por Edgar Codd en 1970,
Este documento describe los elementos funcionales de un sistema de base de datos, incluyendo el gestor de archivos, manejador de base de datos, procesador de consultas, compilador DDL, archivos de datos y diccionario de datos. También explica los modelos lógicos de bases de datos jerárquicos, relacionales y de redes.
Este documento describe los elementos funcionales de un sistema de base de datos, incluyendo el gestor de archivos, manejador de base de datos, procesador de consultas, compilador DDL, archivos de datos y diccionario de datos. También explica los modelos lógicos de bases de datos jerárquicos, relacionales y de redes.
Sistemas de Recomendación de Información - Web Semácticamartinp
Este documento presenta una introducción a la Web Semántica. Explica que la Web Semántica busca resolver problemas comunes en la búsqueda de información etiquetando y dotando de estructura los recursos con semántica explícita procesable por máquinas. También describe algunas aplicaciones como Twine, que ayuda a los usuarios a navegar contenido de interés mediante el uso de ontologías y procesamiento de lenguaje natural, y Ubiquity, que permite conectar la Web con el mundo físico a través de mashups
Este documento describe diferentes tipos de bases de datos, incluyendo jerárquicas, en red, relacionales, orientadas a objetos y objetos relacionales. Explica que las bases de datos relacionales almacenan datos en forma de tablas y relaciones y son más populares. También describe que las bases de datos orientadas a objetos intentan combinar datos y procedimientos como en la programación orientada a objetos.
Este curso de 40 horas teórico-prácticas sobre bases de datos y sistemas de información está dirigido a estudiantes con perfil biológico y tiene como objetivo principal generar un lenguaje común entre profesionales de biología e informática. El curso cubre temas como conceptos de sistemas de información, modelado entidad-relación, el modelo relacional, SQL, y alternativas a bases de datos relacionales. Los estudiantes serán evaluados a través de trabajos obligatorios y una prueba escrita final.
El documento presenta una introducción a los sistemas de bases de datos, incluyendo sus aplicaciones, ventajas frente a sistemas de archivos, modelos de datos, lenguajes, usuarios, transacciones y arquitectura. También describe brevemente la historia de los sistemas de bases de datos y algunos de sus desafíos.
Este documento presenta información sobre la historia y evolución de las bases de datos. Inicialmente, se menciona que el término "base de datos" fue utilizado por primera vez en 1963 en un simposio en California. Luego, se describen los orígenes de las bases de datos desde la antigüedad y su desarrollo junto con las primeras computadoras. Finalmente, se resumen los avances clave de las bases de datos por décadas, incluyendo el modelo relacional propuesto por Codd en 1970 y el surgimiento de SQL para consultas en las bases de datos rel
Similar a Caso practico de base de datos orientada a objetos (20)
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
HPE presenta una competició destinada a estudiants, que busca fomentar habilitats tecnològiques i promoure la innovació en un entorn STEAM (Ciència, Tecnologia, Enginyeria, Arts i Matemàtiques). A través de diverses fases, els equips han de resoldre reptes mensuals basats en àrees com algorísmica, desenvolupament de programari, infraestructures tecnològiques, intel·ligència artificial i altres tecnologies. Els millors equips tenen l'oportunitat de desenvolupar un projecte més gran en una fase presencial final, on han de crear una solució concreta per a un conflicte real relacionat amb la sostenibilitat. Aquesta competició promou la inclusió, la sostenibilitat i l'accessibilitat tecnològica, alineant-se amb els Objectius de Desenvolupament Sostenible de l'ONU.
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialAMADO SALVADOR
Explora el catálogo completo de cajas fuertes BTV, disponible a través de Amado Salvador, distribuidor oficial de BTV. Este catálogo presenta una amplia variedad de cajas fuertes, cada una diseñada con la más alta calidad para ofrecer la máxima seguridad y satisfacer las diversas necesidades de protección de nuestros clientes.
En Amado Salvador, como distribuidor oficial de BTV, ofrecemos productos que destacan por su innovación, durabilidad y robustez. Las cajas fuertes BTV son reconocidas por su eficiencia en la protección contra robos, incendios y otros riesgos, lo que las convierte en una opción ideal tanto para uso doméstico como comercial.
Amado Salvador, distribuidor oficial BTV, asegura que cada producto cumpla con los más estrictos estándares de calidad y seguridad. Al adquirir una caja fuerte a través de Amado Salvador, distribuidor oficial BTV, los clientes pueden tener la tranquilidad de que están obteniendo una solución confiable y duradera para la protección de sus pertenencias.
Este catálogo incluye detalles técnicos, características y opciones de personalización de cada modelo de caja fuerte BTV. Desde cajas fuertes empotrables hasta modelos de alta seguridad, Amado Salvador, como distribuidor oficial de BTV, tiene la solución perfecta para cualquier necesidad de seguridad. No pierdas la oportunidad de conocer todos los beneficios y características de las cajas fuertes BTV y protege lo que más valoras con la calidad y seguridad que solo BTV y Amado Salvador, distribuidor oficial BTV, pueden ofrecerte.
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaAMADO SALVADOR
Distribuidor Oficial Ariston en Valencia: Amado Salvador distribuidor autorizado de Ariston, una marca líder en soluciones de calefacción y agua caliente sanitaria. Amado Salvador pone a tu disposición el catálogo completo de Ariston, encontrarás una amplia gama de productos diseñados para satisfacer las necesidades de hogares y empresas.
Calderas de condensación: Ofrecemos calderas de alta eficiencia energética que aprovechan al máximo el calor residual. Estas calderas Ariston son ideales para reducir el consumo de gas y minimizar las emisiones de CO2.
Bombas de calor: Las bombas de calor Ariston son una opción sostenible para la producción de agua caliente. Utilizan energía renovable del aire o el suelo para calentar el agua, lo que las convierte en una alternativa ecológica.
Termos eléctricos: Los termos eléctricos, como el modelo VELIS TECH DRY (sustito de los modelos Duo de Fleck), ofrecen diseño moderno y conectividad WIFI. Son ideales para hogares donde se necesita agua caliente de forma rápida y eficiente.
Aerotermia: Si buscas una solución aún más sostenible, considera la aerotermia. Esta tecnología extrae energía del aire exterior para calentar tu hogar y agua. Además, puede ser elegible para subvenciones locales.
Amado Salvador es el distribuidor oficial de Ariston en Valencia. Explora el catálogo y descubre cómo mejorar la comodidad y la eficiencia en tu hogar o negocio.
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...AMADO SALVADOR
El catálogo general de electrodomésticos Teka presenta una amplia gama de productos de alta calidad y diseño innovador. Como distribuidor oficial Teka, Amado Salvador ofrece soluciones en electrodomésticos Teka que destacan por su tecnología avanzada y durabilidad. Este catálogo incluye una selección exhaustiva de productos Teka que cumplen con los más altos estándares del mercado, consolidando a Amado Salvador como el distribuidor oficial Teka.
Explora las diversas categorías de electrodomésticos Teka en este catálogo, cada una diseñada para satisfacer las necesidades de cualquier hogar. Amado Salvador, como distribuidor oficial Teka, garantiza que cada producto de Teka se distingue por su excelente calidad y diseño moderno.
Amado Salvador, distribuidor oficial Teka en Valencia. La calidad y el diseño de los electrodomésticos Teka se reflejan en cada página del catálogo, ofreciendo opciones que van desde hornos, placas de cocina, campanas extractoras hasta frigoríficos y lavavajillas. Este catálogo es una herramienta esencial para inspirarse y encontrar electrodomésticos de alta calidad que se adaptan a cualquier proyecto de diseño.
En Amado Salvador somos distribuidor oficial Teka en Valencia y ponemos atu disposición acceso directo a los mejores productos de Teka. Explora este catálogo y encuentra la inspiración y los electrodomésticos necesarios para equipar tu hogar con la garantía y calidad que solo un distribuidor oficial Teka puede ofrecer.
Gabinete, puertos y dispositivos que se conectan al case
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