Conceptos básicos sobre la web actual Introducción * Primero revisaremos el funcionamiento de la web actual. ◦ Los orígenes de la Web ◦ Arquitectura de la Web ◦ Problemas que presenta el modelo de la Web actual ◦ Generaciones de la Web Orígenes de la Web La Web (o World Wide Web) surge en el año 1989 en los laboratorios del CERN (Laboratorio Europeo de Física de Partículas, ubicado en Ginebra, Suiza). ◦ Tim Berners-Lee se le considera el padre de la Web. En 1990 completó el primer servidor web y el primer cliente. ◦ En 1991 publica el primer borrador de las especificaciones del HTML y del protocolo HTTP. ◦ En 1994 entró al laboratorio de Computer Science (LCS) de Massachussets Institute of Technology (MIT). ◦ Inicio y dirige el W3C en EU. ◦ Se considera el inventor y el protector de la Web al mismo tiempo. ◦ Originalmente, la idea de la Web era disponer de un sistema, que permitiera servir como base para el intercambio de información entre investigadores que resaltase cómodo y sencillo el proceso. Un sistema de hipertexto. Navegadores ◦ 1993, Mosaic. La Web se conoce a nivel mundial, extendiéndose primero por las universidades y laboratorios y después al público. Disponible en diversas plataformas (unix, windows y macintosh). Gratuito, desapareció en el año 1997. ◦ Netscape, líder en el mercado por mucho tiempo. Documento de hipertexto, consta de los siguientes elementos: • Nodos o secciones, que son las partes del texto que contiene información accesible para el usuario. • Enlaces o hipervínculos, que se establecen entre los nodos y permiten que el usuario realice una lectura secuencial o no de los mismos. • Anclajes, o puntos de activación de los enlaces. Tecnologías de creación de páginas Web dinámicas CGIs CGIs (Common Gateway Interface), es un mecanismo que permite establecer comunicación entre un servidor web y una aplicación, permitiendo que la aplicación pueda interactuar con Internet. Funcionamiento: Cuando un navegador solicita una petición a un servidor web, éste genera un proceso (tantos como peticiones reciba) al que pasa los datos que el usuario envíe (si los hay), el proceso realiza su misión en función de estos datos. El servidor web captura la salida del CGI y la envía de regreso al navegador del usuario en donde se muestra la salida correspondiente. El lenguaje más popular en el que se solían escribir este tipo de aplicaciones era el lenguaje C o el lenguaje Perl. Tecnologías de creación de páginas Web dinamicas ASP y ASP.NET (Active Server Pages): Ambas tecnologías son la respuesta de Microsoft a la creación de páginas dinámicas. ASP apareció junto con el servidor Web de Microsoft Internet Information Server (o IIS). Cuando varios usuarios realizan peticiones sobre una misma página, no se crean n-instancias de la misma para dar respuesta a cada cliente. La programación de este tipo de aplicaciones, sigue una sintaxis muy similar al HTML estándar. Solo funciona en servidores Windows. Tecnologías de creación de páginas Web dinámicas JSP (Java Server Pages) Es un desarrollo de la compañía Sun Microsystems y funciona de manera similar a las páginas ASP pero se basa en el uso del lenguaje Java. Existe una independencia entre la capa de presentación y la de negocio. Cuando se realiza una petición a una página JSP, está se compila y se transforma en un servlet que es el que se encargará de realizar el trabajo y generar la salida que el servidor web enviará al cliente. JSP es multiplataforma y puede ejecutarse en una multitud servidores web. Tecnologías de creación de páginas Web dinamicas PHP (Hipertext Preprocessor Pages) Originalmente escrito en el lenguaje Perl, su autor original fue el programador Rasmus Lerdof. PHP permite la programación en consola, al estilo del shell scripting, así como la creación de aplicaciones gráficas independientes del navegador mediante la combinación de PHP y GTK (GIMP Tool Kit). Entre sus características más importantes radica la de ser un lenguaje multiplataforma, gratuito, posee la posibilidad de conexión a múltiples bases de datos y expansión. Arquitectura de la Web La arquitectura de la Web, tal como la define Tim Berners-Lee, se basa en la utilización de tres estándares: URL, el Localizador Uniforme de Recursos, que especifica cómo a cada página de información se asocia una “dirección” única (o dirección IP) en donde encontrarla. HTTP, el Protocolo de Transferencia de Hipertexto, que especifica cómo el navegador y el servidor intercambian información en forma de peticiones y respuestas. HTML, el Lenguaje de Marcación de Hipertexto, un método para codificar la información de los documentos y sus enlaces. Localizador Uniforme de Recursos (URL) Es una secuencia de caracteres, de acuerdo a un formato estándar, que se usa para nombrar recursos, como documentos e imágenes en Internet, por su localización. La URL es la cadena de caracteres con la cual se asigna una dirección única a cada uno de los recursos de información disponibles en la Internet. Existe un URL única para cada página de cada uno de los documentos de la World Wide Web. La URL de un recurso de información es su dirección en Internet, la cual permite que el navegador la encuentre y la muestre de forma adecuada. La URL combina el nombre de la computadora que proporciona la información, el directorio donde se encuentra, el nombre del archivo y el protocolo a usar para recuperar los datos. http://148.210.01.7 en lugar de http://www.pagina.com Sintaxis: protocolo://máquina/directorio/archivo protocolo://usuario:contraseña@máquina:puerto/directorio/archivo Protocolo de Transferencia de Hipertexto (HTTP) Es el protocolo usado en cada transacción de la Web. El hipertexto es el contenido de las páginas web, y el protocolo de transferencia es el sistema mediante el cual se envían las peticiones para acceder a una página web, y obtener la respuesta de esa misma web, remitiendo la información que se verá en la pantalla del navegador. El protocolo también permite enviar información adicional en ambos sentidos, como formularios con mensajes y otros similares. Los datos del usuario se pueden enviar de dos modos diferentes: GET: los datos se envían al servidor web en la URL de llamada POST: La información se envía al servidor web en el cuerpo http HTTP es un protocolo sin estado, es decir, que no guarda información sobre conexiones anteriores. Al finalizar la transacción todos los datos se pierden. Lenguaje de Marcación de Hipertexto (HTML) El HTML, HyperText Markup Languaje (lenguaje de marcas de hipertexto), es un lenguaje de marcación diseñado para estructurar textos y presentarlos en forma de hipertexto, que es el formato estándar de las páginas web. Tim Berners-Lee crea el HTML como un subconjunto de otro lenguaje mayor, el lenguaje SGML (Standard Generalized Markup Language). HTML utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y final, mediante las cuales se determina la forma en la que debe aparecer en el navegador el texto, así como las imágenes y otros elementos, en la pantalla de la computadora. Toda etiqueta se identifica porque está encerrada entre los signos menor que y mayor que (<>), y algunas tienen atributos que pueden tomar algún valor. Lenguaje de Marcación de Hipertexto (HTML) Algunas etiquetas básicas HTML: <HTML>: es la etiqueta que define el inicio del documento HTML, le indica al navegador que todo lo que viene a continuación debe tratarlo como una serie de códigos HTML. <HEAD>: Define la cabecera del documento HTML, suele contener información sobre el documento que no se muestra directamente en el navegador. También se encuentra: <TITLE>: define el título de la página. <LINK>: para características avanzadas, como hojas de estilo utilizadas. <BODY>: Define el contenido principal o cuerpo del documento, es la parte que se muestra en el navegador. Dentro del cuerpo se pueden incluir otras etiquetas. Ejemplos: <H1>, <H2>, …, <H6> : encabezados o títulos del documento en diferentes tamaños de fuente. <P>: párrafo nuevo Lenguaje de Marcación de Hipertexto (HTML) <TABLE>: inicio de una tabla (las filas se identifican con <TR> y las celdas dentro de las filas con <TD>) <A>: indica la existencia de un hipervículo o enlace. Ejemplo: <a href=http://www.google.com> Google </a> <IMG>: indica la existencia de una imagen para mostrarse en el navegador. <font color=“#xxxxxx”>: para cambiar el color de la letra, donde las x son un número hexadecimal. <LI> <OL> <UL> : utilizados para el manejo de listas. Ejercicio Escribir su CVU en una página HTLM, incluyendo imágenes. Generaciones de la Web La Web ha pasado por tres etapas o generaciones: 1ª generación de contenido estático 2ª generación de contenido dinámica o interactivo 3ª generación de contenido colaborativo 1ª Generación de contenido estático Corresponde con la Web que va desde que se crea por Tim Berners-Lee hasta la aparición de la 2ª generación a mediados de los años 90. Se caracteriza porque las páginas Web son completamente estáticas, el contenido que presentan es el que es y no permiten al usuario realizar ningún tipo de interacción con las mismas, solo saltar de una página web a otra. 2ª Generación de Contenido Dinámico Corresponde con la Web en la que aparecen las primeras técnicas para permitir la inclusión del contenido dinámico. Se caracteriza en que las páginas Web son generadas por alguna de las tecnologías para la generación de contenido dinámico (CGIs, ASP, ASP.NET, JSP o PHP, entre otros), permiten la interacción con el usuario en un nivel en el que éste hacer las preguntas y el sistema presenta las respuestas en función de los criterios introducidos en formularios. 3ª Generación de Contenido Colaborativo En esta generación, las aplicaciones van más allá de la mera interacción entre aplicación-usuario-aplicación, ahora ellas son el mecanismo que permiten que se produzca interacción entre usuario-usuario llegando a crearse un entorno de contenido colaborativo, en donde, el usuario es un participante más en la creación del contenido que aparece en la web. Los wikis, los blogs, etc., han cambiado la forma en la que el usuario interactúa con la web haciendo de esta un lugar mucho más rico e interesante para trabajar. Características de la Web actual Funciona como una biblioteca digital hipermedia Es una biblioteca de documentos (páginas web) interconectados por hiperenlaces. Puede funcionar como una BD, y servir como una plataforma de aplicaciones. Portales que acceden a aplicaciones y presentan resultados en páginas web. Búsqueda de vuelos, consulta de cartelera, etc. Es una plataforma para elementos multimedia Ver el trailer de un estreno, escuchar la radio, etc. Un esquema de nombrado Cada uno de los documentos tienen un modo de identificación único (URLs) Preguntas propuestas ¿cómo manejar los enormes volúmenes de información que se están generando? ¿cómo indexar de manera eficiente todo el material digital? ¿cómo encontrar de manera rápida, fácil y exacta, lo que buscamos entre tanta cantidad de información? ¿cómo saber qué servicios web se encuentran disponibles y para qué sirven? Por lo tanto, … la Web La Web no incorpora mecanismos que permitan el procesado automático de la información necesario para manejar la gran cantidad de páginas que hay. La Web no incluye mecanismos para la interoperabilidad completa de Sistemas de Información basados en la misma Web. Limitaciones de la Web actual La Web actual tiene las siguientes limitaciones: Encontrar información relevante Extraer información relevante Combinar y Reusar información Limitaciones de la Web actual: Encontrar información relevante Encontrar información en la Web actual esta basada en la búsqueda de palabras clave. La búsqueda de palabras clave tiene un limitado recuerdo y precisión debido a: Sinónimos Por ejemplo, buscar información acerca de “Carros” ignorará paginas Web que contienen la palabra “Automóviles” aun cuando la información de esas páginas sea relevante. Homónimos Por ejemplo, buscar información acerca de “Jaguar” brindará páginas que contienen la información de ambos el auto y el animal, a pesar de que el usuario solo esta interesado en uno de ellos. Limitaciones de la Web actual: Encontrar información relevante La búsqueda de palabras clave tiene un limitado recuerdo y precisión debido a: Variaciones en el deletreo (spelling) Ejemplo: “organize” en Ingles Americano vs. “organise” en Ingles Britanico Errores de deletreo (spelling) Múltiples lenguajes Ejemplo: información acerca del mismo tópico publicado en la web en diferente lenguaje (Ingles, Aleman, Frances, Italiano, Ruso, etc.) Los motores de búsqueda no proporcionan significado para especificar la relación entre un recurso y un término Ejemplo sell/buy Limitaciones de la Web actual: Extraer información relevante Extraer información automática desde paginas Web no es posible debido a los diferentes formatos, sintaxis Aún desde una sola página Web es difícil extraer información relevante. ¿Cuál elegir? ¿Cuál es el precio? Limitaciones de la Web actual Combinar y reusar información Algunas tareas requieren combinar datos en la Web Buscar la misma información en diferentes bibliotecas digitales La información puede venir desde diferentes sitios web y necesita combinarse Ejemplo: Yo quiero viajar de Puebla a los Ángeles. Limitaciones de la Web actual Combinar y reusar información ¿Cómo mejorar la Web actual? Incrementar el enlace automático entre los datos. Incrementar la precisión y el recuerdo en las búsquedas Incrementar la automatización en la integración de los datos. Incrementar la automatización en el ciclo de vida de los servicios. ¡Añadir semántica a los datos y servicios es la solución! Motivación https://www.youtube.com/watch?v=off08As3siM Web Semántica Definición: T. Berners-Lee, J. Hendler, O. Lassila, “The Semantic Web”, Scientific American, May 2001 “The Semantic Web is an extension of the current web in which information is given welldefined meaning, better enabling computers and people to work in cooperation.” Ejercicio: Resumen del artículo, máximo una cuartilla y escribir una observación general del mismo.