• No se han encontrado resultados

Cronología de la Web

N/A
N/A
Protected

Academic year: 2021

Share "Cronología de la Web"

Copied!
44
0
0

Texto completo

(1)

Cronología de la Web

Facultad de Ciencias de la Computación Juan Carlos Conde R.

(2)

Contenido

1 Historia de la Web 2 Lado del Cliente 3 Lado del Servidor 4 Tendencias

(3)

Contenido

1 Historia de la Web

2 Lado del Cliente 3 Lado del Servidor 4 Tendencias

(4)

Evolución de la Web

Desde el comienzo, el Internet ha evolucionado a través de varias fases exitosas. Curiosamente, estos acontecimientos están separados por aproximadamente 5 años.

Aunque probablemente la evolución más importante fue en el 2010, año en el que se cumplió el vencimiento de la Web 2.0.

(5)

1990: Inicios de la Web Estática I

I Las páginas HTML estaban limitadas a la visualización de texto simple y

a algunas ilustraciones.

I La única interacción posible era las páginas HTML para mostrar una

nueva página al hacer clic en un hipervínculo.

I Era imposible obtener cualquier efecto visual (como un vuelco (roll-over)

en una imagen, por ejemplo) sin tener que recurrir a una tecnología complementaria.

(6)

1990: Inicios de la Web Estática II

I Además, después de hacer clic en un hipervínculo, se generaba un ciclo de

tratamiento largo y tedioso que dicultó considerablemente la reactividad de las aplicaciones.

I Los servidores a menudo eran insucientes para el tráco que comenzaba a

(7)

Funcionamiento de los Sitios Estáticos I

1. Una solicitud HTTP a http://www.google.com.mx/ se envía al servidor para acceder a la página deseada y visualizarla en el navegador del cliente.

2. Cuando el servidor Web recibe esta solicitud (petición), buscará la página solicitada entre todas las páginas HTML en el sitio en cuestión y luego la reenvía como respuesta al cliente.

3. El código HTML recibido por el cliente entonces se interpreta y muestra por el navegador.

(8)
(9)

El protocolo HTTP

Permite que navegador pueda enviar al servidor Web una solicitud formalizada como la dirección de la página destino (URL) y recibir como respuesta la página HTML correspondiente que sustituirá completamente la página que se muestra en el navegador.

Al igual que la mayoría de los protocolos para las aplicaciones Internet (FTP, SMTP, POP3 ...) HTTP se basa en el protocolo de transporte TCP/IP, que asegura el enrutamiento de datos por paquetes de un punto a otro.

(10)

El lenguaje XHTML

(eXtensible HyperText Markup Language)

Es una evolución del lenguaje HTML de acuerdo con las restricciones de XML, e impone ciertas reglas para que una página este bien formada como:

I nombres en minúsculas de las etiquetas,

I atributos de etiquetas obligatoriamente delimitados con comillas dobles, I cierre obligatorio de todas las etiquetas,

(11)

1995: La Web Orientada al Cliente I

Para hacer frente a la falta de interactividad y a los problemas de congestión de la red (saturación de los servidores), los desarrolladores empezaron a aplicar diversas tecnologías del lado del cliente.

Con esto se logró descargar el servidor de tareas que pueden ser manejadas directamente por el navegador con lo que de identican las siguientes ventajas.

(12)

1995: La Web Orientada al Cliente II

Ventajas:

1. Se redujo fuertemente el tráco en la red.

2. Microsoft con JScript y Netscape con JavaScript permitieron ejecutar nalmente del lado del cliente los scripts.

Sin embargo, el incumplimiento de los estándares del W3C de ciertos editores complicaba el trabajo de los desarrolladores que debían de considerar las difer-encias en la interpretación de su código de un navegador a otro.

(13)

1995: La Web Orientada al Cliente III

En consecuencia, las nuevas tecnologías del lado del cliente plantearon nuevos problemas:

I Algunos navegadores no podían ejecutar todos los scripts.

I Se debía mantener la seguridad de los datos del usuario.

En respuesta, navegadores y editores tuvieron que agregar opciones para desha-bilitar la ejecución de las diferentes tecnologías del lado del cliente.

(14)

1995: La Web Orientada al Cliente IV

Programas Propietarios

Otras empresas desarrollaron programas como applets Java, controles ActiveX, Flash, etc., que se pueden integrar en la Web y ejecutarse en un navegador a través de un plug-in.

La Web entonces disponía de una gran cantidad de tecnologías del lado de cliente, pero la falta de estandarización y la heterogeneidad de los navegadores dicultó su utilización.

(15)

Contenido

1 Historia de la Web

2 Lado del Cliente

3 Lado del Servidor 4 Tendencias

(16)

Sitios Interactivos del Lado del Cliente I

