Home

jueves, 8 de enero de 2009

Bases de Datos en la WEB

La Web es un medio para localizar, enviar y recibir información de diversos tipos, utilizando para esto las bases de datos. En el ámbito competitivo, es esencial ver las ventajas que esta vía electrónica proporciona para presentar la información, reduciendo costos y el almacenamiento de la información, y aumentando la rapidez de difusión de la misma. 
Internet provee de un formato de presentación dinámico para ofrecer campañas y mejorar negocios, además de que permite acceder a cada sitio alrededor del mundo, con lo cual se incrementa el número de personas a las cuales llega la información.
   Alrededor de 14 millones de personas alrededor del mundo hacen uso de Internet, lo cual demuestra el enorme potencial que esta red ha alcanzado, con lo cual se puede decir que en un futuro no muy lejano, será el principal medio de comunicación utilizado para distintos fines.
   Pero, no sólo es una vía para hacer negocios, sino también una gran fuente de información, siendo éste uno de los principales propósitos con que fue creada.
   Una gran porción de dicha información requiere de un manejo especial, y puede ser provista por bases de datos.
   En el pasado, las bases de datos sólo podían utilizarse al interior de las instituciones o en redes locales, pero actualmente el Web permite acceder a bases de datos desde cualquier parte del mundo.    Estas ofrecen, a través de la red, un manejo dinámico y una gran flexibilidad de los datos, como ventajas que no podrían obtenerse a través de otro medio informativo.
   Con estos propósitos, los usuarios de Internet o Intranet pueden obtener un medio que puede adecuarse a sus necesidades de información, con un costo, inversión de tiempo, y recursos mínimos.  Asimismo, las bases de datos serán usadas para permitir el acceso y manejo de la variada información que se encuentra a lo largo de la red
   En esta publicación se presentan las diferentes herramientas que se utilizan hoy día para enviar y recibir información a través del web, así como las aplicaciones que hacen dicha interfaz, las base de datos con la World Wide Web.

SEGURIDAD

   La evaluación de este punto es uno de los más importantes en la interconexión de la Web con  la base de datos. A nivel de una red local, se puede permitir o impedir, a diferentes usuarios el acceso a cierta información, pero en la red mundial de Internet se necesita de controles más efectivos en este sentido, ante posible espionaje, copia de datos, manipulación de éstos, etc.

   La identificación del usuario es una de las formas de guardar la seguridad. Las identidades y permisos de usuarios están definidas en los Archivos de Control de Acceso. Pero la seguridad e integridad total de los datos puede conservarse, permitiendo el acceso a distintos campos de una  base de datos, solamente a usuarios autorizados para ello. En este sentido, los datos pueden ser presentados a través de la Web de una forma segura, y con mayor impacto en todos los usuarios de la red mundial. Para la integración de la base de datos con la Web es necesario contar con una interfaz que realice las conexiones, extraiga la información de la  base de datos, le dé un formato adecuado de tal manera que puede ser visualizada desde un browser de la Web, y permita lograr sesiones interactivas entre ambos, dejando que el usuario haga elecciones de la información que requiere.


BASE DE DATOS


 Orientación de las Base de Datos en la actualidad

En la actualidad, muchas instituciones se han dado cuenta de la importancia que el Web tiene en el desarrollo de sus potencialidades, ya que con ello pueden lograr una mejor comunicación con personas o instituciones situadas en cualquier lugar del mundo.
Gracias a la conexión con la red mundial Internet, poco a poco, cada individuo o institución va teniendo acceso a mayor cantidad de información de las diversas ramas de la ciencia con distintos formatos de almacenamiento.
La mayor parte de información es presentada de forma estática a través de documentos HTML, lo cual limita el acceso a los distintos tipos de almacenamiento en que ésta pueda encontrarse.
Pero, en la actualidad surge la posibilidad de utilizar aplicaciones que permitan acceder a información de forma dinámica, tal como a bases de datos, con contenidos y formatos muy diversos.
Las bases de datos están presentes en numerosas aplicaciones, sobre todo en aquellas que manejan grandes cantidades de información que deben ser almacenadas y manipuladas de forma rápida y eficiente.  Con la aparición de Internet y de la World Wide Web, muchas aplicaciones existentes y una gran mayoría de las de nueva aparición se están enfocando hacia su utilización en la red. Por ello surge la necesidad de aplicar esta nueva tecnología a las bases de datos de manera que puedan ser accedidas a través de Internet.
Una de las ventajas de utilizar el Web para este fin, es que no hay restricciones en el sistema operativo que se debe usar, permitiendo la conexión entre si, de las páginas Web desplegadas en un browser del Web que funciona en una plataforma, con servidores de bases de datos alojados en otra plataforma.  Además, no hay necesidad de cambiar el formato o estructura de la información dentro de las bases de datos. 

Tipos de bases de datos

 Las bases de datos se pueden dividir en cuatro tipos básicos:
     ¨       Bases de datos de fichero plano (o ficheros por bloques)
¨       Bases de datos relacionales
¨       Bases de datos orientadas a objetos
¨       Bases de datos híbridas
   Las bases de datos de fichero plano consisten en ficheros de texto divididos en filas y columnas. Estas bases de datos son las más primitivas y quizás ni tan siquiera merezcan considerarse como tales. Pueden ser útiles para aplicaciones muy simples, pero no para aplicaciones medianas o complejas, debido a sus grandes limitaciones.
Las bases de datos relacionales son las más populares actualmente.    Su nombre proviene de su gran ventaja sobre las bases de datos de fichero plano: la posibilidad de relacionar varias tablas de datos entre sí, compartiendo información y evitando la duplicidad y los problemas que ello conlleva (espacio de almacenamiento y redundancia).   Existen numerosas bases de datos relacionales para distintas plataformas (Access, Paradox, Oracle, Sybase) y son ampliamente utilizadas.    Sin embargo, tienen un punto débil: la mayoría de ellas no admite la incorporación de objetos multimedia tales como sonidos, imágenes o animaciones.
Las bases de datos orientadas a objetos incorporan el paradigma de la Orientación a Objetos (OO) a las bases de datos.  La base de datos está constituida por objetos, que pueden ser de muy diversos tipos, y sobre los cuales se encuentran definidas unas operaciones.    Las bases de datos orientadas a objetos pueden manejar información binaria (como objetos multimedia) de una forma eficiente.    Su limitación suele residir en su especialización, ya que suelen estar diseñadas para un tipo particular de objetos (por ejemplo, una base de datos para un programa de CAD).
Las bases de datos híbridas combinan características de las bases de datos relacionales y las bases de datos orientadas a objetos.   Manejan datos textuales y datos binarios, a los cuales se extienden las posibilidades de consulta. Es una tecnología reciente y aún existen pocas en el mercado. 

 BASE DE DATOS EN LA WEB 

      El interés de las bases de datos en la web crece día a día debido a sus numerosas aplicaciones, siendo cada vez mayor el número de herramientas específicas para bases de datos en la web que aparecen en el mercado. 
Existen dos formas de enfrentarnos a las bases de datos en la web.
1.-  Interfaces web que sirven como mediadores para llegar a la base de datos, para realizar consultas o modificaciones necesarias.
2.-  Bases de datos estructuradas que deben ser auto descritas para los datos y cuyo lenguaje estándar es el XML que estructura la base de datos. En este caso los datos se encuentran en la web.
 A continuación se detallan cada un de estas alternativas disponibles en la web.

1.-   INTERFACES  Web/DBMS

