5.   Herramientas y Utilitarios Desarrollados

En el transcurso de la presente memoria, fueron desarrollados una serie de programas que permiten a un servidor de hipertexto proveer servicios que no son propios o no estaban disponibles en el resto del mundo. Algunos fueron instalados en el servidor WWW del Departamento de Informática, y se encuentran disponibles en el servidor FTP del mismo departamento. A continuación se describen algunos programas y su funcionalidad o aplicación.

5.1.1   News-WWW Gateway

Este programa CGI permite a un servidor WWW poner a disposición pública artículos publicados en algunos grupos del servidor News que sean autorizados. De esta forma, es posible entregar artículos que pertenecen a grupos locales a personas que no tienen acceso directo al servidor News [Parada95].

Los grupos autorizados aparecen en un menú principal, desde donde se puede escoger un grupo de interés a través de un hiperenlace para obtener un listado de artículos disponibles. En la Figura 5.1 se muestra el menú de grupos autorizados en la UTFSM

News-WWW Gateway

Figura 5.1: Grupos News disponibles a través de News-WWW Gateway

La lista de artículos en un grupo aparece dividida en tramos de artículos, comenzando sólo por los artículos más recientes. Al final de un tramo aparece un enlace al siguiente tramo, excepto en el último, aquel de artículos más antiguos. De la misma forma, al comienzo de cada tramo, exceptuando el primero, aparece el enlace al tramo inmediatamente más reciente.

Los artículos son formateados para ser visualizados como documentos hipertexto, identificando aquellos enlaces que aparezcan tanto en el encabezado como en el cuerpo de la carta, los cuales son habilitados para que el usuario pueda saltar al objeto asociado.

Esta CGI es capaz de aceptar referencias al menú general, grupos, porciones de grupos o artículos específicos directamente a través de la URL con la que se invoque. Así, cualquier documento hipertexto puede hacer referencias a artículos publicados, simplemente especificando la URL adecuada.

El acceso a los artículos en el servidor News se hace mediante el protocolo NNTP, no siendo necesario que ambos servidores, WWW y News, estén en la misma máquina. Esto es, en parte, contraproducente, ya que si ambos se encuentran en la misma máquina, o al menos comparten el mismo sistema de archivos, se podría mejorar el tiempo de respuesta si el programa CGI accesara directamente las bases de datos del servidor News sin tener que establecer una conección usando NNTP.

El código fuente de la última versión de esta CGI está disponible en el servidor FTP del Departamento de Informática de la UTFSM, desde Marzo de 1995, y han sido sacadas más de 800 copias. La referencia de este paquete en Internet aparece en [Parada95].

5.1.2   WebCopy

WebCopy [Parada96] es un programa utilitario que permite copiar un archivo desde un servidor WWW remoto hacia la máquina local, utilizando el protocolo HTTP. Si el archivo es un documento hipertexto, WebCopy lo analiza y determina todos los enlaces que el posee, realizando la copia de cada uno de ellos, repitiendo esto para cada documento hipertexto que obtenga, generando una copia local de un conjunto de documentos relacionados.

Debido a que es posible perder el control si se siguen todos los documentos que aparezcan referenciados en un documento hipertexto, ya que prácticamente se podría seguir la pista a todos los documentos disponibles en Internet a partir de uno en particular, WebCopy provee varios mecanismos para poner restricciones al momento de decidir si se sigue o no una referencia en el documento que se analiza.

La principal restrición es que todos los documentos deben residir en el mismo servidor. Esta restricción no puede ser anulada mediante alguna opción de WebCopy. WebCopy genera un reporte de todos los enlaces analizados y desde qué documento lo obtuvo, por lo que el usuario puede usar nuevamente WebCopy para continuar con un documento que está en otro servidor.

Otra restricción que no puede evitarse es que sólo pueden ser seguidos aquellos enlaces que utilizan explícita o implícitamente el protocolo HTTP. Referencias a documentos que residen en servidores Gopher o FTP son ignoradas, y también se genera el respectivo mensaje en el reporte, con la diferencia que para obtener esos documentos o archivos, deberá utilizarse otro programa que entienda el protocolo respectivo.

Restricciones menores y que pueden ser controladas por el usuario, se refieren a la forma en que se da la referencia, es decir, se puede permitir a WebCopy que acepte referencias que indican una ruta de acceso completa y no relativa al documento que se analiza, o a aquellas que indican el nombre del servidor (que debe ser el mismo) o el protocolo HTTP en forma explícita.

Utilizando otras opciones es posible reconstruír la estructura que poseen los documentos en su servidor original, o bien disminuír el tiempo de acceso cuando algunos documentos ya fueron copiados en sesiones anteriores y sólo se desean aquellos documentos inexistentes localmente.

Este programa fue el resultado de la necesidad de obtener copias locales de documentos y manuales en línea respecto a la novedosa tecnología WWW, información no disponible aún en medios impresos en Chile en el año 1994. Usando una copia local, se evitaba el tráfico excesivo de red, y mejoraban considerablemente los tiempos de respuesta.