La solución más simple para crear la interactividad consiste en integrar algunas líneas de código JavaScript en una página HTML.

El script incluido en la página que devuelve el servidor, se procesa por el naveg-ador (lado del cliente) cuando se produce el evento para el cual ha sido progra-mado (ver etapa 4, sig. Figura).

(17)

Sitios Interactivos del Lado del Cliente II

Sin embargo, hay problemas de compatibilidad con la conguración del cliente y puede haber un compartimiento diferente en función del tipo de equipo y versión del navegador.

(18)

Problemas de compatibilidad

I Existe una dependencia relativa al navegador pero la interacción es rápida.

I Por ejemplo, un script de JavaScript puede trabajar perfectamente en

Firefox, pero tener problemas con Internet Explorer.

I Del mismo modo, los resultados pueden variar dependiendo de si se utiliza

(19)

Otros problemas

Todo esto impone al diseñador efectuar muchas pruebas si desea que su página interactiva funcione en todas las plataformas y en todas las conguraciones. Otros problemas:

I La seguridad de los datos.

I El código fuente de los programas es más legible.

I Se obligó al desarrollador a prever soluciones a conguraciones del usuario.

(20)

JavaScript

JavaScript se llama así por 2 razones; el abuso del lenguaje y por combinación de las dos tecnologías cliente más utilizadas en la Web:

1. "JavaScript" desarrollado por Netscape Communications (que no debe confundirse con Java).

2. "JScript" desarrollado posteriormente por Microsoft para competir con la tecnología de Netscape.

Ambas son consistentes con el estándar europeo ECMAScript*, pero también a nivel internacional.

(21)

JavaScript

El funcionamiento de las dos tecnologías es el mismo.

Las instrucciones JavaScript o JScript se incluyen en el código HTML de las páginas enviadas por el servidor al cliente, ya que están manejadas directamente por el navegador a través de un intérprete estándar implementado en el software cliente.

(22)

Contenido

1 Historia de la Web 2 Lado del Cliente

3 Lado del Servidor

(23)

2000: La Web Orientada al Servidor I

Motivados por los problemas de compatibilidad y de seguridad del lado del cliente, los desarrolladores han adaptado e instalado programas del lado del servi-dor para satisfacer a los usuarios

Esto explica en parte el extraordinario desarrollo de lenguajes para servidores como PHP.

En pocos años la mayoría de los sitios han experimentado reajustes estructurales para adaptarse a una infraestructura Web que explote las aplicaciones del lado del servidor, ésto a pesar de una organización más compleja del servidor Web.

(24)

2000: La Web Orientada al Servidor II

Inconveniente: Hace que el intercambio cliente-servidor tenga un gran número de consultas que obstruyen fuertemente la red y hacen muy lenta la respuesta de las aplicaciones.

(25)

Sitios Interactivos del Lado del Servidor I

I El servidor Web debe tener un preprocesador PHP para procesar los scripts

PHP incrustados en la página, antes de enviarla al cliente que realizó la petición (etapa 1 y 2).

I Si lo comparamos con un script del lado del cliente, la reacción de un

script del lado del servidor a un evento es mucho más lenta.

I Requiere el envío de una solicitud al servidor (etapa 1), su ejecución en el

servidor (etapa 2), el retorno de la respuesta a través de Internet (etapa 3) y la carga de una página completa HTML en el navegador (etapa 4).

(26)

Sitios Interactivos del Lado del Servidor II

La interpretación del script se realiza del lado del servidor y el código enviado hacia a la computadora del cliente es compatible con el estándar HTML. Por lo tanto, no hay dependencia del navegador ni de la plataforma del cliente pero la interactividad es más lenta.

La única desventaja del scripting del lado del servidor sería que debe tenerse en cuenta que requiere la disponibilidad de un servidor adaptado.

(27)

Sitios Interactivos del Lado del Servidor III

(28)

Sitios dinámicos I

La ejecución del script del lado del servidor permite crear una página "sobre la marcha" durante su ejecución por el pre-procesador PHP integrado al servidor. La página creada contiene la misma información que una simple página HTML, pero se requiere del acceso a una base de datos durante la creación de dicha página dinámica.

(29)

Sitios dinámicos II

(30)

Sitios dinámicos III

Con este proceso, la página dinámica se convierte en un MODELO de pre-sentación de la información.

Este modelo se puede personalizar mediante diferentes contenidos según la peti-ción del cliente.

Ejemplos: Catalogo de productos

Al indicar el ID del producto solicitado a través de una variable que se envía con la llamada; la página reenviada al cliente contiene entonces toda la información y fotografías relacionadas con el producto en cuestión. El árbol del sitio se simplica desde esta página dinámica para reemplazar muchas páginas estáticas para cada producto.

(31)

MySQL y PHP