Si hemos navegado algo por la web, es casi seguro que hemos utilizado una base de datos en la web;  al buscar información sobre un tema, al consultar un catálogo de productos, al obtener el saldo de nuestra cuenta corriente o al firmar en un libro de visitas.  Todas estas aplicaciones utilizan bases de datos, bien para recoger información, bien para distribuirla o para ambas cosas a la vez.
   Tradicionalmente en el Web se han utilizado documentos HTML estáticos para los cuales se creaban las posibles respuestas ante requisiciones del cliente. Este método requiere de un gran desarrollo de aplicaciones y de mantenimiento de las mismas. Al interactuar con las bases de datos, este proceso se complica aún más.
   Una aplicación que posibilita interconectar al Web con una base de datos tiene muchas ventajas, además de que las funciones que cumplen actualmente los Servidores Web y las herramientas de desarrollo de aplicaciones Web, hacen más fácil que nunca la construcción de aplicaciones más robustas. Tal vez el mayor beneficio del desarrollo de estas aplicaciones en el Web sea la habilidad de que sean para múltiples plataformas, sin el costo de distribuir múltiples versiones del software.
   También han aparecido bibliotecas que incluyen motores propios de servidor que corren de forma conjunta con el Servidor Web, lo cual facilita el desarrollo de nuevas aplicaciones.
   Cada una de las interfaces para comunicar al Web con bases de datos, ha sido creada basándose en una tecnología de integración especial, a través de procesos de interconexión especiales, que serán descritos en el siguiente apartado.  
                Cuando se utiliza una interfaz para lograr la integración del Web con cierta base de datos, se puede verificar que los procesos seguidos varían, dependiendo de la tecnología que se esté utilizando. Entre estas tecnologías se tienen las siguientes.   

1.1  Funcionamiento de la Base de Datos

Para realizar una requisición de acceso desde el Web hasta una base de datos no sólo se necesita de un browser del Web y de un Servidor Web, sino también de un software de procesamiento (aplicación CGI), el cual es el programa que es llamado directamente desde un documento HTML en el cliente. 
Los CGI reciben datos transferidos desde un navegador Web mediante un servidor de HTTP y los convierten a un formato que la base de datos pueda entender. La información convertida se transfiere a la interfaz de la base de datos y esta la ejecuta. Los resultados se devuelven al software de procesamiento, el cual los convierte a un formato de manera que el navegador los pueda desplegar.
Una  aplicación CGI  no puede trabajar solo, requiere de un tipo de canal para hacer contacto con la base de datos, este canal lo proporciona la interfaz de la base de datos, el cual es un software especial que suministra el proveedor. Los CGI se comunican con la interfaz, la cual se pone en contacto con la base de datos. 

1.2   Lenguaje SQL

Como la necesidad de acceder a bases de datos desde el Web se ha incrementado, han sido creadas también interfaces que manipulan sus escritos para procesar la información, teniendo como punto común la ejecución de sentencias SQL para requerir datos a la base.
El lenguaje SQL, siglas que provienen de Structured Query Language (Lenguaje de Consulta Estructurado) es un lenguaje de bases de datos que pretende ser un lenguaje común para las bases de datos relacionales. La práctica totalidad de ellas es capaz de procesar consultas en SQL. SQL consta de dos partes: el DDL o Data Definition Language (Lenguaje de Definición de Datos) y el DML o Data Manipulation Language (Lenguaje de Manipulación de Datos). Algunas de las herramientas para el acceso a bases de datos en la web utilizan el lenguaje SQL para la consulta o modificación de los datos. Esto permite su uso con distintos sistemas gestores de bases de datos, siempre que estos sean capaces de procesar sentencias SQL. 

1.3   El Common Gateway Interface (CGI)

Los CGI son programas que se ejecutan en el servidor por petición del navegador de un usuario y permiten que se genere una página web de forma dinámica. Las páginas web puras (archivos HTML) son archivos de texto y por tanto estáticos. Sin embargo, si en lugar de pedir una página web el navegador ejecuta un programa, éste puede generar la página "al vuelo" y decidir en el momento como va a ser la página. Por ejemplo, imagine una página web que muestre la hora como texto. Está claro que no se puede poner la hora con el editor de páginas web, ya que cada vez que alguien vea la página la hora será distinta. La solución es crear un programa que se ejecute cada vez que alguien quiera ver la página. El programa genera la página web en el momento en que se ejecuta y así coloca la hora correcta. Por ello los CGI añaden dinamismo a las páginas web.
Actualmente, ésta es la solución que más se está utilizando para la creación de interfaces Web/DBMS. Fue probada por primera vez en el servidor NCSA. Se ha comprobado que si el Servidor Web recibe un URL con una “llave”, para devolver un documento HTML como respuesta, tendrá que cargar el servicio (programa) que le indique las variables de ambiente y de la forma HTML. La mayoría de las veces dicha “llave” es el "cgi-bin".
Los programas CGI son de doble sentido. Los datos pueden transferirse al programa CGI para su procesamiento, al igual los programas CGI pueden devolver información al servidor Web. Con esto la información introducida por el usuario puede afectar el comportamiento del programa CGI, y los resultados devueltos por el programa son resultado directo de lo que introduce el usuario. En algunos casos los programas CGI se ejecutan al cargar la página y los resultados se despliegan como parte de la misma.
Entre las ventajas de la programación CGI, se tiene su 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 a 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 de el estado del servidor, sino que todo hay que hacerlo manualmente.
El tener acceso a una base de datos a través de un programa CGI tiene una metodología propia, comúnmente el usuario hace clic sobre un botón predeterminado o sobre un vínculo, en este momento el navegador envía una solicitud de ejecutar el programa CGI al servidor Web, el servidor Web revisa la configuración y los archivos de acceso para asegurarse que se cuenta con el permiso de ejecución del programa CGI y se asegura de que este exista , cualquier resultado producido por el programa CGI se devuelve al navegador Web que despliega el resultado. 

Los programas CGI como interfaces para acceder a bases de datos.

      La Web posee mecanismos para que el usuario ingrese datos en una página (por ejemplo el número de tarjeta de crédito), estos son recibidos por el servidor, que inmediatamente los pasa a un programa preparado para intercambiar datos según las normas de interfaz CGI. Este programa, puede estar escrito en cualquier lenguaje (incluso puede ser compilado o interpretado), pero la única forma de interactuar con el usuario es a través de la página web. Por esta razón la interacción no es inmediata (como sí ocurre en Java); por ejemplo si un usuario ingresa un dato erróneo, el mensaje de error será una nueva página generada después de que el usuario envíe todos los datos requeridos en el formulario.

Recuperación de información de una bases de datos

