El estado actual de las tecnologías de multimedia interactivo off-line y de los entornos WEB, evidencia una convergencia de las mismas hacia un futuro común que ya empieza a ser una realidad. Teniendo en cuenta este hecho, es necesario conocer las limitaciones y ventajas de 'unir' ambos entornos, para de esa manera poder tener suficientes elementos de juicio a la hora de seleccionar un tipo u otro de solución técnica para un proyecto concreto.
Para poder entender claramente cómo se está llevando a cabo esta fusión, debemos definir en primer lugar de qué estamos hablando. Aunque el término multimedia se haya utilizado profusamente dentro del mundo informático, hay que definir qué es multimedia dentro del WEB. Dentro de las definiciones más generalistas y conservadoras de lo que es multimedia en general, encontramos las derivadas de lo que se conoce como hipermedia, que no es más que la evolución lógica del hipertexto. No obstante, que la definición de multimedia haya derivado del concepto hipermedia no implica que esté directamente relacionado con el mismo. Muy al contrario, pues hoy día se ha llegado a la conclusión acertada de que lo que no hay que hacer es utilizar el hipertexto o los hipermedia para definir lo que es multimedia. En esa línea la mayoría de autores huyen de las definiciones tradicionales y utilizan dos fundamentos comunes para definir lo que es. El primero de ellos es que en multimedia se utilizan de forma coordinada diferentes tipos de estímulos sensoriales, teniendo muy en cuenta que directamente no se imponen requisitos al respecto, ni tan siquiera tecnológicos. El segundo, que el uso de diferentes tipos de estímulos tiene como fin el de aumentar el grado de eficacia del sistema de cara a su interacción sobre el usuario.
Tratar de utilizar estos términos para definir multimedia en el WEB podría parecer muy vago, pero realmente no lo es.
Los principios básicos que fundamentaron lo que ahora conocemos como World Wide Web, son en realidad los mismos que hemos mencionado. El WEB se creó con la idea fundamental de hacer sencillo y eficaz compartir información de diferentes tipos y en diferentes formatos, lo que se ajusta muy bien a las ideas mencionadas. Tal vez el único obstáculo para reconocer que el WEB sí es multimedia, sea comprender que éste se adapta más bien a lo que es multimedia expansivo, y no la idea tradicional del multimedia extensivo.
¿Qué es multimedia expansivo y extensivo? Según
mencionan algunos autores multimedia
extensivo lo podemos definir como aquel que extiende algún otro
medio creado con anterioridad. Veámoslo con un ejemplo. Supongamos
que tenemos un magnífico libro y deseamos crear un entorno multimedia
a partir de este libro. Si añadimos sonido y unas secuencias de
vídeo con unos cuantos menús para acceder a la documentación
tendremos un programa multimedia extensivo, ya que se ha partido de una
base ya creada donde se ha aumentado la documentación con unos cuantos
recursos multimedia. En la actualidad la mayoría de los programas
comerciales que se califican como multimedia se encasillan en el apartado
de extensivos. En multimedia expansivo no se parte de un soporte anterior,
sino que se ha de diseñar todo desde un principio. Este tipo de
programación es mucho más complejo que el anterior, y requiere
más recursos, pero sin duda es mucho más interesante y potente.
Pues bien, el WEB quedaría englobado dentro de este último
grupo, por una razón bien sencilla: las aplicaciones o sistemas
multimedia para este entorno deben ser creados específicamente para
él, ya que los principios que rigen Internet son sustancialmente
diferentes de todos los demás medios.
Una vez visto que los principios son los mismos, lo que hace falta conocer para entender la convergencia entre multimedia y WEB, es analizar cómo funciona de verdad el WEB. Éste sistema se apoya sobre dos pilares fundamentales: el HTML y el HTTP. El primero es el lenguaje que se utiliza para describir los documentos que se muestran al usuario. El contenido de estos documentos puede hoy día incluir cualquier tipo de objeto electrónico, aunque su implementación básica está orientada hacia el hipertexto. Así el WEB se convierte en una telaraña digital al existir enlaces hipertextuales entre los diferentes recursos disponibles por todo el mundo. Es importante notar que, en principio, los documentos HTML son sólo el contenedor de los diferentes recursos —a esto existen excepciones, como el texto del documento, que hasta hace muy poco debía ir siempre contenido en el documento—, y que hace que la WEB sea mucho más que un sistema hipertextual, convirtiéndose en un auténtico sistema hipermedia.
Con respecto al protocolo HTTP, éste no es más que un sistema de transferencia de recursos remotos, y no un protocolo para transferir hipertexto, como su nombre tal ver haga pensar (HTTP son las siglas de Protocolo de Transferencia HiperTextual, en inglés HyperTextual Transfer Protocol). Su funcionamiento se fundamenta en el modelo Cliente-Servidor orientado a transacciones, comúnmente utilizado en los entornos de red. El funcionamiento es muy simplemente, ya que los documentos HTML contienen enlaces hacia los recursos, y el protocolo sólo se dedica a recuperar de forma independiente los archivos enlazados de la red. Para definir los enlaces se utilizan los URL —o Localizador Uniforme de Recursos, en inglés Uniform Resource Locator— que no es más que un sistema unificado para referirse a los servicios y recursos que ofrece Internet.
El funcionamiento del web
Hemos mencionado que el WEB utiliza el principio cliente-servidor. Esto aunque a priori pueda parecer trivial, es muy importante porque realmente este principio es el que proporciona a los sistemas multimedia WEB la flexibilidad necesario como para aplicar sus principios en otros entornos, incluidos el mundo multimedia off-line. Además hace tiempo que la informática tomó un camino marcadamente distinto al de la tradicional estructura de máquina«aplicación«usuario. El desarrollo de la tecnología ha traído grandes revoluciones dentro del mundo del hardware que han influido en las ideas que se utilizan para desarrollar software. Un ejemplo de ello tiene que ver con la aparición del principio Cliente-Servidor. El hecho de que cada vez se haga más uso de redes de comunicación entre ordenadores ha propiciado la evolución de la informática distribuida, cuyos principios de funcionamiento son muy diferentes a los de la computación tradicional, con es el caso del principio Cliente-Servidor. Pero aunque las ideas básicas de este principio son sencillas, por las razones argumentadas conviene que lo describamos brevemente.
El método de funcionamiento de este principio es tan sencillo, como el que se observa en la imagen siguiente, y consiste fundamentalmente en dividir la ejecución de las aplicaciones en dos procesos, uno llamado cliente y otro servidor, que se comunican a través de una red de datos. La particularidad del sistema viene determinada tanto por la división entre servidores y clientes, como por la forma en la que se comunican los procesos. El método de comunicación empleado se conoce como “método de establecimiento de contacto”, término que deriva del vocablo anglosajón rendez-vous y que se utiliza profusamente en toda la literatura relacionada.
El principio cliente-servidor
Con este principio subyacente en el protocolo HTTP y utilizando el lenguaje HTML, el WEB puede comportarse perfectamente como un sistema multimedia. Esto es así porque dicho lenguaje incorpora de por sí, los elementos necesarios. Su nombre significa literalmente Lenguaje de Marcas para Hipertexto —en inglés HyperText Markup Language—, pero es más bien un lenguaje de descripción de páginas (al estilo del PostScript), independiente de la plataforma de visualización, que permite además establecer enlaces entre diferentes documentos. Es decir: el documento HTML contiene toda la información necesaria sobre su aspecto y su interacción con el usuario. Su estructura se apoya en otro lenguaje más estándar, el SGML, que ya existía cuando se desarrolló el HTML. La idea inicial era que el HTML sirviese para describir la estructura y el contenido de un documento, pero la tendencia actual es a utilizarlo también para definir aspectos muy concretos de la apariencia del documento, como la tipografía o el posicionamiento. La diferencia fundamental que presenta con otros lenguajes similares, es la potencia de descripción unida a la fácil lectura de los códigos de control. El ‘código’ HTML se puede entender directamente por un programador sin necesidad de herramientas de conversión, o de interpretación, lo que lo hacen ideal tanto para la codificación manual como para la mecánica.
Aunque el HTML es un lenguaje de descripción de páginas, la unidad fundamental del lenguaje no es la página, sino el documento. La página WEB es la unidad que visualiza el cliente, que en muchos casos tiene una relación directa con un documento HTML; pero en otros no, como sería el caso de documentos con marcos, documentos incrustados o documentos incluidos. El documento se compone de dos partes: una cabecera, que contiene información sobre el propio documento —autor, título, referente, localizador, etc.—, y que no tiene que visualizarse; y el cuerpo del documento, que contiene el texto del documento junto a los demás elementos.
Para identificar las diferentes partes del documento, así como los elementos no textuales, y los atributos de visualización, se utilizan una serie de marcas, o etiquetas —del inglés tag—. Estas marcas definen las estructuras dentro del documento, y son las que marcan la apariencia de los elementos multimedia contenidos en el documento.
Las marcas de enlace —del inglés link— son uno de los elementos más importantes del lenguaje. Gracias a estas marcas es posible convertir un simple documento en información hipertextual. La marca fundamental es la que indica un enlace con otro documento, y es aplicable a cualquier elemento del documento, tal como una palabra, una imagen u otro recurso visual. El enlace debe apuntar hacia algún recurso de la red utilizando una URL, que bien puede ser absoluta (no depende de otras direcciones) o relativa (depende de la dirección de la página actual). Estas referencias pueden apuntar no sólo a otros documentos, sino también a partes dentro del mismo documento.
Algunas etiquetas básicas del lenguaje HTML
Todo lo visto hasta ahora demuestra la viabilidad del uso del WEB como
elemento estructural de multimedia. No obstante, no se ha mencionado nada
de la interactividad, que es otro de los elementos fundamentales del multimedia
expansivo. Para hacer frente a las carencias interactivas del HTML, se
recurre al lenguaje JavaScript. Éste, bien al contrario que el HTML,
es un auténtico lenguaje de programación, compacto y orientado
a objetos. El origen de este lenguaje se remonta a la versión 2.0
del cliente Netscape™ Navigator. La idea original era dotar al HTML de
las extensiones necesarias para dinamizar las páginas WEB. Para
hacerlo se concibió este lenguaje que se integra en el mismo archivo
fuente que el código HTML y que actúa sobre los elementos
de la página WEB. El JavaScript hereda su sintaxis y estructura
del lenguaje Java®, propiedad de Sun Microsystems®,
pero su estilo de programación, así como de funcionamiento,
es muy diferente, por lo que no hay que confundir ambos lenguajes.
Básicamente el comportamiento del lenguaje JavaScript es muy
similar al de los lenguajes de scripting utilizados en una herramienta
de autor. Por esa razón este lenguaje proporciona todos los mecanismos
necesarios para acceder a los objetos que maneja el visualizador WEB. Como
el JavaScript está destinado a implementar pequeños programas
que actúan sobre el cliente, es ideal para tareas repetitivas y
de control de eventos, aspectos que conforman los puntos fuertes del lenguaje.
Esto le confiere una serie de características especiales:
Jerarquía de objetos manipulables en JavaScript 1.2
Todo lo que hemos comentado hasta ahora tiene relación con el uso tradicional del WEB en Internet. El otro campo de la convergencia son las aplicaciones multimedia off-line. ¿Qué podemos decir al respecto? En primer lugar que la mayoría de ellas utilizan como medio de distribución, la antítesis de Internet: el CD-ROM. Si actualmente Internet es el medio de comunicación por excelencia en el mundo informático, el CD-ROM es el medio de almacenamiento más utilizado para distribuir software. Las razones son muy sencillas: es barato, es versátil y es universal. Su uso está implantado en todas las arquitecturas informáticas modernas, y esa es la razón por la cual se ha extendido tanto.
Pero más interesante que analizar los soportes de distribución es entender cómo trabajan las aplicaciones multimedia off-line. Un primer paso para hacerlo es conocer los elementos multimedia que utilizan, pues de esa forma será después fácil compararlos con los utilizados en la WEB. Dentro del mundo multimedia los elementos son los diferentes tipos de recursos que pueden utilizarse. Normalmente cuantos más elementos estén disponibles para los desarrolladores, de más libertad disfrutarán ellos para realizar buenas creaciones. Dentro del multimedia expansivo, que es la parte que nos interesa, esto es particularmente importante. Cuando se desarrolla una aplicación multimedia desde el principio, es importante centrarse en combinar los elementos de tal forma que se transmita la información al usuario de la forma más eficaz posible. Eso siempre va ha estar condicionado por la arquitectura multimedia disponible; pero no hay que caer en el error de dejar que los requerimientos técnicos marquen los contenidos. Para conseguir un buen trabajo se necesita siempre conocer en detalle aspectos tales como los elementos disponibles, qué posibilidades proporcionan, qué limitaciones técnicas conllevan, qué costos de implementación suponen, etc.
Dentro del mundo multimedia off-line existen infinidad de clasificaciones
sobre los tipos de elementos que conforman el abanico de posibilidades.
Las razones pueden atribuirse principalmente al enorme conjunto de elementos
que existen, casi infinitos, ya que constantemente se inventan nuevas formas
de comunicación. Además, realmente multimedia es un término
muy amplio, que estrictamente podría aplicarse a partir de sólo
dos elementos diferentes. Si, por ejemplo, el texto y las imágenes
son elementos distintos, entonces un simple diario es multimedia; aunque
por supuesto, éste no entra dentro del contexto que estamos considerando.
Este pequeño ejemplo sirve para ilustrar la importancia de disponer
de una clasificación de los elementos.
No obstante, tal y como se reconoce, no existe ninguna buena clasificación.
Sin embargo, eso no tiene porqué ser un problema. Cuando se dispone
de una arquitectura concreta, entonces el conjunto de elementos es limitado,
y por tanto, susceptible de disponer de una clasificación. Partiendo
de esta premisa, es mucho más útil clasificar los soportes
físicos que soportarán los elementos. Esto es así
porque los recursos físicos de la máquina son los que determinan
qué tipo de elementos multimedia se pueden utilizar. Así
que son estos los que ayudan a definir la arquitectura. Una clasificación
acertada es la que divide los soportes físicos según sus
características en los siguientes grupos:
Una vez que sabemos cómo agrupar los diferentes soportes físicos, estamos en condiciones de describir los elementos multimedia propiamente dichos. Éstos harán uso de uno o más soportes físicos. Reconocer esta circunstancia es muy importante, ya que, para que cierto elemento pueda utilizarse hay que contar con todos los soportes físicos involucrados. Además, existen elementos que son opcionalmente dependientes de los soportes. Por ejemplo, el texto puede transmitirse al usuario utilizando una pantalla de visualización, pero también usando unos altavoces junto a un sintetizador de voz. Teniendo todos esos aspectos en cuenta, es posible especificar claramente todos los requerimientos de la plataforma, que serán la suma de todos los soportes que necesiten cada uno de los elementos utilizados según las opciones contempladas.
Dentro del ámbito de las aplicaciones multimedia off-line, los
elementos habitualmente más utilizados se relacionan con dispositivos
digitales de entrada y salida, analógicos de salida y de almacenamiento.
Dentro de esa gama, las referencias al almacenamiento se centran casi exclusivamente
en los discos compactos; y los dispositivos de salida analógicos
sólo se refieren a los monitores y altavoces. En el campo de los
dispositivos de entrada —digitales, se entiende—, la situación típica
no es tampoco muy amplia. Normalmente se utiliza sólo el ratón,
como dispositivo apuntador, o a veces, una combinación de teclado
y ratón. Sin embargo, también son posibles las pantallas
táctiles, los teclados musicales, los dispositivos especiales tales
como botones o sensores individuales, y otros.
En el apartado de elementos relacionados con soportes de salida tanto
analógicos como digitales, encontramos todos los que habitualmente
se relacionan con las aplicaciones multimedia, como son las imágenes,
el vídeo, la música, etc. Dentro de este grupo, y en general
con todos los elementos, las clasificaciones son innecesarias, ya que lo
importante es describir los elementos para analizar qué recursos
utilizan. Basándose en ello, y de forma muy breve, definiremos ‘algunos’
tipos de elementos multimedia —ya que posiblemente el número total
será muy grande—, con el objetivo de que en los próximos
capítulos podamos entender cómo implementarlos y cómo
operar sobre ellos en un entorno WEB.
Los actuales entornos de desarrollo de aplicaciones multimedia cuentan siempre con formatos de archivo propietarios. Esto significa que a la hora de ejecutar la aplicación, hay que recurrir a un reproductor especializado —que proporciona el propio paquete y que normalmente es de libre distribución—, para que procese los archivos multimedia. Dentro del mercado existen dos maneras de hacer esto y almacenar la aplicación: utilizando archivos o usando paquetes.
Métodos de almacenamiento de una aplicación multimedia
en CD-ROM
El método más antiguo, y por ende el más sencillo, es almacenar cada uno de los recursos multimedia en archivos diferentes, y guardar a parte todo el código de control de la aplicación. Al principio era necesario utilizar formatos únicos para cada tipo de elemento, para de ese modo aumentar la velocidad de acceso y no tener que hacer conversiones durante la ejecución. Ahora esta limitación en muchos casos ya no existe, y es posible modificar los recursos de forma sencilla si se respetan los formatos compatibles con el reproductor. Este mecanismo tiene la ventaja de un mantenimiento sencillo y una implementación rápida. El problema es que la ejecución depende mucho de la implementación que utilice el sistema de archivos de la plataforma en la que se va a ejecutar la aplicación.
Para eliminar ese inconveniente se desarrollaron métodos que usan paquetes en vez de archivos. El truco consiste en colocar varios recursos dentro de un solo archivo físico. Con eso se consiguen muchas ventajas. Por un lado es más fácil portar la aplicación de una plataforma a otra, ya que cada sistema de archivos tiene unas características propias, longitud de los nombres, caracteres permitidos, tamaños predefinidos, etc., que pueden estar contemplados dentro del paquete. Por otro lado es posible utilizar técnicas de compresión de datos, uso de tablas de índices, optimización del modo de lectura, etc. Técnicas que de otro modo pueden no estar accesibles en todas las plataformas. Por último, también es posible incluir el propio reproductor en el paquete, y reducir entonces la aplicación a un solo archivo ejecutable que se puede distribuir fácilmente por una red.
Este modelo, sin embargo, cuenta también con sus inconvenientes. Para empezar el reproductor tiene que ser más complejo, ya que debe incorporar un auténtico gestor de volúmenes de archivos. También sucede que el desarrollo de la aplicación se hace más complicado, porque se obliga a generar un paquete compilado cada vez que se quiere probar la aplicación. Por último, al juntar todos los recursos en un solo archivo, o unos pocos archivos, estos tienen al final tamaños muy grandes, lo que dificulta la distribución de la aplicación usando redes de área extensa, ya que hay que leer completamente los archivos para comenzar la ejecución.
Como ya se mencionó al inicio el modelo WEB está orientado al procesamiento transaccional cliente-servidor. Implementar dicho modelo dentro de un disco compacto de datos es muy fácil cuando se da la circunstancia de que la parte servidora se comporta como un servidor de archivos. El funcionamiento es tan sencillo como el que aparece en la imagen siguiente. Como puede verse el visualizador WEB lo único que hace es redirigir las direcciones URL locales a archivos físicos almacenados en los dispositivos de la máquina cliente. Aunque parezca que el sistema es muy simple, realmente sigue el principio cliente-servidor. Si no fuese así no sería posible coger el dispositivo de almacenamiento local y trasladarlo a otra máquina, que funcione como servidor WEB, y conseguir que todo funcione exactamente igual sin tener que hacer ni un solo cambio.
Funcionamiento del modelo Cliente-Servidor WEB en un CD-ROM
Trabajar de esta forma ofrece bastantes ventajas. Por un lado es posible realizar todo el proceso de desarrollo de la aplicación sin necesidad de utilizar un servidor WEB. Esto puede parecer en principio que no tiene mucha importancia, pero téngase en cuenta que cada profesional del grupo de trabajo necesitará una computadora, y entonces cada uno necesitaría su propio servidor WEB. Otra ventaja importante es que esta forma de trabajar hace posible utilizar cualquier tipo de red. No es necesario que la red cumpla el estándar TCP/IP, ya que si los recursos remotos son accesibles a través del sistema de archivos local también estarán disponibles para el cliente WEB. Tal vez parezca que esto no supone una gran ventaja, pues la mayoría de las plataformas modernas soportan la pila de protocolos de red TCP/IP. No obstante, no todos los medios físicos de red son eficientes utilizando el protocolo TCP. Un ejemplo son los medios de difusión, en los que los datos se envían a varios clientes a la vez, como en una red multicast. O también los medios unidireccionales, en los que no es posible utilizar técnicas de aceptación y retransmisión —tal como hace el protocolo TCP—, como es el caso de las emisiones vía satélite, televisión o radio.
Sin embargo, aplicar el modelo cliente-servidor de esta forma en un CD-ROM también tiene inconvenientes. El primero, y principal, es el no poder acceder directamente bases de datos, con la misma sencillez como se hace en Internet. No obstante, existen soluciones parciales al problema. Veamos una de ellas.
En primer lugar es necesario definir en la fase de análisis una base de datos lo más sencilla posible; así como todo el conjunto de consultas necesarias, que se reducirán a las mínimas imprescindibles. En la fase de diseño se debe especificar la estructura de la base de datos adaptándose a los criterios que impone la estructura de un disco compacto de datos. En esta fase también hay describir detalladamente las consultas resultantes del análisis. Por último, en la implementación se codifica toda la aplicación utilizando técnicas de recuperación previa de datos. En la imagen siguiente se muestra gráficamente lo que esto significa.
Paralelismo entre el uso de un servidor y una base de datos en CD-ROM
En un entorno cliente-servidor normal, la parte que actúa como servidor se encarga de recuperar los datos de la base de datos para atender las peticiones de la parte cliente. Este sistema aplicado a la WEB significa que el servidor va a generar una serie de páginas HTML sobre la información de la base de datos a partir de los criterios suministrados por el cliente. En medio de esas circunstancias la idea consiste en definir un conjunto de consultas limitado y perfectamente conocido, consolidar la base de datos para hacerla estática, y entonces generar todas las posibles combinaciones de consultas, que en este caso serán páginas HTML. La única fase de este proceso que no tiene una correspondencia directa es la traducción de las peticiones del cliente en direcciones URL correspondientes a los archivos generados. De todas formas, no existen grandes problemas cuando en la fase de diseño se especifica la manera de hacerlo.
Los únicos aspectos a considerar, que deben estudiarse en la fase de análisis, son la estructura de la base de datos, el conjunto de consultas y el volumen final. Si la base de datos es muy compleja es posible que no pueda implementarse de esta forma por la gran cantidad de páginas que habrá que generar. Igualmente si existen demasiadas consultas también crece el número de páginas. Y finalmente, el volumen propio de la base de datos también determina el tamaño final de la aplicación. A todo ello hay que recordar que no existe una correspondencia directa entre cualquier base de datos y una estructura de directorios, por lo que hay que intentar limitar la complejidad todo lo posible, ya que si no, es posible que la generación de consultas quede incompleta.
Así, a modo de resumen, hemos visto como existen soluciones tecnológicas que permiten unir el mundo WEB con las aplicaciones multimedia off-line, con el fin de utilizar lo mejor de ambos mundos: alta capacidad de almacenamiento, ancho de banda prácticamente infinito; junto con sencillez de utilización y distribución universal. Esperemos poder visualizar en breve gran cantidad de títulos utilizando las técnicas aquí señaladas.
BIBLIOGRAFIA:
Berners-Lee, Tim. “World Wide Web Seminar”. Edición eletrónica publicada en « http://www.w3.org/Talks/General.html ». 1992.
Berenguer, Xavier. “Escribir programas interactivos”.
Edición electrónica publicada en « http://www.iua.upf.es/formats/art/a01et.htm
». Universitat Pompeu Fabra de Barcelona. 1996-99.
Brown, Heather. “Hypermedia
/ Hypertext and Object Oriented Databases”. Chapman & Hall. 1991.
European Computer Manufacturers
Association. “Standard ECMA-262. ECMAScript Language Specification”. 2ª
Edición. Edición eletrónica publicada en «
http://www.ecma.ch/stand/ECMA-262.htm ». 1998.
Fidalgo, Angel “Los sistemas de inteligencia artificial
tutoriales en el desarrollo de sistemas multimedia”. Tesis Doctoral. Universidad
de las Palmas de Gran Canaria. Julio,
1995.
Gibbs, Simon J.; Tsichritzis, Dionysios C. “Multimedia Programming. Objects, environments and frameworks”. Addison-Wesley, ACM Press. 1995.
Martínez, J. Manuel; Hilera, J. Ramón.
“Modelado de documentación multimedia e hipermedia”. Edición
electrónica publicada en « http://www.ucm.es/ info/multidoc/multidoc/revista/cuad6-7/artmulti.htm
». Universidad de Alcalá. 1997.
Nielsen, Jakob. “Hypertext
& Hypermedia”. Academic Press. 1990.
Sommerville, Ian. “Software
Engineering”. 5ª Edición. Addison-Wesley. 1995.
Stallings, William. “Data and Computer Communications”. Prentice-Hall. 1996.
World Wide Web Consortium.
“HyperText Markup Language”. Edición
eletrónica publicada en « http://www.w3.org/MarkUp/ ». 1992-99.
World Wide Web Consortium. “About the World Wide Web”. Edición eletrónica publicada en « http://www.w3.org/WWW/ ». 1992-97.