I MySQL (My Structured Query Language) es un sistema de gestión de

bases de datos relacional, multihilo y multiusuario. Esta frecuentemente acoplada con el lenguaje de script para servidores PHP.

I PHP (inicialmente llamado Personal Home Page, después Php Hypertext

Pre-Processor) es un lenguaje de script libre utilizado principalmente como lenguaje de programación Web del lado del servidor.

(32)

El compromiso Cliente-Servidor I

Afortunadamente, los navegadores más comunes mejoraron progresivamente y le dieron mayor importancia a los estándares lo que reduce los problemas de compatibilidad del lado del cliente.

El hecho de que muchos sitios populares ahora utilicen JavaScript, condujo pro-gresivamente a una desaparición de los usuarios que desactivaban las tecnologías cliente en su navegador.

Estos cambios han permitido un retorno a un justo equilibrio de responsabili-dades entre el cliente y el servidor.

(33)

El compromiso Cliente-Servidor II

Hoy en día...

El uso de JavaScript, DOM y CSS también se recomiendan para garantizar la accesibilidad del sitio a personas con discapacidad.

Mientras tanto, tareas tales como la persistencia de los datos (el enlace con las bases de datos) o la gestión de autenticación siguen siendo un privilegio de las tecnologías del servidor.

(34)

DOM

El DOM (Document Object Model) es una tecnología que permite la mod-elización de los elementos de una página XHTML bajo forma de una jerarquía normalizada independiente de todo tipo de lenguaje. Gracias a la tecnología JavaScript, es también posible modicar la estructura de una página Web sobre la marcha. El DOM forma parte de las tecnologías explotadas por AJAX para interactuar con el contenido o la forma de una página XHTML.

(35)

CSS

Los CSS (Cascading Style Sheets) permiten describir de forma precisa el formato de una página HTML, XHTML ó XML. Es igualmente posible separar claramente el contenido de una página Web (efectuada por las marcas XHTML) y su forma (descrita por la hoja de estilos CSS)

(36)

Contenido

1 Historia de la Web 2 Lado del Cliente 3 Lado del Servidor

(37)

La Web 2.0 I

Dada la estabilización después del equilibrio de las tareas entre el cliente y el servidor, podríamos preguntarnos:

¾De qué forma AJAX podría mejorar aún más el uso de las aplicaciones Web en Internet?

(38)

La Web 2.0 II

AJAX elimina las siguientes complicaciones:

I La separación de scripts cliente-servidor ha demostrado ser fructífera, sin

embargo el problema de la inercia de las peticiones HTTP sigue presente.

I El bloqueo de las acciones del usuario hasta la respuesta del servidor, y el

hecho de que la respuesta del servidor este constituida por el código completo de la página y que la página actual sea obligatoriamente refrescada.

(39)

La Web 2.0 III

Basándonos en la observación de que el rendimiento de los programas del lado del cliente es ahora más conable en la mayoría de los navegadores y que el objeto XMLHttpRequest está implementado en la mayoría de ellos, es posible implementar aplicaciones AJAX para gestionar el envío de la solicitud al servidor de manera asíncrona.

El modo asíncrono es posible gracias al uso adecuado del objeto XMLHttpRe-quest que permite enviar una solicitud servidor en segundo plano sin bloqueo de la actividad de la aplicación cliente mientras espera la respuesta del servidor.

(40)

La Web 2.0 IV

En la recepción de la respuesta del servidor, el dato (y no toda la página HTML como fue anteriormente el caso) se insertará automáticamente en la página Web actual sin que haya un refrescado completo de la página (ver la siguiente gura).

(41)

La Web 2.0 V

Con este tipo de procesos, las aplicaciones Web son cada vez más exibles de usar, porque no bloquean más al usuario durante el tiempo de espera del servidor.

I Permiten una mayor capacidad de respuesta de la aplicación porque sólo

los datos solicitados se devolverán al cliente.

I Sólo hay que cargar una nueva página para cada solicitud, mejora

considerablemente la comodidad del usuario.

Todas estas ventajas ahora proporcionan aplicaciones más rica y muy reactivas que anuncian una nueva era, la de la Web 2.0.

(42)

AJAX

AJAX, Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es un combinación de tecnologías (XHTML, DOM, CSS, XML, JavaScript) y más particularmente su objeto XMLHttpRequest) para el desarrollo de aplicaciones interactivas Web o RIA (Rich Internet Applications).

(43)

AJAX

Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuar-ios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano.

De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, la interactividad, velocidad y usabilidad en las aplicaciones.

XMLHttpRequest

Es una clase JavaScript que dispone de propiedades y de métodos que permiten recuperar los datos en el lado del servidor de una manera asíncrona.

(44)

C o m e n t a r i o s . . .

Juan Carlos Conde R. [email protected]

Referencias

Documento similar