Cuando alguien usa un navegador Web para acceder a una base de datos hay varios componentes que intervienen para transferir la consulta del usuario a la base de datos y devolver los resultados al navegador, la acción se desarrolla de la siguiente manera:
-      El usuario llama a un programa gateway que utiliza CGI, haciendo clic en un hipervínculo u oprimiendo un botón del formulario.
-      El navegador reúne toda la información escrita por el usuario para enviarla al programa CGI.
-      El navegador contacta al servidor de HTTP en la máquina donde reside el programa CGI, pidiéndole que localice a este último y le transfiere la información.
-      El servidor de HTTP corrobora si la máquina solicitante tiene autorización de acceso al programa CGI.
-      Si el usuario tiene acceso, el servidor de HTTP localiza el programa Gateway y transfiere a este la información del navegador Web.
-      Se ejecuta el programa Gateway.
-      El proceso Gateway convierte la información recibida a un formato que la base de datos sea capaz de entender.
-      El Gateway usa el módulo de la base de datos para transferir la consulta a la interfaz de la base.
-      La interfaz de la base de datos analiza la sintaxis de la consulta para asegurar que sea precisa.
-      Si la interfaz encuentra un error de sintaxis en la consulta, se envía un mensaje de error al programa Gateway.
-      El mensaje de error se envía al servidor de HTTP, el cual lo transfiere al navegador Web para que este lo despliegue al usuario.
-      Si no hay error, la interfaz envía la consulta a la bases de datos.
-      La base de datos atiende la consulta y devuelve los resultados al programa gateway a través de la interfaz.
-      El programa gateway formatea los resultados y los envía al servidor, por medio del CGI, para su envío al navegador Web.
-      El navegador Web despliega los resultados
Hacer inserciones, actualizaciones y eliminaciones requiere de un procedimiento más complejo que el necesario para hacer simples consultas. El código de inserción debe verificar si existen los datos en la base de datos, con el fin de evitar duplicidad en la información, el código de actualización debe asegurarse que la información exista, antes de modificarla, en caso contrario debe originarse un error. Las acciones de eliminación y edición debe de asignarse a un grupo reducido y confiable para evitar la eliminación de datos necesarios.
Para procesar algo mas que una simple consulta en un ambiente de esta naturaleza, es necesario algún tipo de control de acceso como lo pueden ser el comparar el identificador de conexión del usuario contra una lista de usuarios autorizados para determinada acción, asignar a cada tipo usuario un identificador de conexión y asignar a cada tipo nivel un nivel de acceso basándose en las funciones que tienen permitidas o utilizar la autenticación de clave de acceso de la base de datos destino para validar los niveles de acceso a los usuarios. En definitiva, el método que utilice depende de como planee utilizar el programa de gateway (CGI).
La siguiente ilustración muestra cómo intercambian información un explorador, un servidor y una aplicación CGI utilizando CGI. 
En principio los CGI se pueden realizar con cualquier lenguaje de programación, ya que pueden ser ejecutables (archivos .exe). Sin embargo, lo más recomendable es utilizar un lenguaje de script con facilidades para realizar CGI. Nos referimos al Perl.

¿Qué es el lenguaje Perl?

   Es un lenguaje de ordenadores interpretado. Su nombre significa "perla" y se supone que es el acrónimo de Practical Extraction and Report Language (lenguaje práctico para extracción e informes). Al ser interpretado, los programas se denominan scripts y son archivos de texto. El Perl es el lenguaje más usado para programar CGI's porque al ser interpretado es más 'portable', y porque sus características lo hacen ideal para ello.
La ventaja del Perl es que por su forma y por las bibliotecas y utilidades de que dispone, es ideal para la realización de CGI's. Es más, a ello debe el enorme auge que ha tenido últimamente, aunque en un principio fue diseñado como lenguaje de propósito general.

1.4  Páginas ASP

Introducción al ASP
ASP(Active Server Pages)  o lenguaje de páginas activas de Microsoft estaría englobado dentro de los lenguajes ISS (Include Server Side) de 2ª generación, es decir, que ASP es una evolución de los CGI’s (Common Gateway Interface).
ASP no define un lenguaje de programación con sus sentencias de control, sus estructuras de almacenamiento, etc, sino que define una serie de objetos de servidor, los cuales tienen una serie de métodos que podremos utilizar para cosas como acceso a base de datos, lectura de ficheros, etc.
ASP se ayuda de dos lenguajes de script, como son JavaScript y VBScript para implementar toda la parafernalia necesaria para que se vea ASP como un lenguaje de programación.
Es por ello que la primera línea de código de una página ASP deberá de indicar el lenguaje de script con el que nos vamos a ayudar.

Concepto de página ASP

Las páginas ASP se caracterizan por tener en un mismo archivo de extensión ASP código de script que se ejecuta en el servidor y código HTML que forma la página web. Es decir, en un mismo archivo se encuentra el HTML (apariencia de las páginas) y el código de la aplicación a ejecutar en el servidor.
Todo el sistema ASP no es más que una DLL del tipo ISAPI, que es invocada automáticamente para los archivos cuya extensión sea .asp. La biblioteca ASP preprocesa el archivo ASP interpretando su código como un script a ejecutar en el servidor. Sin embargo ella no interpreta directamente el código, sino que en función del lenguaje en el que está escrito, invoca a otra DLL que se encarga de ejecutar el script. Después recoge la salida y se la envía al servidor web.
A algunos programadores esto les puede parecer confuso y poco estructurado. De hecho, parece preocupante que un webmaster diseñador gráfico y un programador de aplicaciones de bases de datos tengan que trabajar ambos sobre el mismo archivo.
Sin embargo, esto es sólo una apariencia. Una reflexión más profunda nos revela que la página ASP engloba tanto a las páginas web como a los scripts CGI. En efecto, una ASP puede consistir sólo en código HTML (y entonces es lo mismo que una página web normal) o sólo en código ejecutable (lo mismo que un CGI). Por tanto la mezcla de código y HTML es opcional, pero muy utilizada por resultar práctica (por ejemplo, un formulario que se llama a sí mismo).

Concepto de aplicación ASP

Una página ASP no es sólo un script. Se denomina aplicación ASP al conjunto de páginas ASP, páginas web, archivos gráficos, etcétera, dispuestos en un directorio y sus subdirectorios. Todo este conjunto de scripts y datos es el equivalente en la web a la aplicación tradicional que al final se compila en un ejecutable. 

Como funciona realmente ASP

El esquema de funcionamiento de ASP sería como el de la figura que tenemos a continuación. Una maquina cliente realiza una petición de una página ASP. Esta petición llega a una maquina servidor la cual interpreta el código de esa página ASP. Dicho código puede tener accesos a ficheros o bases de datos (Base de Información).           
El resultado de interpretar la página ASP es una página HTML, la cual se le envía al usuario. Es decir, el usuario no llega a ver el código ASP, sino que ve el resultado de interpretar dicho código: una página HTML.
En conclusión podríamos decir que una aplicación en ASP tiene como objetivo diseñar una página web. Todas las salidas de información que se realicen en una páginas ASP serán de código HTML o texto.

¿Qué ventajas y desventajas tiene el ASP respecto a los CGI?

Entre las ventajas podemos destacar:
-      Se puede elegir el lenguaje de programación de entre estos tres: JavaScript, Visual Basic Script y PerlScript. Incluso se pueden tener scripts en distintos lenguajes dentro de la misma página ASP. El lenguaje escogido vale con cualquier navegador, ya que se trata de código que se ejecuta en el servidor. Al navegador sólo le llega HTML.
-      Se pueden utilizar componentes del lado de servidor. Esto permite programar al estilo VisualBasic creando objetos y utilizando sus métodos y propiedades.
-      Se puede acceder a bases de datos con objetos recordset de un modo muy parecido a como se hace en Visual Basic.
-      Tiene persistencia de variables en memoria (entre distintas visualizaciones de páginas web) que se pueden asociar a cada sesión de usuario o a la aplicación en su conjunto. Esto resuelve de forma elegante uno de los mayores problemas de la programación en la web: el servidor web no tiene memoria entre la visualización de una página web y la siguiente. 
En cuanto a las desventajas, no tiene ninguna. Los partidarios del Perl pueden seguir utilizando dicho lenguaje al 100% (incluyendo bibliotecas) y aprovechar las nuevas características del ASP, sin más que utilizar como lenguaje de programación el PerlScript.

1.5  Interfaz de Programación de Aplicaciones (API)

