COMPONENTES SOFTWARE LIBRE BASES DE DATOS Carlos Cano Escuder [email protected] ÍNDICE Ø COMPONENTE DE SOFTWARE LIBRE Ø Proyecto GNOME Ø BONOBO Ø BASES DE DATOS ØMySQL ØPostgres Ø GNOME-DB COMPONENTES SOFTWARE LIBRE INTRODUCCIÓN Ø Evolución lógica de arquitecturas previas. Ø Reutilización del código. Ø Cajas negras, cápsulas en forma de código objeto. Ø Conocimiento de la interfaz de comunicación. COMPONENTES SOFTWARE LIBRE CARACTERÍSTICAS Ø Principal característica ? Menor complejidad de las aplicaciones. q Reduciendo la cantidad de información que un programador necesita conocer sobre el sistema que trabaja. q Implementación de definida. una interfaz muy bien COMPONENTES SOFTWARE LIBRE EJEMPLOS Los principales sistemas de componentes software son: • Bonobo: GNOME (Con mayor repercusión) • KParts: KDE • UNO: Universal Network Objects • XPCOM: Cross Platform Component Object Model; • Modelo de Componentes Multiplataforma, OpenDoc de Objetos COMPONENTES SOFTWARE LIBRE Acerca de GNOME Ø El proyecto GNOME (acrónimo de GNU Network Object Model Environment. Ø Ejecución en sistemas operativos tipo UNIX. Ø Ámbito: Desde pequeñas utilidades hasta potentes sistemas. COMPONENTES SOFTWARE LIBRE Características Gnome: • LIBRE • AMIGABLE PARA EL USUARIO • AMIGABLE PARA EL DESARROLLADOR • INTERNACIONAL • AVANZADO • ACCESIBLE COMPONENTES SOFTWARE LIBRE Futuro de GNOME Ø Ofrecer una plataforma de desarrollo completa y moderna. Ø Bonobo el sistema de componentes desarrollado para el proyecto GNOME. COMPONENTES SOFTWARE LIBRE Acerca de Bonobo Ø Sistema de componentes del proyecto GNOME. “Se eligió Bonobo como nombre para el sistema, pues los bonobos son unos monos que se aparean varias veces al día, lo que se ajustaba perfectamente a un sistema de componentes en el que diferentes partes se insertan dentro de otras. Desgraciadamente, estos animales están ahora mismo en peligro de extinción” COMPONENTES SOFTWARE LIBRE Acerca de Bonobo Bonobo es un sistema libre basado en software libre, todo el código está completamente abierto y es totalmente gratuito sin estar sujeto a ninguna licencia propietaria. Cualquier persona puede beneficiarse de este sistema, programar con él, acceder al código, etc.… COMPONENTES SOFTWARE LIBRE Acerca de Bonobo Ø Bonobo está basado en CORBA. Mecanismo mediante el cual los distintos componentes software interactúan entre sí. q Ejecución y utilización en máquinas heterogéneas. q Permite tener componentes distribuidos en distintas máquinas, distintos sistemas operativos y distintos lenguaje de programación. BASES DE DATOS INTRODUCCIÓN Ø Gestores de bases de datos Postgres y mySQL. q Código abierto (OpenSource). q Soportadas en entornos Linux. Ø Mayor aceptación. BASES DE DATOS MySQL Ø Servidor de bases de datos (SGBD). Ø SQL (lenguaje estructurado de consulta de bases de datos). Ø MySQL es una implementación cliente/servidor. CARACTERÍSTICAS: Ø Alta velocidad. Ø Consumo de muy pocos recursos, tanto de CPU como de memoria. BASES DE DATOS MySQL VENTAJAS: Ø Mayor rendimiento. Mayor velocidad tanto al conectar con el servidor como al servir selects y demás. Ø Mejores utilidades de administración (backup, recuperación de errores, etc.). Ø Aunque se cuelgue, no suele perder información ni corromper los datos. Ø Mejor integración con PHP. Ø No hay límites en el tamaño de los registros. Ø Mejor control de acceso, Ø MySQL se comporta mejor que Postgres a la hora de modificar o añadir campos a una tabla "en caliente". BASES DE DATOS MySQL INCONVENIENTES: ØNo soporta transacciones, "roll-backs" ni subselects. ØNo considera las claves ajenas. Ignora la integridad referencial, dejándola en manos del programador de la aplicación. Ø Soporte de portales WEB. Ø Deficiencias para realizar miles de transacciones en tiempo real. BASES DE DATOS Postgres Ø Administrador de bases de datos relaciónales. Ø Control de concurrencia multi-versión. Ø Soporta casi toda la sintaxis SQL. CARACTERÍSTICAS: Ø Mayor nivel que MySQL, a la altura de Oracle, Sybase o Interbase. Ø Esta basado en un sistema objeto-relación. BASES DE DATOS Postgres VENTAJAS: ØPor su arquitectura de diseño, escala muy bien al aumentar el número de CPUs y la cantidad de RAM. ØSoporta transacciones y desde la versión 7.0, claves ajenas (con comprobaciones de integridad referencial). ØTiene mejor soporte para triggers y procedimientos en el servidor. ØSoporta un subconjunto de SQL92 MAYOR que el que soporta MySQL. Además, tiene ciertas características orientadas a objetos. BASES DE DATOS Postgres INCONVENIENTES: ØConsume BASTANTES más recursos y carga más el sistema. ØLímite del tamaño de cada fila de las tablas a 8k!!! (se puede ampliar a 32k recompilando, pero con un coste añadido en el rendimiento). ØEs de 2 a 3 veces más lenta que MySQL. ØMenos funciones en PHP. GNOME-DB INTRODUCCIÓN Ø Proyecto, dentro de GNOME. Ø Arquitectura para el acceso a todo tipo de fuentes de datos. Ø Esta basada en CORBA. Ø Especifican la interacción entre clientes de bases de datos y proveedores de datos. GNOME-DB INTRODUCCIÓN Ø Resuelve las diferencias entre las distintas fuentes de datos. Ø Consulta dinámica de las capacidades de la base de datos. q Diccionario de datos. GNOME-DB Gnome-DB y Bonobo Ø GNOME-DB se basa componentes de Bonobo . en la arquitectura Ø Acceso a multitud de bases de datos diferentes. Ø Librerías para los desarrolladores. Ø Aplicaciones distribuidas: Corba. Ø Reutilización del código: GNOME-Office. de GNOME-DB Partes de Gnome-DB ØLibgda: Que implementa el acceso a los distintos servidores de BBDD soportados (Oracle, MySQL, PostgreSQL, InterBase, etc). ØLibgnomedb: Que es una librería de "widgets" orientados a bases de datos, como por ejemplo, rejillas de datos, listas, cajas de texto, etc. ØGNOME-DB: Que es una aplicación, del estilo de la ya conocida MS-Access, o de la menos conocida TOAD, que ofrece un bonito y potente interfaz gráfico a todas las funcionalidades de libgda/libgnomedb. GNOME-DB Funcionamiento: ØGDA (GNU Data Access) Componente Bonobo para acceso a los datos. q Conjunto de interfaces CORBA. Ø Servidor CORBA: Este implementara los interfaces CORBA que permitirán el acceso desde los clientes GDA a la fuente de datos. Ø Clientes CORBA. GDA: Cargan los diferentes servidores GNOME-DB Ejemplo Funcionamiento Fig. 1 Creación Fuente de Datos GNOME-DB Ejemplo Funcionamiento Fig. 2 Creación Fuente de Datos GNOME-DB Utilización: Varias aplicaciones hacen ya uso de estas librerías para sus accesos a datos: ØgASQL: Herramienta de administración de bases de datos.. ØGNOME Office: Es una "suite" ofimática. ØGlade: Diseñador de pantallas. ØGNU Enterprise: Suministrando la infraestructura necesaria para la informatización de cualquier empresa. Referencias: [1] www.gnome-db.org -> Página principal de proyecto Gnome-DB. [2] www.es.gnome.org -> Página del GNOME hispano, con información en castellano del proyecto GNOME. [3]www.opensources.com/es/ -> Página Web que contiene documentos sobre Arquitectura de componentes libres [4]www.barrapunto.com -> Página con artículos de actualidad referentes al mundo del software libre [5] lucas.hispalinux.es -> Página con documentos sobre linux, realizados por colaboradores de hispalinux [6] www.mysql.com -> Página principal de MySQL en la cual podemos encontrar referencias de la base de datos. [7] www.postgresql.org -> Página que nos redirecciona a mirrors de la página principal de PostgreSQL