Download Conectividad
Document related concepts
no text concepts found
Transcript
UNIVERSIDAD EVANGELICA DE EL SALVADOR COMERCIO ELECTRONICO CONECTIVIDAD DE BASE DE DATOS A SERVIDORES WEB ALUMNA : NATALIA MARGARITA RECINOS BENITEZ CARNET : 0305-032-0085 1 Contenido 1. INTRODUCCION ........................................................................................................................... 3 2. OBJETIVOS ................................................................................................................................... 4 3. CONTROLADORES PARA CONECTIVIDAD DE BASES DE DATOS E INTERCAMBIO DE INFORMACIÓN .................................................................................................................................... 5 1. OLE (Open Database Connectivity) ......................................................................................... 5 2. CGI (Common Gateway Interface o Interfaz de pasarela común) ......................................... 6 3. JDBC (Java Data Base Connectivity) ........................................................................................ 7 4. ASP (ADO) .................................................................................................................................. 12 5. Otras Tecnologías ...................................................................................................................... 14 6. CONCLUSIONES ......................................................................................................................... 19 7. BIBLIOGRAFIA ............................................................................................................................ 20 2 1. INTRODUCCION Hoy en día la Web se ha convertido en una interfaz de acceso a datos que puede ser utilizada por cualquier usuario. Es por eso que es necesario que la presentación de la información a través de la Web sea un reflejo del avance tecnológico en las tecnologías de conectividad en Base de Datos. Esta nueva generación de aplicaciones esta orientada a asociarse con servidores de alto rendimiento pensados para dar servicio a sitios Web con grandes necesidades para gestionar movimientos de datos, afluencia de visitas, atención de transacciones hacia bases de datos, etc. Estos servidores son esencialmente un programa que escucha en un puerto a la espera de conexiones. Cuando se detecta una, el servidor espera a recibir una petición en formato adecuado desde la aplicación cliente (navegador, gestor de descargas, indexador de páginas, telnet, etc.). El recurso pedido hace referencia a un archivo en el disco duro que el servidor es capaz de recuperar y enviar al cliente. Tanto la petición como la respuesta se encapsulan siguiendo el protocolo HTTP. Un servidor de aplicaciones clásico se apoya en un modelo cliente/servidor de tres capas: Presentación: una interfaz, generalmente gráfica que reside en los clientes. El ejemplo típico es un navegador. Lógica de negocio: donde reside el servidor de aplicaciones y el conjunto de programas a los que da soporte. Almacenamiento: generalmente una base de datos. Los servicios añadidos a los servidores de aplicaciones suelen ser: generación de código HTML ó XML, trabajo con bases de datos y gestión de transacciones, funcionamiento multiproceso para atender a distintas peticiones, establecimiento de distintas sesiones para acceso de usuarios, mecanismos de seguridad y autentificación, monitorización para evitar fallos, etc. Con tecnologías como el scripting y DHTML, los desarrolladores de aplicaciones pueden crear acciones con interfaces de Web funcionales, basadas para la entrada de datos o salida de resultados de búsqueda sin usar controles comunes o applets. Las interfaces de programación denotan el proceso de acceso y manipulación de los datos a una base de datos, partiendo de la aplicación, los cuales necesitan de controladores que gestionen la conectividad y la comunicación. A continuación se presentan los tipos de conectores hacia las bases de datos vía Web. 3 2. OBJETIVOS Investigar acerca de conectividad de la Base de Datos en servidores web. Identificar los diferentes controladores de intercambio de Información. Conocer los elementos que componen los conectores de Base de Datos 4 3. CONTROLADORES PARA CONECTIVIDAD DE BASES DE DATOS E INTERCAMBIO DE INFORMACIÓN 1. OLE (Open Database Connectivity) Es la sigla de Object Linking and Embedding for Databases ("Incrustación y enlace de objetos para bases de datos") y es una tecnología desarrollada por Microsoft usada para tener acceso a diferentes fuentes de información, o bases de datos, de manera uniforme. Estructura: OLE DB permite separar los datos de la aplicación que los requiere. Esto se hizo así ya que diferentes aplicaciones requieren acceso a diferentes tipos y almacenes de datos, y no necesariamente desean conocer cómo tener acceso a cierta funcionalidad con métodos de tecnologías específicas. OLE DB está conceptualmente dividido en consumidores y proveedores; El consumidor es la aplicación que requiere acceso a los datos y el proveedor es el componente de software que expone una interfaz OLE DB a través del uso del Component Object Model (COM). Conexiones OLE DB: Puede utilizar un proveedor OLE DB para comunicar con la base de datos. La creación de una conexión directa de base de datos OLE puede mejorar la velocidad de la conexión mediante la eliminación de la capa ODBC entre la aplicación Web y la base de datos. Si no especifica un proveedor OLE DB para la base de datos, ASP utilizará el proveedor OLE DB predeterminado para controladores ODBC para comunicar con un controlador ODBC que, a su vez, comunica con la base de datos. OLE DB está disponible sólo con Windows NT, 2000 o XP. Existen distintos proveedores OLE DB para las distintas bases de datos. Puede obtener proveedores OLE DB para Microsoft Access y SQL Server descargando e instalando los paquetes Microsoft Data Access Components (MDAC) 2.5 y 2.7 en el equipo Windows que está ejecutando IIS. 5 2. CGI (Common Gateway Interface o Interfaz de pasarela común) Es la especificación de un protocolo que permite al servidor Web (HTTP) comunicarse con programas o scripts externos. Los programas CGI trabajan en el servidor Web y pueden implementarse utilizando diferentes lenguajes de programación (COBOL, C, Perl, etc.). Para que el usuario recupere un documento dinámico HTML a través de CGI, generalmente se sigue la siguiente secuencia básica: 1) El usuario complementa los campos de un formulario HTML y pulsa el botón de envío. Antes de proceder al mismo, el navegador determina el método HTTP para el envío, identifica los campos del formulario, construye el conjunto de datos como pares: nombre del control / valor asociado y codifica el conjunto de datos. 2) El navegador realiza una solicitud HTTP al servidor Web, enviando el conjunto de datos del formulario para que sea procesado por el programa especificado en el atributo del formulario action. 3) El servidor recibe la solicitud y a partir de ella determina que se le está pidiendo la activación de un programa CGI. Se lanza un nuevo proceso CGI que recibe la información necesaria para su ejecución. 4) El programa CGI se ejecuta procesando la información y devolviendo el resultado al servidor Web. 5) El servidor recibe el resultado de proceso CGI y prepara una respuesta HTTP válida (anexando alguna cabecera) que se le envía al cliente. 6) El navegador muestra el resultado recibido que contendrá información dependiente de lo que el usuario introdujo en el formulario HTML. El CGI es una de las soluciones que se está utilizando más para la creación de interfaces Web/DBMS. Entre las ventajas de la programación CGI, destaca la sencillez, ya que es muy fácil de entender, además de ser un lenguaje de programación independiente, ya que los escritos CGI pueden elaborarse en varios lenguajes. También es un estándar para usarse en todos los servidores Web, y funcionar bajo una arquitectura independiente, ya que ha sido creado para trabajar con cualquier arquitectura de servidor Web. Como la aplicación CGI se encuentra funcionando de forma independiente, no pone en peligro al servidor, en cuanto al cumplimiento de todas las tareas que éste se encuentre realizando, o al acceso del estado interno del mismo. Pero el CGI presenta cierta desventaja en su eficiencia, debido al que el servidor Web tiene que cargar el programa CGI y conectar y desconectar con la base de datos cada vez que se recibe una requisición. Además, no existe un registro del estado del servidor, sino que todo hay que hacerlo manualmente. 6 3. JDBC (Java Data Base Connectivity) La información contenida en un servidor de bases de datos es normalmente el bien más preciado dentro de una empresa. La API JDBC ofrece a los desarrolladores Java un modo de conectar con dichas bases de datos. Utilizando la API JDBC, los desarrolladores pueden crear un cliente que pueda conectar con una base de datos, ejecutar instrucciones SQL y procesar el resultado de esas instrucciones. La API proporciona conectividad y acceso a datos en toda la extensión de las bases de datos relacionales. JDBC generaliza las funciones de acceso a bases de datos más comunes abstrayendo los detalles específicos de una determinada base de datos. El resultado es un conjunto de clases e interfaces, localizadas en el paquete java.sql, que pueden ser utilizadas con cualquier base de datos que disponga del driver JDBC apropiado. La utilización de este driver significa que, siempre y cuando una aplicación utilice las características más comunes de acceso a bases de datos, dicha aplicación podrá utilizarse con una base de datos diferente cambiando simplemente a un driver JDBC diferente. TIPOS DE DRIVER JDBC Una de las decisiones importantes en el diseño, cuando estamos proyectando una aplicación de bases de datos Java, es decidir el driver JDBC que permitirá que las clases JDBC se comuniquen con la base de datos. Los driver JDBC se clasifican en cuatro tipos o niveles: Tipo 1: Puente JDBC-ODBC Tipo 2: Driver API nativo/parte Java Tipo 3: Driver protocolo de red/todo Java Tipo 4: Driver protocolo nativo/todo Java Tipo 1: Driver puente JDBC-ODBC El puente JDBC-ODBC es un driver JDBC del tipo 1 que traduce operaciones JDBC en llamadas a la API ODBC. Estas llamadas son entonces cursadas a la base de datos mediante el driver ODBC apropiado. El puente se implementa como el paquete sun.jdbc.odbc y contiene una biblioteca nativa utilizada para acceder a ODBC. Ventajas 7 A menudo, el primer contacto con un driver JDBC es un puente JDBC-ODBC, simplemente porque es el driver que se distribuye como parte de Java, como el paquete sun.jdbc.odbc.JdbcOdbcDriver. Además tiene la ventaja de poder trabajar con una gran cantidad de drivers ODBC. Los desarrolladores suelen utilizar ODBC para conectar con bases de datos en un entorno distinto de Java. Por tanto, los drivers de tipo 1 pueden ser útiles para aquellas compañías que ya tienen un driver ODBC instalado en las máquinas clientes. Se utilizará normalmente en máquinas basadas en Windows que ejecutan aplicaciones de gestión. Desventajas Básicamente sólo se recomienda su uso cuando se están realizando esfuerzos dirigidos a prototipos y en casos en los que no exista otro driver basado en JDBC para esa tecnología. Si es posible, debemos utilizar un driver JDBC en vez de un puente y un driver ODBC. Esto elimina totalmente la configuración cliente necesaria en ODBC. Los siguientes puntos resumen algunos de los inconvenientes de utilizar el driver puente: Rendimiento: Como puede imaginar por el número de capas y traducciones que tienen lugar, utilizar el puente está lejos de ser la opción más eficaz en términos de rendimiento. Utilizando el puente JDBC-ODBC, el usuario está limitado por la funcionalidad del driver elegido. Es más, dicha funcionalidad se limita a proporcionar acceso a caraterísticas comunes a todas las bases de datos. No pudiendo hacer uso de las mejoras que cada fabricante introduce en sus productos, especialmente en lo que afecta a rendimiento y escalabilidad. El driver puente no funciona adecuadamente con applets. El driver ODBC y la interfaz de conexión nativa deben estar ya instalados en la máquina cliente. Por eso, cualquier ventaja de la utilización de applets en un entorno de Intranet se pierde, debido a los problemas de despliegue que conllevan las aplicaciones tradicionales. La mayoría de los browser no tienen soporte nativo del puente. Como el puente es un componente opcional del Java 2 SDK Standard Edition, no se ofrece con el navegador. Incluso si fuese ofrecido, sólo los applets de confianza (aquellos que permiten escribir en archivos) serán capaces de utilizar el puente. Esto es necesario para preservar la seguridad de los applet. Para terminar, incluso si el applet es de confianza, ODBC debe ser configurado en cada máquina cliente. Tipo 2: Driver API Nativo / parte Java 8 Los drivers de tipo 2, del que es un ejemplo el driver JDBC/OCI de Oracle, utilizan la interfaz de métodos nativos de Java para convertir las solicitudes de API JDBC en llamadas específicas a bases de datos para RDBMS como SQL Server, Informix, Oracle o Sybase Aunque los drivers de tipo 2 habitualmente ofrecen mejor rendimiento que el puente JDBC-ODBC, siguen teniendo los mismos problemas de despliegue en los que la interfaz de conectividad nativa debe estar ya instalada en la máquina cliente. El driver JDBC necesita una biblioteca suministrada por el fabricante para traducir las funciones JDBC en lenguaje de consulta específico para ese servidor. Estos drivers están normalmente escritos en alguna combinación de Java y C/C++, ya que el driver debe utilizar una capa de C para realizar llamadas a la biblioteca que está escrita en C. Ventajas El driver de tipo 2 ofrece un rendimiento significativamente mayor que el puente JDBC-ODBC, ya que las llamadas JDBC no se convierten en llamadas ODBC, sino que son directamente nativas. Desventajas La biblioteca de la base de datos del fabricante necesita iniciarse en cada máquina cliente. En consecuencia, los drivers de tipo 2 no se pueden utilizar en Internet. Los drivers de tipo 2 muestran menor rendimiento que los de tipo 3 y 4. Un driver de tipo 2 también utiliza la interfaz nativa de Java, que no está implementada de forma consistente entre los distintos fabricantes de JVM por lo que habitualmente no es muy portable entre plataformas. Tipo 3: Driver protocolo de red / todo Java Los drivers JDBC de tipo 3 están implementados en una aproximación de tres capas por lo que las solicitudes de la base de datos JDBC están traducidas en un protocolo de red independiente de la base de datos y dirigidas al servidor de capa intermedia. El servidor de la capa intermedia recibe las solicitudes y las envía a la base de datos utilizando para ello un driver JDBC del tipo 1 o del tipo 2 (lo que significa que se trata de una arquitectura muy flexible). La arquitectura en conjunto consiste en tres capas: la capa cliente JDBC y driver, la capa intermedia y la base o las bases de datos a las que se accede. El driver JDBC se ejecuta en el cliente e implementa la lógica necesaria para enviar a través de la red comandos SQL al servidor JDBC, recibir las respuestas y manejar la conexión. El componente servidor intermedio puede implementarse como un componente nativo, o alternativamente escrito en Java. Las implementaciones nativas conectan con la base de datos 9 utilizando bien una biblioteca cliente del fabricante o bien ODBC. El servidor tiene que configurarse para la base o bases de datos a las que se va a acceder. Esto puede implicar asignación de números de puerto, configuración de variables de entorno, o de cualquier otro parámetro que pueda necesitar el servidor. Ventajas El driver protocolo de red/todo Java tiene un componente en el servidor intermedio, por lo que no necesita ninguna biblioteca cliente del fabricante para presentarse en las máquinas clientes. Los drivers de tipo 3 son los que mejor funcionan en redes basadas en Internet o Intranet, aplicaciones intensivas de datos, en las que un gran número de operaciones concurrentes como consultas, búsquedas, etc., son previsibles y escalables y su rendimiento es su principal factor. Hay muchas oportunidades de optimizar la portabilidad, el rendimiento y la escalabilidad. El protocolo de red puede estar diseñado para hacer el driver JDBC cliente muy pequeño y rápido de iniciar, lo que es perfecto para el despliegue de aplicaciones de Internet. Además, un driver tipo 3 normalmente ofrece soporte para características como almacenamiento en memoria caché (conexiones, resultados de consultas, etc.), equilibrio de carga, y administración avanzada de sistemas como el registro. La mayor parte de aplicaciones web de bases de datos basadas en 3 capas implican seguridad, firewalls y proxis y los drivers del tipo 3 ofrecen normalmente estas características. Inconvenientes Los drivers de tipo 3 requieren código específico de bases de datos para realizarse en la capa intermedia. Además, atravesar el conjunto de registros puede llevar mucho tiempo, ya que los datos vienen a través del servidor de datos. Tipo 4: Driver protocolo nativo / todo Java Este tipo de driver comunica directamente con el servidor de bases de datos utilizando el protocolo nativo del servidor. Estos drivers pueden escribirse totalmente en Java, son independientes de la plataforma y eliminan todos los aspectos relacionados con la configuración en el cliente. Sin embargo, este driver es específico de un fabricante determinado de base de datos. Cuando la base de datos necesita ser cambiada a un producto de otro fabricante, no se puede utilizar el mismo driver. Por el contrario, hay que reemplazarlo y también el programa 10 cliente, o su asignación, para ser capaces de utilizar una cadena de conexión distinta para iniciar el driver. Estos drivers traducen JDBC directamente a protocolo nativo sin utilizar ODBC o la API nativa, por lo que pueden proporcionar un alto rendimiento de acceso a bases de datos. Ventajas Como los drivers JDBC de tipo 4 no tienen que traducir las solicitudes de ODBC o de una interfaz de conectividad nativa, o pasar la solicitud a otro servidor, el rendimiento es bastante bueno. Además, el driver protocolo nativo/todo Java da lugar a un mejor rendimiento que los de tipo 1 y 2. Además, no hay necesidad de instalar ningún software especial en el cliente o en el servidor. Además, estos drivers pueden bajarse de la forma habitual. Desventajas Con los drivers de tipo 4, el usuario necesita un driver distinto para cada base de datos. La arquitectura JDBC está basada en un conjunto de clases Java que permiten conectar con bases de datos, crear y ejecutar sentencias SQL o recuperar y modificar la información almacenada en una base de datos. Cargar un driver de base de datos Establecer conexiones con bases de datos Crear y ejecutar instrucciones SQL Consultar bases de datos Realizar transacciones Cargar un driver de base de datos y abrir conexiones La interfaz java.sql.Connection representa una conexión con una base de datos. Es una interfaz porque la implementación de una conexión depende de la red, del protocolo y del vendedor. El API JDBC ofrece dos vías diferentes para obtener conexiones. La primera utiliza la clase java.sql.DriverManager y es adecuada para acceder a bases de datos desde programas cliente escritos en Java. En una aplicación, podemos obtener una o más conexiones para una o más bases de datos utilizando drivers JDBC. Cada driver implementa la interfaz java.sql.Driver. Uno de los métodos 11 que define esta interfaz es el método connect(), que permite establecer una conexión con la base de datos y obtener un objeto Connection. En lugar de acceder directamente a clases que implementan la interfaz java.sql.Driver, el enfoque estándar para obtener conexiones es registrar cada driver con java.sql.DriverManager y utilizar los métodos proporcionados en esta clase para obtener conexiones. java.sql.DriverManager puede gestionar múltiples drivers. Antes de entrar en los detalles de este enfoque, es preciso entender cómo JDBC representa la URL de una base de datos. Establecer una conexión Para comunicar con una base de datos utilizando JDBC, debemos en primer lugar establecer una conexión con la base de datos a través del driver JDBC apropiado. El API JDBC especifica la conexión en la interfaz java.sql.Connection. Crear y ejecutar instrucciones SQL Antes de poder ejecutar una sentencia SQL, es necesario obtener un objeto de tipo Statement. Una vez creado dicho objeto, podrá ser utilizado para ejecutar cualquier operación contra la base de datos. Realizar Transacciones Acá se ejecutarán las transacciones para extraer u obtener información o bien realizar algún proceso en la Base de Datos. 4. ASP (ADO) Microsoft ha desarrollado sus propias aplicaciones y servidores. Las primeras soluciones se basaban en el servidor Web ISS (Internet Information Server), el lenguaje de script ASP (Active Server Pages) y la tecnología de objetos distribuidos COM (Componente Object Model). ASP proporciona acceso a datos apoyándose en los objetos ADO (ActiveX Data Objects) y ODBC. El uso de la interfaz ODBC le permite a ASP trabajar sobre cualquier sistema gestor de bases de datos que proporcione un controlador o driver (MySQL, SQL Server, Oracle, Informix, etc.). Los objetos ADO, basados en la tecnología COM (Component Object Model), ofrecen métodos que encapsulan el acceso a datos para su utilización en páginas ASP (Connection, RecordSet, Command, etc.). Interfaces de Programación para el acceso a datos. 12 La primera interfaz corresponde a la de Aplicación, la cual abarca y/o corresponde a cada uno de los programas clientes. La Interfaz de Objetos de Acceso a Datos, se encuentra como punto medio entre las aplicaciones y las API's que llegan a ser necesarias para el acceso a las bases de datos. Entre las tecnologías que pertenecen a la Interfaz de Objetos de Acceso de Datos encontramos: DAO (Data Access Objects) ADO (ActiveX Data Objects) Por lo general, las interfaces de objetos de datos son más fáciles de usar que las APIS, aunque las APIs ofrecen más funcionalidades. ADO (ActiveX Data Objects) es la interfaz de objetos de datos para OLE DB, y RDO (Remote Data Objects) es la interfaz para el objeto ODBC. ADO encapsula el API OLE DB en un modelo objeto simple que reduce el desarrollo, mantenimiento y costo de la aplicación. Es muy fácil de usar, utiliza lenguajes de programación como Visual Basic, Java, C++, VBScript y JScript, puede accesar datos desde cualquier recurso OLE DB y además, es extensible. Es la interfaz utilizada por Microsoft. ADO está compuesto de siete objetos, algunos de alto nivel como Connection, Command y Recordset, que pueden ser creados y eliminados por el usuario y otros con distintas funcionalidades como designar propiedades de conexión, definir sentencias y ejecutarlas. RDO (Remote Data Object) RDS (Remote Data Service) MIDAS (Middle-tier Distributed Application Service). Su función es encapsular los componentes que se encuentran en la interfaz que corresponde a la de API's, con la finalidad de reducir el desarrollo de la aplicación y los costos de mantenimiento y deben situarse en todos los equipos que ejecuten la aplicación, ya que se encuentran casi de manera conjunta con la aplicación. Por su parte, la Interfaz de Programación de Aplicaciones (Application Programming Interface, API), se encarga de mantener el diálogo con la base de datos, para poder llevar a cabo el acceso y manipulación de los datos. Algunos de los componentes que forman parte de esta interfaz son los siguientes: OLE DB, ODBC (Open Database Connectivity), JDBC (Java Data Base Connectivity), ISAPI (Internet Server Application Programming Interface) y CGI (Common Gateway Interface). La función que tienen las API's, es la de ser una interfaz entre las aplicaciones y las bases de datos, llevando ésta tarea unas veces a través de los clientes y otros a través del servidor de base de datos. Esto quiere decir, que puede darse el caso de que el cliente conste de las tres primeras interfaces o niveles, o que se encuentren las dos últimas en el servidor. La interfaz correspondiente a la base de datos, es donde se encontrará el servidor y toda la información depositada en él. 13 Para poder accesar y manipular la información de una base de datos, es necesario llevar a cabo la instalación de ciertos API's o controladores, que son indispensables para efectuar la conectividad de los datos externos, y vincularlos a la aplicación para su correcta y adecuada utilización. Las API's que se describen a continuación, son un claro ejemplo del proceso correspondiente a la conectividad de datos. ODBC (Open Data Base Connectivity): Esta tecnología proporciona una interfaz común para tener acceso a bases de datos SQL heterogéneas. ODBC está basado en SQL (Structured Query Language) como un estándar para tener acceso a datos. ODBC permite la conexión fácil desde varios lenguajes de programación y se utiliza mucho en el entorno Windows. Sobre ODBD Microsoft ha construido sus extensiones OLE DB y ADO. Los OCBD se pueden clasificar en 3 categorías: Los ODBC's que permitan la realización de consultas y actualizaciones. Los ODBC's que mediante ellos se pueda llegar a la creación de tablas en la base de datos. Los ODBC's propios de los DBMS, los cuales se pueden llegar a manipular ciertas herramientas de administración. 5. Otras Tecnologías ISAPI (Internet Server Application Programming Interface): Es la interfaz propuesta por Microsoft como una alternativa más rápida que el CGI, y está incluida en el Servidor Microsoft Internet Information (IIS). Así como los escritos CGI, los programas escritos usando ISAPI habilitan un usuario remoto para ejecutar un programa, busca información dentro de una base de datos, o intercambia información como otro software localizado en el servidor. Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dinamic Link Library), ya que son cargados por el servidor Web cuando éste se inicia. Dichos programas se vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI, debido a que requieren menos tiempo de uso de CPU al no iniciar procesos separados. Uno de los programas ISAPI más usados es el HTTPODBC.DLL que se usa para enviar y/o devolver información hacia y desde las bases de datos, a través de ODBC. DBI (PERL): Perl es uno de los lenguajes más utilizados para programación en la Web y proporciona su propia interfaz de acceso a datos, llamada DBI (DataBase Interface). Es especialmente utilizado bajo plataformas Linux/Unix, solucionando las complejidades de ODBC en estos sistemas. DBI actúa como una abstracción para un conjunto de módulos DBD (DataBase Driver). Cada módulo DBD actúa como manejador de un sistema gestor de base de datos distinto. 14 Existen módulos para prácticamente cualquier SGBD (Oracle, Informix, MySQL, etc.) y puentes hacia otras tecnologías como ADO, JDBC. SQL LINKS: se trata de controladores que se encargan de realizar la comunicación remota entre la aplicación y los servidores remotos de bases de datos, permitiendo una comunicación casi directa y muy rápida. Los ha desarrollado la empresa Inprise y permiten conexiones con otros servidores de bases de datos como Interase, Oracle, Sybase, Informix, Microsoft SQL Server, etc. DB-CONNECTOR Db-Connector es una interfaz entre cualquier base de datos ODBC y el World Wide Web que permite conectar bases de datos a un servidor Web sin necesidad de mover los archivos al equipo donde se ejecuta dicho servidor. Esto posibilita ejecutar db-Connector detrás de un firewall. Db-Connector trabaja con un lenguaje independiente de la base de datos, el cual es fácil de utilizar y evita todo el trabajo de programación que normalmente debería realizarse para la escritura de extensiones CGI. Las únicas tareas que deben llevarse a cabo son construir las consultas a la base de datos por medio de sentencias o instrucciones SQL y pensar cómo dar formato a los resultados. Plantillas Db-Connector (DTL) DTL es utilizado para ejecutar acciones en una base de datos y para construir el despliegue de los resultados en formato HTML. Este lenguaje se aplica dentro de los archivos de plantillas con extensión .dtl, que pueden contener etiquetas especiales DTL, así como también etiquetas de formato estándar HTML. Las etiquetas DTL son leídas, filtradas y procesadas por el servidor dbConnector, de tal forma que se el despliegue de los resultados se presenta siempre en formato HTML. Microsoft dbWeb Es una herramienta de software que funciona como interfaz entre una fuente de datos ODBC (Microsoft Open Database Connectivity) y el Servidor Web. Es una aplicación CGI (Common Gateway Interface) de alta funcionalidad implementada como un servicio de 32-bits de Windows NT multitarea. dbWeb ofrece una forma especial de publicar en el World Wide Web (WWW) o en una red intranet, aquella información extraída de una base de datos; esto se hará a través de una fuente de datos ODBC, y puede realizarse sin la necesidad de contar con un software adicional al del browser Web en el equipo cliente, ya sea en computadoras con Windows, Macintosh o Unix. 15 Con dbWeb se logra obtener un acceso a diferentes bases de datos, a través de Servidores Web HTTP corriendo bajo plataformas Microsoft Windows NT. Así, éste paquete provee de las capacidades de Insertar/Actualizar/Borrar los datos de los registros que sean elegidos a través de sentencias SQL. Dichos datos son desplegados en una forma tabular, detallada o personalizada, y de manera opcional pueden contener enlaces en hipertexto que permitan navegar a través de la información. Accede la información de una base de datos utilizando cualquier computadora que pueda correr un browser (browser) Web. La base de datos residirá en cualquier plataforma que pueda accederse a través de un ODBC de 32-bits. Los requerimientos de Hardware para la instalación y correcto funcionamiento de dbWeb son los siguientes: Sistemas Intel-Pentium o compatibles. Procesador 386/25, superior o Pentium. Como mínimo 16 MB de memoria RAM. 10 MB disponibles de espacio en disco duro. dbWeb hará uso de un Servidor Web que soporte las especificaciones CGI 1.1. Entre ellos se pueden tener: Alibaba, EMWAC HTTPS, Purveyor, Website, Servidores Netscape, Microsoft Internet Information Server (IIS). Arquitectura de dbWeb Así, a través de dicho URL se hace la requisición al servidor Web, y éste a su vez la hace al Cliente ISAPI dbWeb (escrito CGI), el cual solicita al Servicio dbWeb, los datos que necesita extraer de la base de datos. El Servicio dbWeb abre y comparte conexiones, para minimizar el tiempo de cada una de ellas, así como los recursos que sean utilizados. Las páginas HTML que son devueltas por dbWeb, son generadas de forma dinámica, mediante el uso de los esquemas creados con el uso del Administrador, gracias a lo cual no se necesita aprender HTML o programación CGI para publicar una base de datos en el Web. Estos esquemas son registros alojados dentro del depósito dbWeb y poseen la ventaja de ser procesados muy rápidamente, ya que en un par de minutos pueden ser creados y accedidos sin la necesidad de escribir una línea de código. 16 Creación de Esquemas Para llevar a cabo la tarea de creación de esquemas, dbWeb posee la herramienta de el Diseñador de Esquemas dbWeb. Este, permite hacer uso de una interfaz gráfica mediante la cual pueden visualizarse de una manera más fácil y directa, tanto una base de datos y como sus respectivos campos. Pero, antes de poder crear un esquema se necesita definir la conexión con la base de datos en sí, a través del uso de los ODBC. Es decir, hay que crear una fuente de datos que haga el enlace con la base de datos que se desea acceder, y luego desde el esquema que se quiera crear, hacer referencia a dicha fuente de datos. En definitiva, el esquema se encargará de procesar los documentos HTML para realizar la acción que se requiere de tal manera que el usuario se vea satisfecho de manipular la información dentro de la base de datos. DBMS Microsoft SQL Server, Visual FoxPro, FoxPro, Access, Oracle, Sybase, y otras bases de datos que soporten las fuentes de datos ODBC de 32-bits. Desde el browser Web se envía una solicitud de acceso a una base de datos, hacia el programa CGI dbWeb ejecutable, y éste a su vez envía la orden al servicio Web, el cual se conecta con el ODBC correspondiente y éste con la base de datos. Luego, el servicio dbWeb da a los resultados el formato HTML, que serán desplegados en el browser Web. Características No requiere conocimientos de CGI ni de HTML. Procesamiento de datos y uso de ODBC de 32-bits. Compatible con las especificaciones CGI 1.1. Conexión con cualquier plataforma en que se corra un browser (browser) Web, o con aquella que soporte ODBC de 32-bits. Rápida forma de distribuir información dentro de redes locales o de área amplia a través de presentaciones tabulares. Perl es el lenguaje más ampliamente usado en la programación CGI en el World Wide Web, ya que ofrece una serie de ventajas que lo hacen ideal para construir interfaces entre el Web y otras aplicaciones. Algunas de las ventajas que Perl ofrece son: Portabilidad de código en diversas plataformas. Existencia de operadores extremadamente robustos para manipular cadenas de caracteres, así como funciones para tratar con datos binarios. Métodos simples para la construcción y manipulación de objetos definidos por el usuario. 17 Ejecución de programas en base a interpretación. Facilidad para invocar comandos y funciones shell del sistema operativo. Habilidad para acceder variables de entorno. Características y Funciones Por lo general, un programa CGI se invoca desde el atributo ACTION de un formulario. Este programa tiene por objetivo generar información dinámica a partir de los criterios especificados por el usuario en los campos del formulario. Las extensiones ODBC para Perl constan de dos archivos: ODBC.PLL: Es la extensión Perl para ODBC, escrita y compilada en Lenguaje C. Un archivo con extensiones .PLL no es más que un .DLL, que será cargado dinámicamente por Perl cada vez que se requieran los módulos o extensiones dentro de un escrito Perl. ODBC.PM : Archivo que provee al programador de una interfaz sencilla para hacer uso de las funciones contenidas en ODBC.PLL. Requerimientos del Sistema Procesador Intel 486 o superior. 1 MB libre en disco duro. 16 MB en memoria RAM(mínimo). Servidor Web Compatible con CGI 1.1 Base de Datos compatible con ODBC. Todo Servidor Web que soporte CGI 1.1: Microsoft IIS 1.0 o superior, O’Reilly & Asocciates WebSite, Emwacs, etc. IsisWWW: Es una interfaz para publicar bases de datos Micro CDS/ISIS en el World Wide Web, desarrollada por el grupo CDS/ISIS de la Universidad de Estudios Bibliotecarios y de Información, de Stuttgart (Alemania). Con IsisWWW es posible desarrollar una interfaz cliente/servidor completamente gráfica, a través de formularios HTML, para interactuar con bases de datos ISIS en Internet e Intranets. Asimismo se pueden realizar consultas a una base de datos ISIS desde Internet. 18 6. CONCLUSIONES A través de los años, la tecnología ha ido mejorando y con ella la conectividad a la base de Datos, tanto para aplicaciones escritorio como para aplicaciones Web. Existen diferentes formas en que las aplicaciones se conectan a la base de Datos para realizar transacciones y para la devolución de Información compatible con las tecnologías y lenguajes existentes de programación web, tales como HTML, XML, Java,.net, perl, etc. Las principales diferencias entre cada una de ellas radica, mas que todo en que tanto recurso puede utilizar a la hora de conectarse a la aplicación o servidor que aloja la Base de Datos, la compatibilidad con los API’S, los diferentes lenguajes de programación, las plataformas y los diferentes navegadores. Cada uno de estos conectores puede estar o no vinculado o inclinado a determinada tecnología o plataforma, con sus correspondientes requisitos de instalación, sin embargo, la tecnología sigue avanzando y presentándonos maneras de conectarse o resolver conflictos de compatibilidades. 19 7. BIBLIOGRAFIA http://es.wikipedia.org/wiki/OLE_DB http://livedocs.adobe.com/dreamweaver/8_es/using/wwhelp/wwhimpl/common/html/w whelp.htm?context=LiveDocs_Parts&file=28_conn4.htm http://www.soloasp.com.ar/vertexto.asp?txt=18 http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte21/cap21-3.html http://www.uca.edu.sv/investigacion/bdweb/tecnolog.html 20