Es un conjunto de rutinas, protocolos y herramientas para construir aplicaciones de interfaz.   Una buena API hace más fácil el trabajo de desarrollo de un programa, ya que debe proveer todos los bloques para construirlo. El programador lo único que hace es poner todos los bloques juntos.
API está diseñado especialmente para los programadores, ya que garantiza que todos los programas que utilizan API, tendrán interfaces similares. Asimismo, esto le facilita al usuario aprender la lógica de nuevos programas.
Cuando se realiza una requisición, el servidor llamará al API, brindando la ventaja de disponer de una mayor cantidad de servicios. 

1.6  Interfaz de Programación de Aplicaciones del Servidor Internet (ISAPI)

   Es la interfaz propuesta por Microsoft como una alternativa más rápida que el CGI, y ya 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 con otro software localizado en el servidor. 
Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dynamic 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.
Además, ISAPI permite realizar un procesamiento previo de la solicitud y uno posterior de la respuesta, con lo cual manipula la solicitud/respuesta HTTP.   Los filtros ISAPI pueden utilizarse para aplicaciones tales como autenticación, acceso o apertura de sesión. 

1.7   Java, JDBC y JavaScript

Java ofrece un ambiente de programación muy sencillo, robusto, dinámico, de propósito general, orientado a objetos y múltiples plataformas, creado por Sun MicroSystems.
Es tanto un compilador como un lenguaje intérprete. El código fuente de Java es convertido en instrucciones binarias simples, y compilado con un formato universal.
El Compilador realiza todas las actividades de un procesador real en un ambiente virtual más seguro.    Es decir, ejecuta instrucciones, crea y manipula información, carga y hace referencia a bloques de código nuevos.
El Intérprete, que es pequeño y muy útil, es capaz de ser implantado en cualquier forma que se desee para un sistema operativo particular.  Este puede correr como una aplicación independiente, o como una parte de otro software, tal como el Web Browser.   El concepto de Java es diferente al de CGI, ya que el CGI se ejecuta en el servidor, mientras que Java se ejecuta en el cliente. 

Procesamiento Cliente/Servidor

Por lo general, las aplicaciones Web son procesadas completamente en el lado del servidor, lo cual no es precisamente lo más apropiado, ya que significa un uso excesivo de memoria, manteniendo al usuario en la espera mientras termina de ejecutarse. Pero los browser Java (del lado del usuario) pueden ejecutar aplicaciones, y no sólo desplegar documentos HTML, poniendo a correr el proceso en el lugar apropiado.
Las aplicaciones clásicas proveen de información acerca de los tipos de formato (tipos MIME). Los browser del Web rápidos serán capaces de aprender cómo tratar con nuevos protocolos y dar formato dinámicamente a los datos.

Conectividad de Bases de Datos de Java (JDBC)

Se considera el primer producto estándar de Java con DBMS, creado y ofrecido por primera vez en marzo de 1996.
Crea una interfaz con un nivel de programación que le permite comunicarse con las bases de datos mediante un concepto similar al de componentes ODBC, el cual se ha convertido en el estándar que se utiliza en computadoras personales o en redes locales.
El estándar de JDBC está basado en un nivel de interfaz con instrucciones SQL X/Open, que es básicamente lo mismo que en ODBC. Las clases de objetos para iniciar la transacción con la base de datos, están escritas completamente en Java, lo cual permite mantener la seguridad, robustez y portabilidad de este ambiente.
El puente JDBC-ODBC manipula la traducción de llamadas JDBC a aquellas que puedan ser entendidas por el cliente ODBC a un nivel de lenguaje C. 

JavaScript

Es un API programable que permite crear escritos de eventos, objetos y acciones, bajo cualquier plataforma, que se alojan dentro de un documento HTML. Dicho lenguaje es propiedad de Netscape.
Gracias a que JavaScript es parte de la conexión en vivo, se puede usar para crear interacciones entre documentos HTML, Plug-ins (aplicaciones que corren dentro del browser del Web) y Java.
 Mediante el uso de JavaScript se pueden enviar respuestas ante una variedad de eventos, objetos y acciones, permitiendo cambiar imágenes o activar sonidos ante determinados eventos, tales como entrar o salir de una página, presionar el ratón, etc.
 Para la interconexión de una base de datos con el Web, se pueden construir escritos CGI en lenguajes de programación adecuados, tales como C o Perl.   Estos escritos se mantendrán cargados en memoria a la espera de requisiciones o llamadas del servidor, y realizando las conexiones con la base de datos.
Algo un poco más complejo es crear un servidor personal, tal como APACHE, y agregarle los servicios que se consideren necesarios, a través de módulos.   Para ello, se puede obtener el código fuente de los servidores ya existentes y que se encuentren disponibles en Internet, tal como el anteriormente mencionado, luego compilarlo y modificarlo según conveniencias

 1.8  Formularios  WEB

Los formularios son plantillas que permiten la creación de documentos HTML con peticiones de datos.  Es decir, dentro de una página Web se puede solicitar información al visitante y procesarla. En un formulario se puede solicitar diferentes campos, cada uno de los cuales quedará asociado a una variable. Una vez se hayan introducido los valores en los campos, el contenido de estos será enviado a la dirección URL donde se tiene el programa que pueda procesar las variables.  
Para poder realizar este último paso es necesario realizar un programa externo en algún lenguaje de programación como PERL, C++ o Visual Basic. Este programa externo se llama CGI. 

 1.9  Aplicaciones de una Base de Datos en la Web 
Aplicaciones más importantes

-          Entre las aplicaciones más importantes de una base de datos en la web se pueden citar las siguientes:  
-          Comercio electrónico
-          Servicios al cliente (p. ej. seguimiento de paquetes postales)
-          Servicios financieros
-          Búsqueda de información
-          Acceso remoto a bases de datos
-          Bases de datos compartidas (intranets)
-          Creación de documentos HTML personalizados (sobre la marcha)
-          Distribución de multimedia
-          Seguimiento de visitantes

 Componentes de una aplicación de bases de datos

Una base de datos en la web consta de los siguientes componentes:
-          Servidor web
-          Servidor de aplicación
-          Cliente web
-          Programa CGI (opcional)
-          Base de Datos

1.10   Publicación de bases de datos en la web

Las consideraciones a tener en cuenta a la hora de desarrollar una aplicación de bases de datos en la web no son en principio distintas de las necesarias para cualquier otra aplicación (alcance del proyecto, experiencia del programador, etc.).  Por otra parte, a la hora de publicar una base de datos en la web se pueden adoptar varios enfoques, según el grado de complejidad de la aplicación.  De esta manera, las herramientas para la publicación de una base de datos en la web se pueden clasificar en tres categorías:
-          Herramientas para la publicación de datos.
-          Herramientas para el desarrollo de bases de datos.
-          Herramientas específicas para el desarrollo de bases de datos web.
Veamos cada una de ellas con detalle.

Herramientas para la publicación de datos

Estas herramientas resultan interesantes cuando la base de datos es pequeña o su contenido no cambia muy frecuentemente. Entre ellas podemos citar las siguientes:
-          Bases de datos de ficheros por bloques
-          Fusión de datos con plantillas HTML (mail-merge)
-          Asistentes para publicación de datos en la web (Access: HTML estático)
Las bases de datos de ficheros por bloques ya han sido comentadas antes. Tienen severas limitaciones, pero si la cantidad de datos no es muy grande pueden ser aceptables. Su gran ventaja es que puede construirse un programa CGI para acceder a la base de datos utilizando cualquier lenguaje que proporcione acceso a ficheros de texto.  Por ejemplo el lenguaje C,   cuya portabilidad permite desarrollar la aplicación para distintas plataformas,  como un PC y una máquina UNIX. Como opción interesante la base de datos puede crearse exportando en modo texto una base de datos relacional,  lo cual simplifica el mantenimiento de los datos.  Cada vez que se produzca una modificación de los datos se generará una nueva versión de la base de datos de fichero por bloques lista para su uso.
         Otra posibilidad es fusionar una plantilla HTML preexistente con datos exportados de una base de datos.  La plantilla proporciona el formato del documento e incluye unos campos que se rellenan con los datos de la base de datos.   El documento final se crea mediante la opción de fusión (mail merge) de un procesador de textos.   El proceso paso a paso es el siguiente:
