Cómo difundir su Base de Datos a una audiencia mayor: Un experimento con Isis en Titulo la Web Norsworthy, Kent - Autor/a; Navarro, Gustavo - Autor/a; Autor(es) Buenos Aires Lugar INFO LAC Editorial/Editor CLACSO 1996 Fecha Colección Internet; Bases de datos; Isis; Temas Artículo Tipo de documento http://bibliotecavirtual.clacso.org.ar/clacso/raec/20100723015151/isis.pdf URL Reconocimiento-No comercial-Sin obras derivadas 2.0 Genérica Licencia http://creativecommons.org/licenses/by-nc-nd/2.0/deed.es Segui buscando en la Red de Bibliotecas Virtuales de CLACSO http://biblioteca.clacso.edu.ar Consejo Latinoamericano de Ciencias Sociales (CLACSO) Conselho Latino-americano de Ciências Sociais (CLACSO) Latin American Council of Social Sciences (CLACSO) www.clacso.edu.ar Navarro, Gustavo; Norsworthy, Kent. Cómo difundir su Base de Datos a una audiencia mayor: Un experimento con Isis en la Web. CLACSO. 1996 Cómo difundir su Base de Datos a una audiencia mayor: Un experimento con Isis en la Web Colección RAEC Self-organization in Open Source Communication Networks. Red Académica Electrónica de CLACSO -RAEC- (CLACSO’s Electronic Academic Network -EANC-) case Gustavo Navarro y Kent Norsworthy INFO LAC, Programa de la Sociedad de la Información para América Latina y el Caribe, Quito, Ecuador Kent Norsworthy University of Texas , Latin American Network Information Center (LANIC) [email protected] Gustavo Navarro Consejo Latinoamericano de Ciencias Sociales (CLACSO), Argentina [email protected] Introducción En esta investigación, propusimos evaluar la factibilidad de convertir bases de datos desarrolladas en ambiente PC para su difusión en la WWW. Para esto, evaluamos varios productos, elaborados en diferentes partes de mundo, EasyWeb (Italia) y WebIsis (Polonia), para citar dos ejemplos. Durante los primeros años, la presencia de bases de datos en la WWW fue bastante escasa, debido sobre todo a la ausencia de programas que tuvieran la capacidad de actuar como intermediario en el ambiente cliente-servidor de WWW. La solución para algunos llegó con el madurar de paquetes para bases de datos relacionales a gran escala, como los conocidos Oracle o Informix. Si bien este tipo de productos ha resultado en una cada vez mayor presencia de diferentes tipos de bases de datos en la WWW, estos tienen varios limitantes para los centros de investigación latinoamericanos que pudieran desear difundir sus bases de datos por este medio. Sobre todo, las limitaciones son el alto costo y los requerimientos de hardware necesarios para correrlos......... De este modo, muchas instituciones de la región que producen bases de datos se habían visto frente a la necesidad de un producto que llenara varios requisitos: que fuera de relativamente bajo costo; que se pudiera implementar en amplia variedad de servidores y plataformas; y, quizás más importante, que tuviera relativa facilidad técnica de poder trabajar con las bases de datos ya desarrolladas en Micro CDS/ISIS. Nuestra investigación determinó que la herramienta que mejor reúne estas características es el programa WWWISIS, desarrollado por BIREME. Las ventajas de 1 WWWISIS para cualquier institución latinoamericana que ya tiene sus bases de datos en Micro CDS/ISIS son: - Relativamente bajo costo (US$150 para la licencia, que incluye un Manual Técnico y acceso a apoyo por medio del correo electrónico). - Es totalmente compatible con los formatos Micro CDS/ISIS. - Existen versiones para varias plataformas (siete productos en total, para varias maquinas Unix; PC-Linux; y PC-DOS) - Es un programa muy robusto, con mucha capacidad de manipular formatos de ingreso y salida, a la vez que procesa los pedidos con bastante velocidad. - Siendo un producto que corre en el servidor WWW directamente con la base de datos, incluye disponibilidad de actualizar o agregar nuevos récords directamente, en vez de tener que correr una nueva conversión para cada actualización. En resumen, nuestra meta fue encontrar una herramienta que pudiera dar una mayor difusión entre la comunidad de investigadores latinoamericanos, y del resto del mundo, de las bases de datos producidas dentro de nuestra región. La mayoría de las bases de datos ya existentes en este sentido han sido desarrollado en Micro ISIS. Por eso, estamos seguros que, siguiendo los pasos descritos en esta ponencia, muchas instituciones pueden contribuir a un gran incremento de sus bases de datos por medio de Internet. WWWISIS En la etapa de desarrollo del presente producto se realizó en la plataforma Linux 1.2.13, el servidor web apache 1.2.4 y el programa wwwisis para dicho sistema operativo. Adicionalmente se exportó una base de datos Micro CDS/ISIS ver 3.07 (para DOS) en formato ISO, junto con los demás archivos de la base de datos; por lo cual se emplearon los procedimientos LOADISO y FULLINV provistos con la herramienta wwwisis. La base de datos en la cual se realizaron las pruebas es la base proj (proyectos de investigación en curso desarrollada en el Consejo Latino-americano de Ciencias Sociales). Instalación La presente instalación se realiza sólo para Linux 1.2.13 Adquisición del Software de wwwisis El software de wwwisis conjuntamente con sus archivos es distribuido gratuitamente por BIREME (Brasil), por FTP en brme.bireme.br, y se debe cambiar al directorio wwwisis, y luego se deberá elegir la plataforma correspondiente , en este caso para Linux el directorio es pc. Bajo web la dirección es: http://www.bireme.br/wwwisis.htm. Una vez que tenemos el programa debemos colocar los archivos en un directorio provisto para la base de datos por ejemplo: En el caso de que algunos archivos no estén ejecutables debemos hacerlo. Para ello debemos poner: chmod 755 /home/xxxx/public_html Donde xxxx , corresponde al nombre del directorio, en este caso por ejemplo, isis.... Archivos de la base de datos 2 -Transferir los archivos proj.iso , proj.fst y proj.pft en modo ascii al directorio /home/proj/public_html -Ejecutar el procedimiento loadiso para crear el archivo maestro del archivo iso /home/isis/public_html loadiso.sh proj.iso proj - Ejecutar luego el procedimiento fullinv para generar el o los archivos invertidos /home/isis/public_html fullinv.sh proj proj.fst proj PRUEBAS 1 Después de haber instalado wwwisis y los archivos de la base de datos ISIS, se puede probar ejecutar el programa desde la línea de comandos del sistema operativo de la siguiente manera: /home/isis/proj/public_html/ wwwisis db=proj to=3 [email protected] Acentos y eñes en ISIS Se debe generar una base de datos pequeña con dos campos de nombre html. La misma tiene que tener por ejemplo la siguiente característica: fdt 1 ascii 10 x 2 html 10 x fst 1 0 mhu,v1 2 0 mhu,v2 También se deberán generar la hoja de salida y el formato de entrada. Ejemplo de una hoja de entrada con sus datos: ascii: é html: é Una vez que tenemos generada la base de datos debemos correr los procedimientos loadiso.sh y fullinv.sh de la siguiente manera: /home/isis/public_html/ loadiso loadiso.sh html.iso html /home/isis/public_html fullinv.sh html html.fst html Con lo cual generamos el archivo maestro de la base de datos y los archivos invertidos. PRUEBAS 2 Después de haber instalado wwwisis y los archivos de la base de datos ISIS, puede probar ejecutar el programa desde la línea de comandos del sistema operativo de la siguiente manera: /home/isis/proj/public_html/ wwwisis db=proj gizmo=html to=3 [email protected] Nos debe dar como resultado el despliegue de los datos con los correspondientes tres registros. Pasos necesarios para configurar los escritos cgi en el webserver y luego correr wwwisis Uno de los webserver más conocidos es el Apache web server .Para configurar una sencilla aplicación y por consiguiente, para que pueda correr la base de datos en la web, se deberán armar distintos archivos y colocarlo en el directorio cgi CGI, Escrito/Programa, y Formulario HTML Después de instalar el software WWWISIS y cargar su base de datos con los procedimientos loadiso y fullinv, el próximo paso a seguir es hacer que el programa funcione en ambiente cliente-servidor. Para esto, se utiliza la funcionalidad CGI del servidor Web, que permite al cliente ejecutar programas o rutinas desde el Browser, y HTML, que nos permite transferir la información de búsqueda del usuario al servidor, y 3 luego transferir los resultados de la búsqueda de regreso al usuario, siempre en formato HTML. WWWISIS se ejecuta como una línea de comando que es especificado en un escrito CGI. El escrito puede ser armado en cualquier lenguaje para este fin, como son Shell o Perl. El funcionamiento del programa WWWISIS esta controlado por un conjunto de parámetros que pueden ser escritos en la misma línea de comando, o como líneas de un archivo. Todos los parámetros disponibles se encuentran, con su respectiva definición y sintaxis, en el Manual de WWWISIS. Entre los mas importantes son: el nombre de la base de datos donde se va a efectuar la búsqueda; una estrategia de búsqueda, como por ejemplo una expresión booleana; y un formato para desplegar los resultados..... Entonces, un ejemplo de una búsqueda desde la línea de comando sería: Wwwisis db=proj bool=salud pft=proj.pft Este comando correrá el programa WWWISIS, buscando todas las ocurrencias de la palabra salud, y arrojará los resultados conforme el contenido del archivo proj.pft (en formato ISIS). Si ejecuta en su instalación una prueba parecida desde la línea de comando y le arroja los resultados, ya va bastante avanzado hacia el final. Solo falta agilizar el proceso utilizando CGI y HTML. WWWISIS puede leer y procesar datos no solamente desde la línea de comando, sino también los que le son transferidos por el servidor Web con los métodos para formularios GET o POST, siempre por medio del parámetro CGI. Esto facilita la manipulación de los datos enviados por el servidor Web a la aplicación CGI. Para esto, WWWISIS trabaja con lo que se llama un «registro virtual CGI.» A ese registro, se puede dar diferentes formatos por medio de los parámetros CGI, CMD, y PROLOG. Si el parámetro CGI está presente, WWWISIS almacena los datos enviados por el servidor Web en el campo tag 100 del registro virtual CGI. WWWISIS requiere que estos datos sean estructurados en parejas de elementos, como son en el caso de los formularios HTML, el nombre de la variable (name) y su valor correspondiente (value). Estas parejas son almacenadas por WWWISIS dentro del registro virtual en el campo de tag 100, dentro de los subcampos ^n y ^v. El valor del parámetro CGI hace referencia a un archivo que contiene una especificación de formato y estas líneas son leídas por WWWISIS como parámetros de ejecución. Esta es la operación que hace posible generar dinámicamente los parámetros de WWWISIS..... El siguiente ejemplo muestra el llamado a WWWISIS con el parámetro CGI: Wwwisis cgi=param.cgi En este caso, param.cgi es un pequeño archivo que contiene la especificación de formato que generara los parámetros generales de ejecución, una por cada línea del archivo. A continuación, un ejemplo: ‘db=/home/isis/public_html/proj’/ ‘gizmo=/home/isis/public_html/html’/ ‘bool=’,(if v100^n = ‘estrategia’ and p(v100^v) then v100^v fi)/ ‘prolog=»<htmlgt;<bodygt;<h1>Aquí el Resultado de su Búsqueda</h1gt;»n12345'/ ‘pft=@/home/isis/public_html/proj3.pft’/ ‘epilog=»* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * </body><h2>Gracias por usar el Prototipo</h2> 4 <br>Comentarios a <a href=mailto:[email protected]>[email protected]</a></html>»n12345'/ Viendo cada línea por aparte: ‘db=proj es simplemente donde se indica el nombre de la base de datos ‘gizmo=html’ es donde se indica el nombre de la base de datos que va a sustituir los acentos en ISIS por acentos en HTML ‘bool’= es donde se da formato al campo de tag 100 para obtener la expresión booleana ingresada por el usuario en una variable con nombre ‘estrategia’ en nuestro formulario HTML (ver abajo). ‘prolog= y ‘epilog= se utilizan para controlar, en HTML, lo que correspondería al encabezado (Header) y pie de pagina (Footer) del documento resultado de la búsqueda. A su vez, ‘[email protected]’ es donde se especifica el nombre del archivo que contiene el formato de salida del cuerpo del documento...... Recuerde que el archivo *.pft con el formato de salida tiene que tomar, como punto de referencia, el archivo *.pft de la base de datos en ISIS, conservando los nombres e identificadores de campos, etc. Pero también dentro del archivo pft, se pueden introducir comandos HTML, por ejemplo para especificar los atributos de los campos en el resultado. Una vez armado el archivo de parámetros, que se puede hacer como un archivo corriente con cualquier editor, el próximo paso es utilizar un lenguaje de escrito, como Shell o Perl, para crear un pequeño escrito que invoca el programa WWWISIS con los parámetros del archivo arriba mencionado. A continuación, el ejemplo de un escrito utilizando Shell: #!/bin/sh echo Content-type :text/html echo /home/isis/public_html/wwwisis [email protected] En este ejemplo, básicamente estamos señalando que es un escrito en shell, donde se encuentra shell, que estamos trabajando con archivos de tipo texto y html, y el paso hacia el programa wwwisis y hacia el archivo de parámetros de cgi. Este pequeño archivo tiene que residir en el directorio cgi-bin del servidor Web y tiene que ser habilitado para ejecución. En su defecto, tiene que ser colocado en un directorio donde el servidor esta configurado para correr escritos. Consulte la documentación de su servidor y sistema operativo para información especifica sobre como correr escritos cgi en su servidor, y como armar escritos en Shell, Perl, o otro lenguaje parecido. La ultima pieza para armar todo el rompecabezas es el formulario HTML. El formulario HTML es donde todos los elementos previamente descritos son enlazados. Es atributo del formulario recoger los datos que ingresa el usuario, o sea su estrategia de búsqueda; transferir estos datos a WWWISIS para que esta jale los resultados corriendo el escrito CGI. Estos resultados son formulados según los parámetros de archivo param.cgi y *.pft y devueltos al Browser del mismo usuario.... Las líneas mas imprescindibles del formulario son: <form action=»busqueda» method=»POST»> <input type=hidden name=»escondido» value=»»> Ingrese su estrategia de búsqueda: <input type=text name=»estrategia»><br> <input type=submit value=»Ejecutar búsqueda»> En este ejemplo, el campo form action= es donde se especifica el nombre del escrito cgi (recuerde que éste, a su vez, llama a WWWISIS e invoca el archivo de los parámetros) 5 y el método, o sea method=post. Para una búsqueda de texto completo, el value tiene que ser nulo, o sea value=»». El espacio donde el usuario coloca sus términos de búsqueda son controlados por xxx Finalmente, le da al usuario un botón para oprimir cuando haya ingresado su termino de búsqueda. En todos los ejemplos aquí esbozados, de los archivos cgi, shell, y la forma html, hemos tratado de quedar con lo mas rudimentario, puesto que es mas conveniente ir paso a paso durante la instalación para que se logre que la implementación funcione bien con parámetros básicos. Luego se puede ampliar con muchas modificaciones, algunos de ellos especificados en el Manual de WWWISIS, y otros a nivel del formulario HTML. Como herramienta, tanto el WWWISIS como los CGI son muy poderosas. Nuestro intento aquí ha sido la de esbozar nada mas el comienzo de la obra para las bases de datos de ISIS. Para terminar este apartado, un resumen de la cadena de pasos, archivos y funciones arriba descritos. Al final de todo el proceso esta el usuario, con su cliente o browser. Allí con él o ella, está un formulario html. La función del formulario es recoger la estrategia o términos de búsqueda del usuario y enviar esos datos al servidor Web, que a su vez invoca el programa o escrito CGI que está especificado en el atributo ACTION del formulario. A su vez, el escrito CGI levanta el programa WWWISIS con los parámetros del archivo especificado en el escrito CGI y con los datos recogidos por la forma. El resultado generado por WWWISIS es formulado para HTML y devuelto al cliente, o sea al Browser del usuario.... Qué es linux? Linux es una implementación del sistema operativo UNIX (uno más de entre los numerosos clónicos del histórico Unix), pero con la originalidad de ser gratuito y a la vez muy potente, que sale muy bien parado (no pocas veces victorioso) al compararlo con las versiones comerciales para sistemas de mayor envergadura y por tanto teóricamente superiores. Comenzó como proyecto personal del -entonces estudianteLinus Torvalds, quien tomó como punto de partida otro viejo conocido, el Minix de Andy. S. Tanenbaum (profesor de sistemas operativos que creó su propio sistema operativo Unix en PCs XT para usarlo en su docencia). Actualmente Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red Internet, desde donde una gigantesca familia de programadores y usuarios aportan diariamente su tiempo aumentando sus prestaciones y dando información y soporte técnico mutuo. La versión original -y aun predominante- comenzó para PCs compatibles (Intel 386 y superiores), existiendo también en desarrollo versiones para prácticamente todo tipo de plataformas: http://www.cs.us.es/archive/linuxppc/PowerPC http://www.geog.ubc.ca/sparclinux.html Sparc http://www.azstarnet.com/~axplinux Alpha http://www.fnet.fr/linux-mips/ Mips etc. De todas ellas la más reciente en este momento es la versión para http://www.mklinux.org»PowerMac (el PowerPC de Apple) basada en el microkernel 6 Mach 3.0 y de la que ya hay una distribución para desarrolladores avalada directamente por Apple y OSF pero conservando el espíritu (gratuito, de libre distribución, etc.) de la versión original. Cómo conseguirlo? La primera fuente para conseguir el sistema Linux es la propia red Internet, y es donde estarán siempre las últimas versiones y las aplicaciones más actualizadas en muchos servidores de FTP anónimo. Otra vía muy frecuente, de interés para principiantes y para quienes no deseen o no puedan permitirse copiar tanta cantidad de información a través de la red, es mediante las versiones comercializadas en CDROM. Hay empresas que se dedican a elaborar CDROMs de bajo coste con recopilaciones de software, manuales, etc. El corazón del sistema es el mismo, aunque pueden tener externamente presentaciones y formas distintas de instalación. Hay revistas especializadas que también suelen incluir CDs con alguna versión de Linux. Una ventaja (para muchos usuarios termina siendo un inconveniente) es la gran rapidez con la que se desarrolla Linux. Constantemente llegan a los principales servidores Linux en la red actualizaciones del núcleo del sistema, de aplicaciones, utilidades, manuales y documentación, etc. Es bueno estar al día, seguir con atención su evolución y aprovechar las mejoras que se incorporen, pero en la mayoría de los casos no vale la pena estar reinstalando software por el simple hecho de ser una nueva versión, sino que hay que ser un poco selectivos, al menos con el software. En el caso de los manuales, How-To’s, grupos de noticias y/o listas de correo sí que vale la pena estar «a la última», sobre todo porque es allí donde nos sacarán de apuros cuando agotemos nuestros propios recursos... Dónde están los manuales? Como ocurre en todas las versiones de Unix, el primer sitio donde mirar cuando tenga una duda concreta sobre tal comando, fichero de configuración, etc. es la orden ‘man’, que incluye la ayuda de referencia de Unix. Pero sólo es útil en ese ámbito, cuando ya se sabe más o menos lo se que busca, y sólo se necesita aclarar dudas concretas. Para todo lo demás la mejor fuente de información es, cómo no, la propia red. En ella están disponibles tanto libros completos (de los que algunas editoriales especializadas han publicado versiones en papel) como la colección «Linux HOWTO», de la que este documento forma parte. Hay una HOWTO para prácticamente cualquier tema. Su objetivo es cubrir, mediante manuales breves, concisos y específicos, cualquier duda que pueda surgir. Se actualizan permanentemente, y se distribuyen a través del denominado «Linux Documentation Project» (LDP) en Internet. La misma información se publica en muy diferentes formatos, orientados tanto a la búsqueda y consulta en línea como a su lectura convencional. Todas las versiones de Linux incluyen estos manuales (al menos la última edición disponible en el momento de recopilar el CDROM correspondiente), y al final de este documento se aportan algunas de las muchas direcciones para consultar en la red. 7 Conectividad de Linux Uno de los puntos muy fuertes de Linux es su gran conectividad: incluso con recursos modestos en hardware puede ser un hábil servidor de red y convivir prácticamente con cualquier configuración que ya tengamos funcionando en nuestra red. A medida que mejoremos el equipamiento, Linux aprovechará todos los recursos convirtiéndose en un potente centro de servicios. Como digno miembro de la familia Unix, el entorno nativo de red en el que ha nacido Linux es el TCP/IP, así que nos moveremos en Internet y en las redes locales basadas en esta familia de protocolos . Puede actuar tanto de simple cliente hasta como una potente estación de trabajo de bajo coste, pasando por un XTerminal con todo su entorno gráfico con absolutamente todo el software necesario, ya incluido o de más o menos fácil instalación. En el nivel físico , Linux puede conectarse con otros Linux o con cualquier otro sistema usando casi cualquier cosa: cableado serie, paralelo, modems convencionales, tarjetas RDSI, Frame Relay, redes locales ethernet ó token ring, radiopaquete (AX.25 para radio-aficionados), etc. En cuanto a protocolos de red, lo que lleva en la sangre es el mencionado TCP/IP, pero puede acceder (como cliente o como servidor, según los casos) a redes basadas en IPX (Novell), AppleTalk (Macintosh) y SMB (red LanManager para conectar con Windows para trabajo en grupo, Windows 95 y Windows NT). Datos necesarios - www.sunsite.edu/LDP/ - www.clacso.edu.ar/~isis/buscando.html Bibliografia A continuación citamos algunas de las obras que fueron consultadas en el transcurso de nuestra investigación o que creemos pueden ser utiles para quienes quieren replicar el proceso que hemos esbozado aquí. La bibliografia incluye libros y sitios en Web. Aparte, hay algunas direcciones en Web de referencias puntuales que estan citadas directamente en el texto de la ponencia. Estas no requieren de mayor ampliacion aqui. - Databases on the Web: Designing and Programming for Network Access, - Patricia Ju, M&T Books, 1997. - Oracle Databases on the Web: Learn to Create Web Pages That Interface with Database Engines, Robert Papaj and Donald Burleson, Coriolis Group, 1997. - Webmaster’s Building Internet Database Servers With CGI, Jeff Rowe, New Riders, 1997. - Web Database Primer Plus, Piroz Mohseni, Waite Group Press, 1996. - Learning Perl, 2nd Edition, Randal L. Schwartz & Tom Christiansen, O’Reilly & Associates, 1997. The Linux Internet Server, Kevin Richard, MIS:Press Slackware 8 Series,1997. - Apache: The Definitive Guide, Ben Laurie & Peter Laurie, O’Reilly & Associates, 1997. - Web Server Technology: The Advanced Guide for World-Wide Web Information Providers, Nancy Yeager and Robert McGrath, Morgan Kaufmann Publishers, 1996. - CGI Programming Unleashed, Dan Berlin, Sams.net, 1996. - CGI Programming on the World Wide Web, Shishir Gundavaram, O’Reilly Associates, 1996. - Computer Networking in Latin America and the role of UT-LANIC, Kent Norsworthy, paper delivered at the Seminar on Latin American Library Acquisition Conference, Athens, Georgia, April 1995. - The UNESCO micro CDS/ISIS Software, UNESCO, URL: http://www.unesco.org/webworld/isis/isis.htm - Linux Documentation Project, Sunsite, URL: http://sunsite.unc.edu/LDP/ - Manual del Usuario: Redes y Comunicaciones Electronicas, Gabriela Amenta y Gustavo Navarro, CLACSO, URL: http://www.lanic.utexas.edu/la/region/networking/clacsoman.html - Manual Practico de HTML, Alvaro Martinez Echevarria, Universidad Politecnica de Madrid, España, 1995, URL: http://www.etsit.upm.es/~alvaro/manual/manual.html - Proyecto LUCAS: Linux Documentation en Castellano, URL: http://www.infor.es/LuCAS/ - WWWISIS de BIREME, BIREME, URL: http://www.bireme.br/wwwisis.htm Para mayor información favor contactar a: Kent Norsworthy, University of Texas Gustavo Navarro, CLACSO Fuente:G. Navarro - K.Norsworthy 9