2. CONCEPTOS BÁSICOS DE
LA WEB
• Web*: El sistema de documentos
interconectados por enlaces de hipertexto,
que se ejecutan en Internet.
• Internet*: Internet es un conjunto
descentralizado de redes de
comunicación interconectadas, que
utilizan la familia de protocolos TCP/IP,
garantizando que las redes físicas
heterogéneas que la componen funcionen
como una red lógica única, de alcance
mundial.
3. HISTORIA DE LA WEB
Leonard Kleinrock y el
primer IMP. fuente:
http://www.lk.cs.ucla.edu/
personal_history.html
1960: ARPANET
1972: 37 PC & Mail
1973: 1ª Conexión Internacional
1983: TCP / IP
1986: NSFNET
1989: 10.000 PC. & WWW
1990: 1er Servidor & Cliente Web .
1994: W3C & CERN.
Tim Berners-Lee. Fuente: http://www.zator.com/Internet/A5_1.htm
Militar
Académica
WWW
4. HISTORIA DE LA WEB
Consejo Europeo para la Investigación Nuclear –
CERN – W3C
1996: 1ª Recomendación (PNG) 1.0 & CSS Nivel 1
1997: El HTML 4.0
1998: XML 1.0
2000: (SVG) 1.0
2001: El Esquema XML
2002: Servicios Web
2003: Patente Libre DA
2004: El RDF y el OWLFuente: http://es.wikipedia.org/wiki/CERN
2005: Modelo Único Caracteres
2005: Web Móvil
Comercial
Crisis .COM
C. Ubicua & Web Sem.
5. 1ª GENERACIÓN DE
SITIOS WEB
– Ancho de banda de
Modem 2,4 Kbps.
– Tiempo carga rápido
(texto).
– Navegación poco
estructurada.
– Texto escrito del
ancho del monitor,
saltos de línea, líneas
horizontales, listas,
etc.
– Aparece al Final las
páginas con
Common Gateway
Interface – CGI.
1992 - 1994
6. 2ª GENERACIÓN DE
SITIOS WEB
– Iconos que sustituyen
las palabras y fondos.
– Banners para
encabezados y pies.
– Listas con gráficos
animados.
– Tiempo de carga lento.
– Uso de Tablas.
– Navegación
Jerárquica.
– Aparecen multimedia
que solicitan la
instalación de un plug-
in para su ejecución.
– CGI acceso a datos.
1994 - 1995
7. 3ª GENERACIÓN DE
SITIOS WEB
– Tiempo de Carga rápido.
– Uso de Cascading Style
Sheets – CSS.
– Se limitan a visualización en
una sola página.
– Diseño enfocado al usuario.
– Pocos enlaces y desde una
página principal.
– Principios tipográficos y
empleo de metáforas.
– Principios de usabilidad y
amigabilidad.
– Identidad corporativa con
uso adecuado de colores.
– Consolidación de
generación de páginas Web
dinámicas.
– CGI extendido, aparece IDC
y luego ASP, ColdFusion,PHP,
JSP.
1996 - 1998
8. 4ª GENERACIÓN DE
SITIOS WEB
– Empleo de recursos gráficos
en exceso.
– Páginas con mucha
información al tiempo.
– Aparece el DHTML haciendo
las páginas más dinámicas.
– Tecnologías multimedia
como Macromedia Flash.
– Principios de diseño de
CDROM interactivos se
aplican en la Web.
– Empleo de equipo
interdisciplinar (informático,
experto en contenidos,
diseñador gráfico, etc.)
– Streaming de video y audio.
– Gran parte de páginas
acceden a BD.1999 - 2005
9. 5ª GENERACIÓN DE SITIOS WEB
– Páginas de Televisión, o TV IP.
2005 - 2008
10. HISTORIA DE LA
PROGRAMACIÓN WEB
Páginas Estáticas
Programación del Cliente
Programación del Servidor
SGML (Standard Generalized Markup Language)
llamado HTML (HyperText Markup Language)
HTML 4.0.1 & XHTML 2.0
DHTML : Scripts
Páginas Dinámicas
CGI (Common Gateway Interface)
RUN
ISAPI (Information Server
Application Program Interface)
NAV
DLL
JSP, ColdFusion, PHP o JTHML, J2EE, JSF, ASP, ASPNET.
11. SERVIDORES WEB
• Un programa que atiende las peticiones HTTP
llegadas a un puerto determinado de la
máquina. También se denomina así, por
extensión, a la máquina que cuenta con uno de
tales programas.
• Ejemplos de servidores Web:
• Apache HTTP Server Project
• Internet Information Server (IIS)
• TomCat Server.
• Tipos de páginas Web:
• Estáticas (htm, html).
• Dinámicas. (CGIs, ASP, JSP, Servlets, etc.)
• En el siguiente capitulo se tratarán las plataformas
de desarrollo de aplicaciones Web
12. SERVIDOR DE
APLICACIONES¿Qué es?
• Es un programa que provee la infraestructura
necesaria para las aplicaciones Web empresariales
¿Qué quiere decir esto?
• Que los programadores van a poder dedicarse casi
en exclusiva a implementar la lógica del dominio,
ya que servicios de uso común, como
transacciones, seguridad, persistencia, etc. ya son
proporcionados por el servidor Web
• Se ha convertido en una pieza de software clave
para cualquier empresa dedicada al comercio
electrónico
• Es una capa intermedia (middleware) que se sitúa
entre el servidor Web y las aplicaciones y bases de
datos subyacentes
Notes de l'éditeur
1960: Nace como una red del Departamento de Defensa de Estados Unidos desarrollada por ARPA denominada Arpanet. La red original conectaba solo cuatro computadores, de los Estados Unidos.
1972: Ya existían 37 computadores conectados a la ARPANet. En ese mismo lapso, el nombre de ARPA fue cambiado por el de DARPA (Defense Advanced Reserach Projects Agency). Ray Tomlinson de la BBN inventó el correo electrónico. En 1973, el protocolo FTP ya estaba definido e implementado, facilitando el movimiento de ficheros en ARPANET
1973: Hacen la primera conexión internacional con Inglaterra y Noruega.
1983: DARPA decidió que el TCP/IP debería ser el conjunto estandarizado de protocolos usados para conectarse a la ARPANet. Esta disponible y sin costo y así se incremento su uso por las redes.
1986: Fue creada una red muy rápida denominada NSFNET (National Science Foundation Network).
1989: Existían cerca de 10.000 computadores huéspedes conectados a la INTERNET o "red de redes".
1990: la ARPANet fue disuelta oficialmente.
1989: Tim Berners-Lee creó la World Wide Web. Acuñó el término "World Wide Web“ - WWW.
1990: Desarrolló el primer servidor Web, "httpd," y el primer programa de cliente (un navegador y un editor) WorldWideWeb. Creó la primera versión del "Lenguaje de Etiquetado de Hipertexto" (HTML), lenguaje de formateo de documentos con enlaces de hipertexto que se convirtió en el formato de publicación principal para la Web.
1994: Berners-Lee fundó el Consorcio World Wide Web (W3C) en el Laboratorio de Ciencias Informática del Instituto de Tecnología de Massachusetts [MIT/LCS], en colaboración con el CERN, , donde la Web tuvo su origen (más información sobre el servidor original del CERN), con la colaboración del DARPA y de la Comisión Europea
Octubre de 1996: Se publica la primera Recomendación del W3C -- Gráficos de Red Portátiles (PNG) 1.0.
Diciembre de 1996: Separación de contenido y estructura, se publica el CSS Nivel 1. Hojas de Estilo en Cascada.
Febrero de 1997: Lanzamiento de la Iniciativa de Accesibilidad Web.
Diciembre de 1997: El HTML 4.0 añade tablas, scripting, hojas de estilo, internacionalización y accesibilidad a la publicación en la Web.
Febrero de 1998: El XML 1.0 promueve la interoperabilidad y el etiquetado específico de dominio.
Agosto de 2000: Los Gráficos Vectoriales Escalables (SVG) 1.0 enriquecen los gráficos Web.
Mayo de 2001: El Esquema XML es la pieza esencial para que XML alcance su máximo potencial.
Enero 2002: El W3C lanza la Actividad de Servicios Web.
Mayo 2003: El W3C adopta oficialmente su Política de Patentes libre de derechos de autor.
Febrero 2004: El RDF y el OWL suponen un importante avance para las aplicaciones de Web Semántica.
Marzo 2004: El W3C le da voz a la Web con VoiceXML 2.0.
Diciembre 2004: El W3C describe los principios de la Arquitectura Web.
Febrero de 2005: El Modelo de Caracteres supone un enfoque unificado en el uso de caracteres en la Web.
Mayo de 2005: La Iniciativa de Web Móvil fue creada para facilitar el acceso a la Web móvil.
Noviembre de 2005: El W3C pone en marcha un Grupo que vincula la Medicina con la Web Semántica.
Paginas Estáticas
El principal punto flaco que inicialmente tenía este sistema consistía en que las páginas HTML eran simples ficheros colocados en un servidor Web, que eran enviadas a sus clientes tal cual, sin ninguna posibilidad de interacción con los mismos excepto, claro está, la utilización de sus hipervínculos y forzando a que cualquier actualización que se les hiciese, tenía que ser realizada editando su contenido y sobrescribiéndolo en el servidor.
Tecnologías del lado del Cliente
Una forma de conseguir aumentar el dinamismo de los sitios Web consistió en dotar al lenguaje HTML de la capacidad de poder incluir scripts de código escritos en diversos lenguajes (como Javascript o VBScript) que los navegadores interpretarían para, a través de ellos, modificar el aspecto de las páginas e interactuar con el navegador, a esto se le conoce como DHTML (HTML dinámico) y forma parte de las denominadas tecnologías en el lado cliente, pues requiere de un soporte directo por parte del navegador del cliente. Ahí es precisamente donde se encuentra su principal problema: Los fabricantes de navegadores nunca han llegado a un acuerdo a la hora de implementar esto, y cada uno soporta tanto diferentes lenguajes de scripts como diversas peculiaridades dentro de un mismo lenguaje, lo que hace que sea difícil la creación y mantenimiento de páginas DHTML compatibles con los navegadores más utilizados, antes Internet Explorer y Netscape Navigator, y ahora Internet Explorer y Mozilla.
Tecnologías en el lado servidor
Se basan en la ejecución de código en el servidor que se encargue de generar dinámicamente el contenido (páginas web, imágenes o cualquier otro tipo de información binaria) a enviar a cada cliente. Esto se realiza de forma completamente transparente al cliente, quien recibe los contenidos tal como si fuesen ficheros estáticos almacenados en el servidor, por lo que no necesita ninguna clase de soporte especial para tratarlos. Aunque hay quien puede argumentar que esta opción provoca un aumento en la carga de trabajo del servidor, lo cierto es que el alto nivel de compatibilidad que proporciona está haciendo que se convierta en la tendencia actual en el desarrollo de aplicaciones web, sobre todo debido a la proliferación de todo tipo de dispositivos con acceso a Internet (teléfonos móviles, agendas electrónicas, etc.) y con capacidades de visualización y procesamiento muy heterogéneas, cuyos navegadores suelen ser muy simples y no admitir scripts.
El CGI no es un lenguaje. Es simplemente un protocolo que puede ser usado para comunicarse entre formas Web y tu programa Un script CGI puede ser escrito en cualquier lenguaje que pueda leer de STDIN, escribir en STDOUT, y leer variables de entorno como virtualmente cualquier lenguaje de programación, incluyendo C, Perl, o incluso scripts de shell.
Su gran problema es que cada vez que llegue una nueva petición CGI al servidor, éste tendrá que lanzar un nuevo ejecutable para tratarla y descargarlo de memoria tras ello, lo que resulta un proceso muy costoso y que tiende a degradar mucho el rendimiento y la escalabilidad de la aplicación web.
Como solución a este problema se empezó a tender a sustituir los programas CGIs por librerías que el servidor enlazase dinámicamente en su mismo espacio de memoria (DLLs) cuyos tiempos de carga y ejecución serán muy inferiores que los de programas que se ejecutan en espacios de memoria independientes, no siendo además necesaria descargarlas tras atender a cada cliente.