1. INTRODUCCIÓN A LA INGENIERÍA WEB
1.1. INTRODUCCIÓN A INTERNET
Internet, es una red de redes informáticas distribuidas por todo el mundo que intercambian información entre sí mediante la familia de protocolos TCP/IP. El Internet es como una gran nube con computadoras conectadas:
Internet surgió de un programa de investigación realizado por la Agencia de Investigación
Avanzados de Defensa (DARPA) de los Estados Unidos sobre la conexión de redes
informáticas. El resultado fue ARPANet en 1969. Esta red crece y a principios de los ochenta se conecta con CSNet y MILNet, dos redes independientes y con la red de la NASA o NSI (NASA Science Internet) y la NSFNet (Nacional Science Foundation Net), lo que se considera como el nacimiento del Internet. Internet significa Internacional Network
of Computers.
Durante muchos años Internet ha servido para que muchos departamentos de investigación de distintas universidades distribuidas por todo el mundo pudieran colaborar e intercambiar información, pero actualmente el Internet es parte ya de los negocios y de nuestra vida cotidiana.
El Internet ha hecho que el mundo empresarial se haya replanteado sus sistemas de comunicación internos y externos y en la mayoría de los casos los haya encauzado vía Internet dando lugar a las llamadas Intranets.
1.1.1. INTRANET
Una Intranet es una red local que utiliza los mismos protocolos que Internet, independientemenete de que esté o no conectada a Internet. Las ventajas que tiene una red LAN de este tipo son dos: independencia de los proveedores habituales de soluciones y una única forma de trabajar que evita tener que aprender sistemas nuevos, lo que redunda en un ahorro de formación. Por otro lado, una Intranet suele estar dotada de una velocidad
Servidor
Cliente Cliente
bastante mayor que la habitual en Internet, lo que posibilita una comunicación más fluida, incluso, cuando se trata de flujos de información multimedia.
1.1.2. TERMINOLOGÍA DE INTERNET
Desde el punto de vista físico, Internet son miles de redes informáticas que trabajan de forma conjunta bajo los protocolos TCP/IP (Transmisión Control Protocol / Internet
Protocol - Protocolo de Control de Transmisiones / Protocolo de Internet), entendiendo
por protocolo un conjunto de normas que regulan la comunicación entre los distintos dispositivos de una red.
Desde el punto de vista del usuario, Internet es una red pública que interconecta universidades, centros de investigación, servicios gubernamentales y empresas.
El conjunto de protocolos de Internet se compone de muchos protocolos relacionados con la asociación formada por TCP e IP y relacionados con las diferentes capas de servicios de la red (del modelo OSI/ISO). Por estas capas son por las que pasan los paquetes de información cuando realizan la ruta de una computadora a otra conectadas a diferentes puntos dentro de Internet. Por ejemplo, el protocolo TCP/IP visto desde este punto de vista se puede resumir como sigue:
CAPA DE APLICACIÓN
(FTP, Telnet, Gopher, Word Wide Web) API de Windows Sockets
CAPA DE TRANSPORTE (TCP y UDP)
CAPA DE RED (IP)
CAPA DE ENLACE
(Controlador de dispositivo, tarjeta de red, protocolos de control de la línea) Entre dos capas puede haber una interfaz de programación (API) para interpretar los mensajes o paquetes a medida que van pasando. Utilizar una interfaz de programación, como la API de Windows Sockets, libera al programador de tratar con detalles de cómo se pasan los paquetes de información entre las capas inferiores.
La capa de enlace y de red se encarga de empaquetar la información y de llevar los paquetes de un lugar a otro de la red. Estos lugares se identifican con direcciones de Internet que permiten identificar tanto a la máquina como al usuario, pues una misma computadora puede tener diferentes usuarios dados de alta. Estas direcciones son especificadas según un convenio de Sistema de Nombres de Dominio odas.
Un DNS tiene la siguiente sintaxis:
[subdominio].[subdominio]. [. . .] . dominio Por ejemplo: cs.buap.mx
En este ejemplo mx es el dominio, buap es un subdominio de mx y cs un subdominio de
buap. Algunos dominios de nivel superior son:
DOMINIO COBERTURA
com Organizaciones Comerciales
edu Instituciones educativas
net Suministradores de servicios de red
us Estados Unidos
es España
mx México
Cada nombre de dominio se corresponde con una única dirección de Internet o dirección IP. Una dirección IP es un valor de 32 bits dividida en cuatro campos de 8 bits (u octetos). Por ejemplo: 148.228.20.2
Para referirse a un usuario perteneciente a un determinado dominio, la sintaxis empleada es:
usuario@[subdominio].[subdominio].[ . . . ] . dominio Existen muchos protocolos en TCP/IP. Los más conocidos son:
FTP (File Tranfer Protocol). Es el protocolo de transferencia de archivos. Se utiliza para copiar y transferir archivos de una máquina a otra.
Gopher. Es un protocolo que permite buscar y recuperar documentos mediante un sistema de menús.
POP3 (Post Office Protocol). Es el protocolo de oficina de correos. Se utiliza para gestionar el correo electrónico, en base a su recepción y envío posterior, entre el usuario y su servidor de correo. Con este fín son empleados también los protocolo IMAP
(Internet Message Access Protocol) y HTTP (Correo Web).
SMTP (Simple Mail Transfer Protocol). Es un protocolo de transferencia de correo y sirve para controlar el intercambio de correo electrónico entre dos servidores de correo en Internet.
Telnet (Telecomunications NetWork Protocol). Es el protocolo de telecomunicaciones de red. Se utiliza para establecer conexiones remotas entre terminales. Permite establecer conexiones entre máquinas con diferentes sistemas operativos. Se utiliza por tanto como una Terminal virtual.
USENet. Nombre con el que se denomina al conjunto de los grupos de discusión y noticias, establecidos en Internet. La idea es que USENet sirva como tablón electrónico de anuncios.
WWW (World Wide Web). Mejor conocida como la telaraña mundial. Es un sistema avanzado para la búsqueda de información en Internet basado en hipertexto y multimedia. El software utilizado consiste en exploradores o browsers (Explorer, Netscape, Mosaic, etc.), también llamados navegadores, con una interfaz gráfica.
Los servicios más comunes en Internet son:
El correo electrónico o e-mail
La conexión remota
La transferencia de archivos
Los grupos de noticias
La WWW
Existen muchos programas que facilitan estos servicios los cuales se asemejan en su forma de manejarlos. En cualquier caso, sólo se puede acceder a Internet si además de tener una computadora y un MODEM (dispositivo que conecta una computadora a una línea de teléfono), se ha contratado dicho servicio con un proveedor de Internet, o bien si la computadora forma parte de una red que ofrece acceso a Internet.
El correo electrónico (e-mail) es uno de los servicios más utilizados en todo el mundo. Tiene como finalidad enviar y recibir mensajes similar a como funciona un correo postal. Un ejemplo de aplicación que proporciona este servicio es Microsoft Outlook Express. La orden TelNet (de Windows o UNIX por ejemplo) proporciona la capacidad de mantener sesiones como un terminar del computador remoto. Esto permite ejecutar órdenes como si se estuviera conectado de forma local.
El protocolo de transferencia de archivos o FTP es un método sencillo y eficiente de transferir tanto archivos ASCII como binarios entre computadoras conectadas a una red TCP/IP. Las órdenes utilizadas con mayor frecuencia en este protocolo son:
ORDEN ftp SIGNIFICADO
ascii Establece el modo ASCII para la transferencia de archivos binary Establece el modo binario para la transferencia de archivos bye Finaliza la sesión ftp y sale
cd Cambia de directorio de trabajo en la computadora remota close Finaliza la sesión ftp
ftp Inicia una sesión ftp
get Obtiene un archivo de la computadora remota
help Proporciona las órdenes ftp disponibles o información relativa a la orden especificada
lcd Cambia al directorio local de trabajo ls Lista el contenido de un directorio remoto
mget Obtiene un grupo de archivos que pueden haberse especificado utilizando algún comodín
mput Envía un grupo de archivos que pueden haberse especificado utilizando algún comodín
open Inicia una conexión ftp con la computadora remota especificada put Envía un archivo a la computadora remota
Los grupos de noticias, noticias USENET, netnews o simplemente news, son foros de discusión en línea los cuales se pueden clasificar por temas diversos.
La World Wide Web, WWW o simplemente Web, es un sistema hipermedia interactivo que permite conectarse a grandes cantidades de información en Internet. Un sistema hipermedia está compuesto por páginas que contienen texto cuidadosamente formateado, imágenes llenas de color, sonido, video y enlaces a otras páginas distribuidas por todo el mundo. La
Web surge como un proyecto iniciado en el Centro Europeo de Investigación Nuclear (European Center for Nuclear Research).
1.1.4. BREVE HISTORIA DE LAS APLICACIONES WEB
Antes del surgimiento de la Web existían muchas formas de obtener y enviar información de una computadora a otra. Una primera forma fue llamada copia UNIX-to-UNIX, o UUCP que funcionaba justamente como una compañía de correo. Un usuario podía usar un comando para hacer una petición de un “catálogo” de archivos desde un sistema remoto. Una vez que el catálogo fuera recibido, podía utilizar otro comando para ordenar un archivo en particular. Este proceso no era interactivo; el catálogo solía llegar 4 ó 6 semanas posteriores a la petición y de igual forma la orden del archivo requerido tardaba horas e incluso días en llegar.
Posteriormente vino otro desarrollo, el FTP el cual sigue siendo utilizado hoy en día. Tal como ya se ha mencionado el FTP trabaja como un sistema de archivos en una PC. Desde un programa cliente FTP conectado a un servidor FTP puesto en una computadora remota, un usuario puede obtener un listado de un directorio remoto, moverse en algún subdirectorio y copiar o transferir archivos a su computadora.
Tanto UUCP como FTP presentan información sobre una jerarquía de directorios y ambos mecanismos necesitan de un sofisticado camino para organizar y presentar los datos. La llegada del HTTP hizo posible la abstracción de la forma de organizar y presentar la información del UUCP y FTP. El HTML puede especificar la manera en que los datos suelen ser vistos utilizando una gran variedad de imágenes, tablas, texto y enlaces de cuestionable valor. En principio estos nuevos tipos de documentos pueden seguir exitiendo en el contexto del UUCP o FTP. Un usuario puede hacer una petición de un documento HTML vía FTP, sin embargo el HTML ha generado dos nuevos programas: El navegador Web y el Servidor Web los cuales se comunican uno al otro vía el HTTP.
Los navegadores Web, son programas grandes y complejos que despliegan páginas HTML en donde pueden existir imágenes o texto como ligas a otras páginas y que por tanto pueden ser clicleados. En cualquier caso, cuando una liga (link) es clicleada el navegador contacta al servidor Web apropiado y pregunta por la página que fue referenciada. El servidor responde encontrando la página en su disco local, enviándola de regreso al navegador. Este proceso se muestra en la figura siguiente:
Servidor Computadora
del usuario
1:Solicitud del navegador (HTML) 2: El Servidor encuentra el archivo en disco 3: El servidor envía el archivo de regreso al navegador
Actualmente los navegadores pueden animar imágenes, ejecutar applets de JAVA, ejecutar código JavaScript, reproducir flujos de audio y video y una gran variedad de información, mucha de ella de valor altamente cuestionable.
Hoy en día un servidor Web puede enviar un archivo en respuesta a una petición. En otras palabras, puede ejecutar un programa y enviar la salida de ese programa al usuario generando lo que se llama Contenido Dinámico. El proceso se muestra en la figura siguiente:
Este cambio de archivos a programas hace la diferencia entre el Web de años atrás y el Web de ahora. Algunos ejemplos de lo que es posible hacer hoy con el Web son:
1. Cada vez más y más sitios comerciales ofrecen a sus usuarios la posibilidad de comprar sus productos en línea. El carrito de compras electrónico ahora comúnmente conocido, puede tener funcionalidad nula si no tiene la habilidad de ejecutar programas del lado del servidor.
2. Ahora que el Web es muy pero muy grande, una búsqueda ingeniosa es el camino correcto para encontrar una particular pieza de información. Algunas compañías como Yahoo construyen catálogos de sitios Web mostrados como páginas HTML.
3. Juegos!!!. Los usuarios aman los sitios Web donde ellos pueden interactuar con las páginas que allí se presentan e incluso votar por su celebridad favorita, manejar mundos virtuales y jugar por Internet con otros cibernautas.
Todos estos, son ejemplos de contenidos dinámicos que reaccionan de forma inmediata a las necesidades del usuario. Claramente el contenido dinámico ofrece un conjunto de claros beneficios en conjunción con el contenido estático que años atrás se utilizaba como única opción de contenidos Web.
Servidor Computadora
del usuario
1:Petición del navegador (HTML) 2: El Servidor encuentra el programa en disco 5: El servidor envía el HTML de regreso al navegador Disco del Servidor CGI 3: El servidor ejecuta el programa pasándole información vía protocolo CGI 4: El CGI genera la página HTML