-          Crear la base de datos con un gestor de bases de datos relacional
-          Exportar los datos en un formato válido para el procesador de textos
-          Crear la plantilla con el procesador de textos
-          Hacer el mail merge de la plantilla con los datos exportados
-           Transferir el resultado a una página web, mediante un asistente o cortando y pegando
Este proceso habrá que repetirlo cada vez que se modifique la base de datos,  por lo cual esta opción será interesante cuando los datos sufran pocas modificaciones. Tiene la ventaja de su gran simplicidad, por lo que puede ser una opción aceptable en casos concretos.


Herramientas para el desarrollo de bases de datos.
Para tener una aplicación de bases de datos potente en la red hay que recurrir a la programación CGI.  Aunque están surgiendo herramientas específicas de bases de datos en la web, y en el futuro acabarán por imponerse, las aplicaciones actuales de bases de datos en la web utilizan la programación CGI.
En esta aplicaciones podemos distinguir dos componentes fundamentales:
-          Formulario  HTML
-          Programa  CGI
El formulario HTML permite introducir en la página web los datos para iniciar la consulta, y el programa CGI se encarga de recibir esos datos, interpretarlos, realizar la consulta a la base de datos  y genera una página web con el resultado de la consulta.        
                Un aspecto importante es la elección del lenguaje de programación para el programa CGI.  
Esta elección está condicionada por los mismos factores que influyen en  cualquier otro proyecto:
-          Disponibilidad de herramientas
-          Tipo y número de las bases de datos
-          Plataformas en las que debe funcionar la aplicación
-          Experiencia del programador
-          Alcance del proyecto
El acceso a la base de datos desde el programa CGI se puede hacer de varias formas:
-          Consultas SQL: es el procedimiento más común.
-          ODBC/JDBC: API de programación proporcionada por los gestores de bases de         datos.
-          Procedimientos almacenados: son instrucciones de bases de datos específicas de un Gestor de Bases de Datos concreto. Proporcionan rapidez, pero limitan la aplicación al uso de dicho gestor.
Una alternativa a la creación de nuestros propios programas CGI es el uso de herramientas que generan automáticamente estos programas. Entre estas herramientas podemos citar los asistentes avanzados para publicación de datos en la web que ofrece Microsoft Access.   Estos asistentes proporcionan dos métodos para la publicación de bases de datos en la web, como son el HTX/IDX dinámico (basado en el uso de plantillas) y el ASP dinámico.
En el método HTX/IDC dinámico los ficheros .HTX contienen código HTML no estándar.   Estos archivos tienen un archivo .ITX asociado que contiene un mandato SQL que recupera los datos de la base de datos y los muestra con el formato indicado en el archivo de plantilla HTX.
El método ASP dinámico permite obtener páginas más vistosas, ya que trabaja con controles ActiveX integrados.   Estos controles se comunican directamente con el servidor web, puenteando al HTML.   El problema es que estos controles sólo son visibles si se utiliza el navegador web de Microsoft, el Internet Explorer, lo cual limita el uso de este método.
Ambos métodos requieren la presencia de un servidor web de Microsoft, como el Servidor Personal de Web en Windows 95 o el Internet Information Server (IIS) en Windows NT.

1.11   Herramientas específicas para el desarrollo de bases de  datos web

Recientemente están surgiendo herramientas diseñadas expresamente para el desarrollo de bases de datos web. Estas herramientas permiten generar consultas de cierta complejidad a bases de datos grandes sin necesidad de realizar tareas de programación, o restringiendo esta tarea a su mínima expresión.   Es por ello que se están haciendo muy populares, y aún lo serán más en el futuro.
Una herramienta de desarrollo de bases de datos web debe tener cinco funciones:
-          Estructuración de los datos y tablas
-          Creación del formulario HTML
-          Creación de los programas CGI
-          Generación automática de un documento de respuesta
-          Mantenimiento de los datos 
Es posible que la herramienta que tengamos no haga todas estas operaciones, en cuyo caso deberemos complementarla con otras herramientas o hacerlo manualmente.
          Estas herramientas suelen disponer de unas extensiones al lenguaje HTML mediante las cuales se realiza la consulta a la base de datos y se formatea la salida de los resultados obtenidos en dicha consulta.
          Criterios para la elección de un método de publicación de datos en la web
En los puntos anteriores se han visto diferentes métodos para la publicación de datos en la web.   Cada uno tiene sus ventajas y sus inconvenientes, que habrá que sopesar antes de elegir cuál de ellos es el que mejor se adapta a nuestra aplicación particular.   En concreto, habrá que tener en cuenta los siguientes factores:
-          Plataforma
-          Servicios ofrecidos por el proveedor de acceso a Internet
-          Nivel de conocimientos de programación
-          Tamaño de la base de datos
-          Costo
Una vez desarrollada la aplicación, ésta debe ser mantenida, lo cual también debe tenerse en consideración.

1.12   Base de Datos Web con tecnología Microsoft

 El sistema de acceso a bases datos a través de la web utilizando la tecnología Microsoft, se denomina ADO (ActiveX Data Objects).    
DSN (Data Source Name): Es un identificador único de la base de datos en el sistema.  Al definir un DSN se especifican tanto la ruta completa del archivo de base de datos como el controlador adecuado a la misma (MSAccess, FoxPro, etc).    Una vez creado, es todo lo que se necesita saber acerca de la base de datos para poder abrirla, consultarla, modificarla, etc.
ADO (ActiveX Data Objects): Es una familia de objetos componentes dedicados a facilitar el acceso a bases de datos. 
Todo el sistema ADO se basa en una serie de objetos cuyas propiedades y métodos hay que utilizar.   Estos objetos están registrados en el sistema, sin embargo no están predefinidos. Es decir, hay que crearlos utilizando Server.CreateObject que representa una conexión a una base de datos.    Este es el primer objeto que se debe crear para poder conectar con la base de datos.   

1.13 Internet Information Server (IIS)

Con el servicio WWW y los controladores ODBC que proporciona Internet Information Server, puede: 
  1. Crear páginas Web con información contenida en bases de datos.
  2. Insertar, actualizar y eliminar información de la Base de datos según la entrada del usuario en una página Web.
  3. Ejecutar otros comandos del Lenguaje de consulta estructurado (SQL).
  4. Funcionamiento del Conector de bases de datos de Internet (IDC)
     En el siguiente diagrama se muestra conceptualmente el acceso a bases de datos desde Internet Information Server.
Los exploradores de Web (como Internet Explorer o los exploradores de otros fabricantes como Netscape) remiten peticiones al servidor Internet usando HTTP. El servidor Internet responde con un documento en formato HTML. El acceso a las bases de datos se realiza mediante un componente de Internet Information Server llamado Conector de bases de datos de Internet (IDC). El Conector de bases de datos de Internet, Httpodbc.dll, es un programa DLL/ISAPI  que utiliza ODBC para el acceso a las bases de datos. 
1)    Web.sql