Este programa fue puesto a disposición pública en Internet en el verano de 1994-1995, obteniendo buena crítica y una considerable demanda, lo cual ha motivado sucesivas mejoras y nuevas versiones. A Marzo de 1997, en la UTFSM se registran más de 12800 accesos al programa, y sobre 32000 accesos a la documentación [Parada96]. Estos datos no consideran las más de 25 copias no informadas que han sido puestas en otros servidores en el mundo, sobre las cuales no se ha registrado el número de accesos, pero que han sido indexadas por algunos servicios de búsqueda del Apéndice F.

5.1.3   Figlet Service

FIGLET es un programa disponible en Internet [Chai96] capaz de reproducir mensajes, cambiando la tipografía del texto para hacerlos más atractivos. Cada letra es representada por un conjunto de caracteres comunes que le dan forma, y que dependen de la tipografía escogida entre las disponibles. Los mensajes pueden tomar aspectos como los de la Figura 5.2.

              ___ _                      _    _                                 
             | _ |_)___ _ ___ _____ _ _ (_)__| |___   __ _ 
             | _ \ / -_) ' \ V / -_) ' \| / _` / _ \ / _` |
             |___/_\___|_||_\_/\___|_||_|_\__,_\___/ \__,_|
                 ____      __                       __ 
                /  _/___  / /____  _________  ___  / /_
                / // __ \/ __/ _ \/ ___/ __ \/ _ \/ __/
              _/ // / / / /_/  __/ /  / / / /  __/ /_  
             /___/_/ /_/\__/\___/_/  /_/ /_/\___/\__/  

Figura 5.2: Imagen generada con FIGLET

Figlet Service [Parada94] es un servicio WWW desarrollado experimentalmente para comprender cómo debe ser escrito un programa CGI, es decir, un programa que es activado por un servidor de hipertexto y que puede generar la respuesta dependiendo de parámetros o condiciones que se den en el momento. En este caso, los parámetros son entregados por el usuario a través de un formulario en un documento hipertexto, y traspasados al programa FIGLET por el servidor WWW, y el documento que recibe el usuario es el resultado generado por el programa.

La Figura 5.3 presenta el formulario en que el usuario puede ingresar el texto a formatear y las opciones que puede escoger.

Este servicio fue instalado en el servidor del Departamento de Informática en Agosto de 1994, y aún permanece activo debido a la popularidad que alcanzó en Internet, pues su URL aparece en diversos catálogos e índices de servicios en Internet [ver Apéndice F]. El promedio mensual de accesos asciende a 24000, según estadísticas realizadas en el período Diciembre de 1996 a Marzo de 1997.

Figlet Service

Figura 5.3: Formulario WWW de Figlet Service

5.1.4   Aindex

Aindex (Archive Index) es un prototipo que genera los archivos de control, para los servidores Gopher y WWW, con el menú (índice) de un repositorio de archivos, como el área FTP, con el fin que los archivos también puedan ser solicitados usando esos protocolos.

A pesar que los protocolos Gopher y HTTP (WWW) proveen mecanismos que permiten navegar por estructuras de directorios, Aindex genera información adicional: tipo de archivo, tamaño, fecha de actualización, y, en el caso de un directorio, número de archivos contenidos recursivamente en él. Los índices generados requieren configuraciones especiales en los servidores, para evitar problemas como los discutidos en el Capítulo 3.3.

Dado que este programa está obsoleto, no tiene sentido discutir las modificaciones requeridas. Tanto este programa como las plantillas para la configuración de los servidores, no están disponibles,y no existe documentación adicional.

5.1.5   Cap-to-HTML

En el momento que comenzó la migración de documentos disponibles en Gopher hacia WWW, se hizo necesario facilitar la instalación del servidor HTTP sobre el área de documentos de Gopher.

Gopher permite poner nombres y descripciones a los archivos y subdirectorios que se encuentran en un directorio de su área de datos. La implementación se hace a través de un subdirectorio llamado “.cap” (caption), el cual contiene las descripciones de cada archivo del directorio.

Un servidor HTTP requiere de un archivo especial que cumpla la función de índice del directorio. Si el archivo no existe, el servidor genera una tabla de contenido con los nombres de los archivos y subdirectorios disponibles, si es que está permitido. El archivo de índice para HTTP puede ser generado a partir de las descripciones disponibles para Gopher. “cap2html” es una pequeña herramienta que realiza esa labor.

Este programa fue publicado a comienzos del año 1995 en un grupo de News que ya no existe (fue reemplazado por una jerarquía de grupos respecto a WWW), y aparece referenciado en algunos de los servicios de búsqueda en Internet. Se le cita con el nombre “$1”, ya que el código fuente contiene marcas de hipertexto, y el parámetro “$1” del lenguaje shell se encuentra entre las marcas para títulos.