Sybase web.sql es una herramienta para Internet e Intranets con una nueva tecnología que facilita el acceso a bases de datos relacionales desde el World Wide Web, así como también la creación dinámica de documentos personalizados en formato HTML. La herramienta está diseñada para soportar codificación interlineal y llamadas a otros escritos, puesto que se conecta directamente con un servidor Web. El resultado es un mejor rendimiento en el acceso a la base de datos y en el tiempo de respuesta. Además, web.sql integra la tecnología Open Client de Sybase, lo cual permite que los datos de cualquier fuente sean incorporados dinámicamente en las páginas Web.
Con web.sql se extienden las funciones de un servidor Web posibilitando la inserción de instrucciones de bases de datos, tales como sentencias SQL, así como también código de escritos Perl, dentro de un documento en formato HTML.   Cuando un cliente browser hace una requisición a estos documentos, web.sql ejecuta los escritos e interpola los resultados dentro del respectivo archivo para devolverlos al Web browser.
¿Cómo Funciona Web.sql?
En la arquitectura típica de un servidor Web, el Web browser hace una requisición de documentos en dicho servidor especificando un URL.
El servidor HTTP interpreta este URL en una ruta para un archivo específico que se encuentra en la máquina servidora que es anfitriona. Si el archivo contiene las extensiones .html, .gif, .jpeg o de cualquier otro tipo que el servidor Web reconozca, el servidor HTTP devuelve el archivo requerido directamente al browser.
En cambio, si el archivo requerido es un programa que reside en un directorio autorizado, el servidor HTTP ejecuta dicho programa de acuerdo al CGI y envía los resultados del programa al Web browser. 
    Sin embargo, cuando un cliente browser hace una requisición del URL, que es interpretado como un archivo con extensión .hts o .pl, el servidor HTTP pasa la requisición al programa web.sql.  Éste lee el archivo especificado, luego procesa las requisiciones a la base de datos y del código Perl contenidas en el archivo. Finalmente compone los resultados en formato HTML para que el servidor HTTP los pase al browser. 

2)    West Wind Web Connection

West Wind Web Connection es una interfaz creada por West Wind Technologies.  Este producto permite conectar aplicaciones creadas con lenguaje de programación FoxPro con el Web, en tiempo real, aprovechando con ello la funcionalidad y el poder de acceso a datos desde el Web, que provee el lenguaje de programación FoxPro.  
West Wind Web Connection se constituye de dos grandes piezas de software:
Una pequeña aplicación en lenguaje de programación C++, que funciona como conector que es en sí la interfaz de comunicación entre el Servidor Web y la aplicación creada en lenguaje Visual FoxPro.  Un amplio Sistema de Clases Visual FoxPro, que hacen más fácil la tarea de construir aplicaciones para el Web.  El sistema creado con el lenguaje Visual FoxPro se constituye de clases que:
-          Manejan la comunicación con el conector.
-          Dirigen el manejo y la administración del servidor.
-          Manejan los resultados y las variables de formas HTML enviadas por el servidor.
-          Facilitan la manipulación del código.
-          Proveen un poderoso conjunto de clases y herramientas de soporte HTML, que simplifican el trabajo a realizar para desplegar las aplicaciones y datos en el Web.
Web Connection soporta y trabaja de forma efectiva con el Servidor Internet API (ISAPI), que es un mecanismo muy eficiente de procesar solicitudes en el mismo servidor Web, reduciendo grandemente el uso de recursos en el mismo.
La interfaz es fácil de usar, ya que fue diseñada pensando en facilitar su manejo. La instalación del software es semi-automática, y la interfaz se puede hacer funcionar muy rápidamente para conectar el servidor Web con aplicaciones FoxPro. Todas las piezas del sistema son implantadas de una forma muy clara, lo que hace que el proceso de respuesta a las requisiciones del Servidor Web sea fácil y muy flexible.  
El lenguaje de programación Visual FoxPro brinda grandes ventajas para manipular el acceso a los datos, el procesamiento lógico y el despliegue HTML, por medio del uso de código FoxPro dentro de archivos HTML que pueden crearse a través de editores de texto o de HTML como FrontPage. 

3)   WebDBC

WebDBC es una herramienta para desarrollo de aplicaciones de Base de Datos en el Web, es decir, permite agregar la funcionalidad de diversas bases de datos a un sitio Web.
WebDBC otorga facilidad al momento de elaborar una aplicación que integre el Web con una base de datos, ya que obtiene provecho de dos tecnologías: la sintaxis propia de HTML y los manejadores (drivers) ODBC existentes. Con ambos elementos se pueden incrustar comandos en una página Web que consulten o modifiquen una base de datos; para lo cual se hacen necesarios los archivos de resultado.  
Los archivos de resultado son páginas Web constituidas por etiquetas HTML y comandos WebDBC.   Con estos últimos WebDBC actúa como precompilador, pues los interpreta para luego enviar sus resultados en formato HTML al browser; de tal manera que éste recibe una página Web construida dinámicamente.   Estos archivos de resultado poseen extensión .HTX y  en general, son la respuesta dinámica que un usuario obtiene después de haber especificado ciertos criterios en un formulario previo.
WebDBC usa el interfaz ODBC para acceder a diversas bases de datos, con lo cual se tiene la ventaja de establecer conexión con cualquier base de datos para la cual exista manejador ODBC de 32 bit, es decir: Microsoft SQL Server, Microsoft Access, Oracle, Sybase, Paradox, FoxPro, etc.
WebDBC se puede ejecutar como DLL(ISAPI o NSAPI), aplicación CGI o Servicio NT. El proceso de ejecución que WebDBC realiza da inicio cuando recibe requisiciones de clientes Web (como Browser o aplicaciones Java), las cuales son transformadas en sentencias SQL para luego enviarlas a la base de datos a través de ODBC. 

4)   Cold Fusion

   Cold Fusion es una interfaz creada por Allaire para acceder a bases de datos desde el Web.    Es una potente herramienta para realizar las funciones de acceso a la información alojada en bases de datos, utilización de programación personalizada, y presentación de la información utilizando formatos muy avanzados.
Mediante el uso de esta herramienta, se puede distribuir información a nivel de Internet y/o de intranets, ya que permite conectar una base de datos al interior de una red (Intranet) o a nivel de redes más amplias en el Web (Internet).
   La conexión con la base de datos es realizada haciendo uso mínimo de programación, generando posteriormente las páginas Web de manera dinámica, cuyo contenido será la información que está alojada en la base de datos. Así mismo, permite introducir nueva información dentro de una base de datos, tener acceso a datos actualizados periódicamente, automatizando toda la actividad relacionada con dicha base de datos.
Cold Fusion hace uso de formas HTML estándar con validación de datos de los campos, para realizar la inserción y actualización de registros dentro de una tabla en una base de datos. Para la entrada de datos se especificará el tipo de dato a introducir en un campo específico. Este tipo de datos puede ser de valor entero, flotante, de fecha o en un rango especial de fechas. Además, se puede registrar la hora de introducción del valor de un campo, la dirección IP (Protocolo Internet) desde la que se hace una solicitud, el nombre del cliente y el tipo de browser que éste utiliza para acceder los datos, todo ello sin necesidad de escribir una línea de código.

5)   DbCGI

DbCGI es una interfaz CGI entre bases de datos SQL y el World Wide Web, desarrollada por CorVu Pty Ltd (Australia). Esta interfaz puede interactuar con diversos sistemas abiertos de bases de datos SQL, como Informix, Ingres, ODBC, Oracle, Progress y Sybase, a través del Web.
La herramienta dbCGI posibilita crear dinámicamente documentos personalizados en formato HTML, tales como formularios, tablas y reportes complejos.  Además, dbCGI está diseñado para soportar codificación interlineal de sentencias SQL para interactuar con las bases de datos.
            Cuando un cliente browser hace una requisición de URL, que es interpretado como un archivo dbCGI, el servidor HTTP pasa la requisición al programa dbCGI.   Este lee el archivo especificado, luego procesa las requisiciones a la base de datos contenidas en dicho archivo. Finalmente compone los resultados en formato HTML para que el servidor HTTP los remita al cliente browser.
Cuando un cliente browser hace una requisición de URL, que es interpretado como un archivo dbCGI, el servidor HTTP pasa la requisición al programa dbCGI. Éste lee el archivo especificado, luego procesa las requisiciones a la base de datos contenidas en dicho archivo. Finalmente compone los resultados en formato HTML para que el servidor HTTP los remita al cliente browser. 

6)   IsisWWW

     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.
Además, dicha herramienta posibilita el uso del lenguaje de especificaciones de formato ISIS en combinación del formato estándar HTML para desplegar los resultados en páginas Web creadas dinámicamente.
A continuación, se explica el funcionamiento de la interfaz IsisWWW dentro de la arquitectura típica de un servidor Web con el CGI.
En la figura, el programa CGI isfrag.pl contiene toda la información que envía el cliente browser al servidor Web. Dicho programa convierte la información a una estrategia de consulta ISIS, escribiéndola en un archivo y luego ejecuta el programa CDS/ISIS.
Nótese que IsisWWW no opera directamente con los archivos de la Base de datos ISIS, sino a través del programa Micro CDS/ISIS.

7)  dbWeb

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.
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.
Al hacer uso de dbWeb pueden crearse “Esquemas”, los cuales contendrán la especificaciones necesarias para acceder a los datos y para crear las páginas HTML. Por lo tanto, dbWeb provee de páginas Web completamente funcionales con el propósito de extraer y desplegar la información. Cualquier visitante a un sitio en el que se encuentre funcionando dbWeb, puede hacer uso de un estilo muy familiar de navegación a través de hipertexto, al utilizar browsers del Web y sentencias muy fáciles que le permitirán buscar la información que desee.

8)   Extensiones ODBC para Perl WIN32 

   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.
-          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.
-          Existencia de numerosas extensiones o módulos para interactuar con otro tipo de programas, como bases de datos.
   A partir de estas y otras ventajas que Perl ofrece, así como también de la existencia de extensiones para ODBC de 32 bit, es posible construir aplicaciones que permitan acceder diversas bases de datos a través del Web.
Las extensiones ODBC deben ser llamadas desde un escrito Perl que pueda comportarse como aplicación CGI. Tales extensiones permiten que desde un escrito Perl se pueda establecer comunicación con una base de datos a través de ODBC; lo cual implica que los criterios que un usuario ha especificado en un formulario se procesen y se conviertan en sentencias SQL, para que el ODBC las intérprete y sean enviadas a la base de datos, con el objetivo de obtener los resultados esperados de la misma.

9)     Internet Database Connector (IDC)

       Originalmente fue diseñado para programadores familiarizados con SQL y con poca experiencia con el lenguaje HTML. IDC ofrece un mecanismo directo de alto rendimiento para la integración del contenido de una base de datos dentro de una página Web
                El IDC utiliza dos tipos de archivos para controlar la forma de acceso a la Base de datos , el modo en que se construye la página Web de salida y además contienen el nombre y la ubicación del archivo de extensión HTML. Dichos archivos son archivos del Conector de bases de datos de Internet (.idc) que contiene la información de la consulta y archivos de extensión HTML estándar(.htx) con una sintaxis especial para hacer referencia a los resultados de una consulta. Cada vez que un usuario hace una requisición a un archivo IDC, la consulta asociada con él se ejecuta como un programa DLL/ISAPI, y se comunica a base de datos SQL a través de ODBC. El archivo de extensión HTML constituye la plantilla para el documento HTML real que se devolverá al explorador de Web cuando el IDC haya combinado su información con la Base de datos.
Puesto que IDC utiliza el lenguaje de consultas SQL, el modelo de programación es familiar a todos los programadores de bases de datos y es significativamente fácil de implantar. Un beneficio adicional de usar consultas SQL estándar es que es tan sencillo insertar información en una base de datos así como lo es recuperarla. Más aún, un programador puede elegir usar procedimientos almacenados, incrementando significativamente la eficiencia de la programación y ejecución.
Conceptualmente, el acceso a las bases de datos es realizado por el Internet Information Server. Los cliente browser envían las requisiciones al servidor Web a través de HTTP. El servidor Web responde con un documento en formato HTML. El acceso a una base de datos es realizado por el componente IDC del Internet Information Server.

10)   FoxWeb
 
   Es una herramienta de software que permite a los servidores Web tener acceso a la información alojada en bases de datos o programas FoxPro.
    FoxWeb es una aplicación que habilita la administración de bases de datos en un sitio Web utilizando el lenguaje de programación Visual FoxPro y un acceso a dichas bases de datos, de tal modo que se creen aplicaciones que funcionen a través de Internet.   Esta interfaz de programación fue diseñada con el propósito de no preocuparse más por las complejidades de la programación CGI, teniendo siempre el control necesario para crear aplicaciones robustas.
La interfaz de programación FoxWeb provee de la utilización de funciones que hacen más fácil la lectura de datos de entrada y la creación dinámica de resultados HTML, los cuales son enviados de nuevo al browser del usuario.
    El procesamiento de programas dentro de un servidor Web inicia con una requisición a través de un URL.   El servidor se encarga a continuación de localizar el archivo correspondiente e interpretar el tipo o el contenido del mismo.   Si en este momento el servidor detecta que el archivo es un programa especial, lo ejecuta de acuerdo al procesamiento CGI, enviando a continuación los resultados hacia el browser.
En el momento en que un browser Web realiza la requisición a través de un URL, el servidor HTTP interpreta que el programa requerido posee extensión .prg, por lo tanto pasa dicho URL al programa FoxWeb, el cual lee el programa y especialmente el procedimiento que ha sido invocado a través del mismo URL.   Luego, FoxWeb se encarga de llamar al programa de usuario que realizará las solicitudes a la base de datos, y, a continuación de procesar las funciones que han sido invocadas desde el código, tanto del programa .prg como del bloque que contiene sentencias HTML. 
Finalmente integra los resultados en un formato HTML puro y se los pasa al servidor Web para que éste los envíe al browser.

11)   La Interfaz WWW MINISIS

La Interfaz WWW para MINISIS es un producto adicional al software estándar de MINISIS, desarrollado por el IDRC (Canadá), que permite un acceso a bases de datos MINISIS a través del Web. Dicha interfaz posibilita la creación dinámica de páginas Web con la incrustación de etiquetas HTML dese los registros de bases de datos MINISIS. 
Con la Interfaz WWW el despliegue de los registros resultantes es similar a configurar una especificación de reporte y de registros de una base de datos MINISIS. Actualmente, la interfaz WWW solamente está disponible para la plataforma Windows NT. Sin embargo, se han iniciado trabajos de desarrollo para portar el software a la plataforma Unix. 

12)   IQuery

IQuery es un motor de búsquedas interactivo para bases de datos Micro CDS/ISIS.   Fue desarrollado de acuerdo a las especificaciones de ISIS 3.0 y ha sido diseñado para ejecutarse en tres modalidades: como una línea de comandos interactiva, como un programa CGI en servidores Web y como un intérprete que obtiene las instrucciones de un archivo. IQuery funciona en las plataformas Linux, SCO y DOS.
Con esta interfaz es posible incrustar dentro de un formulario HTML código de comandos reconocidos por IQuery para interactuar con la base de datos ISIS, de tal forma que dichos comandos son transferidos con el CGI al programa IQuery a través del servidor Web.    Además, IQuery no trabaja con el formato de despliegue de resultados que utiliza el programa Micro CDS/ISIS, puesto que IQuery es un software orientado a clientes Web que poseen su propio lenguaje de formato HTML.
                Cuando se inicia IQuery, lo primero que hace es buscar el archivo de parámetros SYSPAR.PAR en el directorio predeterminado de instalación de ISIS o bien, la ruta de directorio que se puede especificar al programa con el parámetro ‘-conf ’. En el archivo SYSPAR.PAR se busca la ruta de directorio donde residen los archivos de las bases de datos. Luego, IQuery cambia a una de las tres modalidades que se haya especificado: línea de comandos, HTML (parámetro -html) o intérprete de archivo (parámetro -file). En cualquier caso IQuery lee y procesa una línea a la vez desplegando los resultados en salida estándar.
Adicionalmente, el motor de búsquedas posee dos parámetros especiales, los cuales son:
 ‘-nocase’ y ‘-nostrict’. El primero permite buscar palabras claves sensitivas a las letras mayúsculas y minúsculas; el segundo toma en cuenta los espacios en blanco al principio y al final de la palabra clave a buscar.

 13)   WWWIsis

   WWWIsis es una herramienta que ha sido diseñada para funcionar como un servidor de bases de datos ISIS en un ambiente cliente/servidor y para operar a través del CGI en el World Wide Web, desarrollada y distribuida por BIREME (Brasil).
WWWIsis es parte del conjunto de utilidades CISIS, desarrolladas también por BIREME, para manejar y administrar bases de datos ISIS. Esta compatibilidad hace que estén disponibles los lenguajes de búsqueda y de formato de Micro CDS/ISIS para poder sacar el mayor provecho a la herramienta WWWIsis.    Su desarrollo se basa en las principales funciones de dichas utilidades CISIS, especialmente MX para la recuperación y edición de registros y MZ para la consulta al fichero invertido, lo cual facilita su uso.
Con WWWIsis es posible desarrollar una interfaz cliente/servidor completamente gráfica para interactuar con bases de datos ISIS en ambos ambientes Internet e Intranet.
WWWIsis está diseñado para ser ejecutado como una línea de comando en escritos CGI. Su funcionamiento está dirigido por un conjunto de parámetros que pueden ser especificados en la misma línea de comando o como líneas de un archivo. 

2.-  BASES  DE  DATOS  XML (BD ESTRUCTURADAS)

          Una base de datos XML no es diferente de cualquier documento XML, ya que XML permite definir cualquier tipo de información. La diferencia entre documentos XML que tratan diversos tipos de contenidos, no es más que la distinta organización de sus elementos, gestionados a través de la colección de etiquetas adecuadas a cada caso.
            XML, el estándar de Internet para intercambio de información, fue diseñado para publicar tipos de datos independientemente de la plataforma empleada, permitiendo así la interoperabilidad y el comercio electrónico. En las páginas web, XML también separa el contenido de la presentación y, de este modo, permite un sistema estándar para definir e intercambiar datos entre aplicaciones y bases de datos
Tradicionalmente, desde una base de datos se podían solicitar dos clases de XML: XML estático almacenado dentro de la base de datos y XML dinámico generado a partir de los datos contenidos en la base de datos.
Introducción al XML
XML (eXtended Markup Language) es un lenguaje para la definición de lenguajes de etiquetas, lo que llamaríamos "metalenguaje". XML va a indicar como pueden ser creados otros lenguajes por marcas, define las gramáticas de otros lenguajes.
Este lenguaje es relativamente joven, eso tendiendo en cuenta que la versión 1.0 es una recomendación del World Wide Web Consortium (W3C)1 de Febrero de 1998. Si bien las ideas no son tan nuevas, ya que XML se apoya en la definición del SGML que es un estándar ISO desde los años 80.
Ventajas del XML
-          XML es un lenguaje independiente de la plataforma sobre la que se trabaje.
-          Es UNICODE, lo que hace que pueda ser utilizado en múltiples lenguajes.
-          Independencia de la información con respecto a la representación.
-          Cuando se incluye un cambio en el documento no supone un problema para su interpretación, ya que siempre hay que leer el DTD.
-          XML sigue un estándar.
-          Los datos solo dependen de los datos en si, no de su formato.
-          Para acceder a la información se puede utilizar una representación a alto nivel y no a bajo nivel como con el HTML.

¿Sustituye XML al HTML?

La respuesta a esta pregunta es no. HTML es un lenguaje destinado al diseño de páginas Web y que ha sido definido mediante el metalenguaje SGML.
XML nos permite la definición de lenguajes para el intercambio de información. Al ser XML un subconjunto del SGML, podríamos definir el lenguaje HTML mediante XML. Si bien cubriríamos una serie de inconsistencias como:
-          El uso o no de comillas en los atributos
-          Que las etiquetas deben de tener un cierre y un inicio, no pudiéndose dejar solas. O bien, si usamos una etiqueta sola, esta debe de ponerse en la forma .
 Con la corrección de estas inconsistencias es con lo que aparece el lenguaje XHTML.
CONCLUSIÓN

Tan solo algunos años atrás, las bases de datos sólo podían utilizarse en el interior de las empresas o en redes locales, pero actualmente el Web ha permitido acceder a las bases de datos desde cualquier parte del mundo.

Sabemos que los datos están en todos lados actualmente, en PCs de escritorio, en redes locales, en Internet.    Pero para que esta  información puedan obtenerlas los usuarios o clientes es necesario que exista un enlace,  usando un sistema de administración de bases de datos.     Estas facilidades le permite a los usuarios estructurar sus datos para encontrar fácilmente respuestas, compartir fácilmente información y construir soluciones que ayuden a todos a tomar mejores decisiones de negocio.
En este trabajo hemos visto distintas herramientas que tienen como función establecer una comunicación entre la base de datos y el web.    Para la integración de estas bases de datos con el Web es necesario contar con una interfaz que realice las conexiones, extraiga la información de la base de datos, le dé un formato adecuado de tal manera que puede ser visualizada desde un browser del Web, y permita lograr sesiones interactivas
Para efectuar  una requisición de acceso desde el Web hasta una base de datos no sólo se necesita de un browser del Web y de un Servidor Web, sino también de un software de procesamiento (aplicación CGI), el cual es el programa que es llamado directamente desde un documento HTML en el cliente.  Dicho programa lee la entrada de datos desde que provienen del cliente y toma cierta información de variables de ambiente.   El método usado para el paso de datos está determinado por la llamada CGI.
Las aplicaciones del CGI  son numerosas: herramientas de búsqueda, formas de registro, libros de visitas, contadores de accesos, sistemas de bases de datos, grupos de discusión, personalización de páginas, tiendas y catálogos electrónicos, y más. La gran mayoría de las aplicaciones que existen en la WWW actualmente, dependen exclusivamente del CGI.
Uno de los usos más comunes de un script CGI es enviar por correo datos a una dirección de e-mail.
En resumen  una base de datos en la web debe constar de un; Servidor web, Servidor de aplicación, Cliente web, Programa CGI (opcional), Base de Datos.

1 comentario:

  1. hola.. esto es interesante sera q tienes algun manual para programar con java y una base en la web?

    ResponderEliminar

Muchas Gracias por tus comentarios ...

Related Posts Plugin for WordPress, Blogger...

ENTRADAS MAS POPULARES

ÚLTIMAS PUBLICACIONES

Recibe todas las actualizaciones de este blog. Sólo haz clic en el botón Me Gusta de Facebook.

Muchas gracias!!!

Powered By | Blog Gadgets Via Blogger Widgets