SlideShare una empresa de Scribd logo
1 de 93
DISEÑO DE
SISTEMAS EN
INTERNET.
¿CÓMO FUNCIONA LA
WEB?
ALGUNOS TÓPICOS INTERESANTES.
•¿Qué es la Web?
•Quienes pensaron la Web como un gigantesco
espacio de información universal una suerte
biblioteca infinita.
•¿Qué estructura ha tomado este espacio?
•¿Cómo está organizado?
•¿Cómo es usado hoy?
La web es un espacio lógico construido
sobre un soporte esencial: la red de
ALGUNOS TÓPICOS INTERESANTES.
Desde el punto de vista técnico Web, Red o Internet son
objetos completamente diferentes. Internet hace
referencia a la red física que conecta diferentes
computadores y lugares. Sus preocupaciones son
protocolos de transmisión de datos (TCP/IP), manejo de
nombres de dominio, etc.
La web hace referencia a la arquitectura lógica de la
información que ha sido posible construir sobre esta
red física.
ALGUNOS TÓPICOS INTERESANTES.
El procesamiento de la información ha evolucionado
desde unidades aisladas hasta una interconexión
mundial a través de una red global (la web.)
Y con esto aparece el problema de ordinar e
integrar la información que está en cada uno de los
nodos (computadores) de esta gigantesca red.
ALGUNOS TÓPICOS INTERESANTES.
En los inicio (Años '90s del S. XX.) la idea era diseñar
un sistema global de información de forma que cada
usuario en un nodo pudiera navegar casi por el resto
(excepto el Pentágono ) automáticamente,
desconociendo cómo funciona el sistema del otro, su
SO. lenguajes de programación que usa, aplicaciones
que corre, etc.
El concepto "web" integró muchos sistemas de
información diferente por medio de la formación de
un espacio imaginario abstracto sin diferencias
BASES LÓGICAS DE LA WEB.
La arquitectura lógica de la web se sustenta en tres
pilares básicos:
Identificadores únicos (URI.)
Lenguaje universal para describir (HTML.)
Protocolo de transmisión de datos (HTTP.)
BASES LÓGICAS DE LA WEB.
La arquitectura lógica de la web se sustenta en tres
pilares básicos:
Identificadores únicos (URI.)
Un nombre propio para referirse o referenciar y
hablar o describir objetos. Ejemplo es la URL
(Localizador universal de recurso,
correspondiente a una dirección web.)
BASES LÓGICAS DE LA WEB.
La arquitectura lógica de la web se sustenta en tres
pilares básicos:
Lenguaje universal para describir (HTML.)
Un lenguaje único, entendible por todos, con
simplicidad e hipertextualidad para anclar o
redirigir al lector de un punto a otro.
BASES LÓGICAS DE LA WEB.
La arquitectura lógica de la web se sustenta en tres
pilares básicos:
Protocolo de transmisión de datos (HTTP.)
Un protocolo entre clientes (navegador, agente,
herramienta cualquiera) y servidores, que permita
enviar y traer información en HTML desde un sitio
a otro en la web, con la posibilidad de
intermediarios (proxies, gateways, túneles) entre
ellos.
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Independencia de Dispositivo.
Independencia de Software.
Internacionalización.
Multimedia.
Accesibilidad.
Ritmo y razón.
Calidad.
Independencia de escala.
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Independencia de Dispositivo.
Debe tener estándares que permitan acceder a la
información desde casi cualquier dispositivo y
formato de pantalla y audio; separando contenido
y forma en la información.
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Independencia de Software.
Un desarrollo descentralizado del software.
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Internacionalización.
Con la introducción de UNICODE, la última
barrera que cargaba su desarrollo hacia los lengu
ajes occidentales ha sido barrida.
(La diferencia clave entre el viejo HTML y el nuevo
estándar
XHTML, aparte de mejoras técnicas relacionadas c
on XML,
es que XHTML está basado en UNICODE.)
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Multimedia.
Los formatos disponibles para publicar deben estar
abiertos a todas las facetas de la creatividad human
a capaces de representar.
En este sentido, soportar multimedia no representa
sólo
un par de avances tecnológicos, sino una filosofía d
e desarrollo de la Web
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Accesibilidad.
La universalidad de la Web debe permitir que
ella sea usada por la gente independientemente
de sus discapacidades.
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Ritmo y razón.
Es absurdo pensar que en algún momento los
humanos serán prescindibles en el desarrollo y
enriquecimiento de la
web. Hay que buscar los justos términos
para cada aplicación.
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Calidad.
Es impensable que algún día toda la información vay
a a ser con calidad.
Aquí hay otro compromiso, y es que la tecnología de
la Web
debe permitirnos navegar y vivir entre información c
on diferentes niveles de calidad.
BASES LÓGICAS DE LA WEB.
Aspectos filosóficos:
Independencia de escala.
Debe permitir que la privacidad de la información de i
ndividuos
y grupos pueda ser negociada por ellos mismos, y per
mitir que
cada grupo se sienta seguro en el control de su espac
io.
LA WEB SEMÁNTICA.
Uno de los problemas más importantes en la web es
determinar el significado de cada dato. Los
buscadores funcionan de forma sintáctica, no
comprenden palabras. En la web no existen personas
especializadas catalogadoras que añadan metadatos a
los recursos de la web, debido a su exponencial
crecimiento diario y por que la web posee un modelo
distribuido.
A menudo los motores de búsqueda no responden lo
que se busca, hay dificultades para filtrar información
debido a la heterogeneidad de los datos y su
LA WEB SEMÁNTICA.
Existen avances en niveles estrucuturales y sintácticos
con XML y tecnologías afines. Sin embargo la
limitación está en relacionar la información y
agregarla, las máquinas no son hábiles para
comprender el significado y las relaciones entre las
partes de la información que recolectan.
Los humanos agregamos contexto, interpretamos y
damos sentido a la información existente en la web.
Además la tarea de diseñar e implementar la
organización requiere una descripción precisa de los
datos expuesto, la publicación distribuida y las
LA WEB SEMÁNTICA.
La solución allanar el camino para construir agentes
de software que procesen este tipo de información,
transformando la web actual en información para
servicios comprensibles por humanos y máquinas, por
medio de un lenguaje estándar de metadatos y
ontologías que permitan a los agentes encontrar el
significado siguiendo enlaces a las definiciones de
términos claves y reglas de razonamiento lógico sobre
ellas. Los metadatos son datos descriptivos sobre un
objeto o recurso físico o electrónico. Las ontologías
son especificaciones formales de vocabulario y
LA WEB SEMÁNTICA.
La solución allanar el camino para construir agentes
de software que procesen este tipo de información,
transformando la web actual en información para
servicios comprensibles por humanos y máquinas, por
medio de un lenguaje estándar de metadatos y
ontologías que permitan a los agentes encontrar el
significado siguiendo enlaces a las definiciones de
términos claves y reglas de razonamiento lógico sobre
ellas.
Los metadatos son datos descriptivos sobre un objeto
o recurso físico o electrónico. Las ontologías son
Representación de entidades, ideas y
eventos, junto con sus propiedades y
relaciones, de acuerdo con su sistema
de categorización.
LA WEB SEMÁNTICA.
Ejemplos de metadatos pueden ser referencias a
documentos de derechos de autor, accesos legales,
versionamiento, ubicación de información,
documentación de software, autenticación, etc.
Un ejemplo es RDE (Resource Description Framework),
un lenguaje diseñado para soportar la Web Semántica.
El universo a modelar es la web, un conjunto de
recursos (todo puede tener una URL), el lenguaje para
describirlo es un conjunto de propiedades.
EL FUTURO DE LA WEB.
Luego de la estructura básica actual, vendrá una
capa semántica de metadatos, que permitirá a
agentes de software procesar la información e
paralelo a los humanos.
ANATOMÍA DE LA WEB.
La web es compleja, posee páginas estáticas, páginas
dinámicas. Hay páginas públicas y privadas. Algunos
sitios tienen información semántica que ayuda a los
buscadores.
Es importante detectar patrones de acceso y sus
tendencias, de forma genérica o para un usuario
específico. También afecta el tamaño de archivos de
imágenes, audio, etc; el número de enlaces que salen
de una página y los que llegan hacia una. También
afecta la fecha de actualización de las páginas y el
DESARROLLODE
INTERNET. En las décadas de 1970 y 1980 los computadores se
desarrollaban rápidamente mientras iba siendo claro que
existía la necesidad de interconectarlos en redes
mundiales, básicamente para poder enviar mail desde una
parte del mundo a cualquier otra; necesidad básica de la
comunidad científica que hasta ese momento sólo
disponía de un lento y poco confiable sistema de cartas
internacionales para intercambiar ideas y trabajos
escritos.
Estas redes se desarrollaban en torno a un tipo
determinado de computador: existían la redes de
computadores IBM (BITNET), Digital (DECNET), Unix
DESARROLLO DE INTERNET.
Estas redes eran incompatibles entre sí, y no tenían
forma de enviar mails desde la una hacia la otra, por lo
que por un tiempo un sistema de interconexión entre
ambas consistía de una persona con un diskette que
subía y bajaba las escaleras con el mail de una red hacia
la otra.
DESARROLLO DE INTERNET.
La necesidad clara de construir un sistema
interconectado mundial entre todas estas redes fue
uno de los motores fundamentales de Internet. El
mismo nombre lo indica: el objetivo era construir una
interred; una red de redes.
Internet conquistó el mundo a través de dos
tecnologías clave: el protocolo Internet (IP), que
permitía conectar a Internet a cualquier tecnología de
red existente; y al sistema de nombres de dominio que
permitió tener direcciones de correo electrónico únicas
e independientes de la tecnología usada.
DESARROLLO DE INTERNET.
En el mundo, los nombres de dominio han sido uno
de los principales puntos de conflicto entre el sector
privado, el público y la comunidad internacional.
Aunque se ha ido avanzando mucho y se han
creado organizaciones con bastante apoyo para
administrarlos a nivel mundial, aún persisten
muchas discusiones en torno a la operación del
sistema, su relación con las marcas y la propiedad
intelectual y el rol de los gobiernos en los dominios
de país.
ARQUITECTURA DE INTERNET.
Para que la web funcione, se requiere una Internet
que provea básicamente la funcionalidad que
permita que cualquier computador conectado a
Internet pueda conectarse a un servidor identificado
por la URL utilizada.
Parte de esa funcionalidad la provee el ISP (Internet
Service Provider) y otra parte la provee mi
computador y otra el servidor web de destino.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
Este es el servicio inicial que se invoca para traducir un
nombre de dominio (como www.loquesea.ni) a una
dirección IP (como 146.83.4.11), que es básicamente
un número único que se requiere para poder llegar al
computador destino.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
Este servicio es crucial para el funcionamiento eficiente
de la web, puesto que todo nombre debe ser traducido
antes de poder conectarnos al servidor. La operación
requiere varios servidores de nombres (DNS) que
responden por cada dominio, proveyendo redundancia
y rapidez en las respuestas.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
Obtenida la dirección IP del servidor, se estable una
conexión con él, que permite enviar y recibir datos en
forma confiable, a través de un socket que es la parte
más compleja del sistema porque implementa un
protocolo de corrección de errores que permite
transmitir información sobre una Internet que pierde
datos, que los desordena y a veces incluso los duplica.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
La inteligencia del socket radica sólo en los extremos de
la conexión: el navegador y el servidor. El resto de la
red no interviene en este servicio, y eso es fundamental
para mantener a Internet como un servicio barato y
eficiente, dado que la complejidad principal la ejecutan
los computadores en los extremos.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
El servicio básico que debe proveer un ISP es el ruteo
de los datos que fluyen entre el navegador y el
servidor, los que van en paquetes separados los unos
de los otros y que deben pasar a través de varias
redes potencialmente en países y continentes
diferentes. Este es el servicio fundamental que provee
el ISP.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
Este es el diálogo que se establece entre el navegador y
el servidor web en el otro extremo una vez que están
conectados. El protocolo permite intercambiar
contenidos como texto, páginas web, imágenes, audio,
video, etc.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
Toda la web está basada en HTTP. El protocolo
original fue desplegado en Internet en 1991
y rápidamente le cambió la cara a Internet;
pasó de terminales de texto a navegadores
muy parecidos a los actuales.
ARQUITECTURA DE INTERNET.
La arquitectura Internet divide esta funcionalidad en
cuatro servicios:
1.Traducción de nombre de dominio a dirección IP
(DNS.)
2.Conexión y Transporte (socket.)
3.Ruteo de paquetes IP.
4.Protocolo HTTP.
En resumen, el navegador envía una URL al
servidor, quien le responde con el contenido
almacenado para esa URL de manera que el
navegador lo interprete y decida qué hacer
con éste. El diálogo HTTP termina al terminar
esa transferencia.
GOBIERNO DE INTERNET.
Es una forma de control y supervisión del sistema que
brinde garantías que esto funcione en forma estable
para todos.
Es muy complejo el tema de la administración y
asignación de responsabilidades en Internet. En esto
participa la comunidad Internet completa, los
gobiernos y los organismos internacionales como las
Naciones Unidas. Al ser de alcance global, no debe
ser controlada por ningún país en particular.
GOBIERNO DE INTERNET.
El organismo que intenta administrar esta discusión y
los recursos de Internet es ICANN, que es una
fundación sin fines de lucro con residencia en
California, Estados Unidos. Su autoridad es bastante
cuestionada, pero todos respetan sus procedimientos
para garantizar la estabilidad operacional de Internet.
BUSCANDO EN LA WEB.
No basta con Internet. Ni siquiera basta con la Web. El
ingrediente imprescindible que se necesita son los
buscadores o máquinas de búsqueda.
Ellos conocen en qué páginas de la web aparecen qué
palabras (y saben bastante más). Sin un buscador,
debería conocer las direcciones web de todos los sitios
de bibliotecas, o de turismo, o de cualquier tema que
pudiera interesar, y las que no conociera sería como si
no existiesen.
BUSCANDOENLA
WEB.
BUSCANDO EN LA WEB.
Es un gigantesco desafío tecnológico y científico que
supone desarrollar un buscador.
Algunas cuestiones básicas son:
¿Qué páginas debería conocer un buscador?
¿Qué debería almacenar de esas páginas?
¿Qué tipo de preguntas debería aceptar?
¿Qué debería responder a esas preguntas?
¿Cómo debería mostrar la información?
… ¿QUÉ PÁGINAS DEBERÍA CONOCER UN
BUSCADOR?
¡Todas! pero lamentablemente no es posible. La web
cambia demasiado seguido: un porcentaje alto de las
páginas cambia de un mes a otro, y aparece un
porcentaje importante de páginas nuevas.
Internet no es lo suficientemente rápida: se necesitan
meses para transmitir todas las páginas de la web al
buscador. Es simplemente imposible mantener una foto
actualizada de la web. ¡No es posible explorarla al ritmo
de se crecimiento! La foto que almacena un buscador es
siempre incompleta y sólo parcialmente actualizada. No
CRAWLING: ¿QUÉ PÁGINAS DEBERÍA CONOCER
UN BUSCADOR?
Se llama crawling al procedimiento de visitar páginas
para ir actualizando lo que el buscador sabe de ellas.
Un crawler es un programa que corre en la máquina del
buscador y que solicita a distintos computadores de
Internet que le transfieran el contenido de las páginas
web que él les indica.
Para estos computadores es casi lo mismo que un
crawler o un ser humano visite sus páginas: debe
enviarle el contenido de la página solicitada.
CRAWLING: ¿QUÉ PÁGINAS DEBERÍA
CONOCER UN BUSCADOR?
Un tema fundamental en un buscador es justamente
decidir qué páginas debe conocer y la frecuencia para
actualizar el conocimiento que tiene sobre cada página.
Un crawler comienza con un conjunto pequeño de
páginas conocidas, dentro de las cuales encuentra
enlaces a otras páginas, que agrega a la lista de las que
debe visitar. Rápidamente esta lista crece y es necesario
determinar el orden para visitarlas. Este orden se llama
“política de crawling”.
CRAWLING: ¿QUÉ PÁGINAS DEBERÍA
CONOCER UN BUSCADOR?
Algunas variables relevantes para determinar esta
política son la importancia de las páginas (debería
actualizar más frecuentemente una página que es más
importante, lo que puede medirse como cantidad de
veces que la página se visita o cantidad de páginas que
la apuntan o frecuencia con que se buscan las palabras
que contiene, etc.), y la frecuencia de cambio de las
páginas (el crawler debería visitar más frecuentemente
una página que cambia más seguido), entre otras.
INDEXAMIENTO: ¿QUÉ DEBERÍA ALMACENARSE DE LAS
PÁGINAS?
El indexamiento es el proceso de construir un índice de
las páginas visitadas por el crawler. Este índice almacena
la información de manera que sea rápido determinar qué
páginas son relevantes a una consulta.
Dados los volúmenes de datos involucrados (los mayores
buscadores hoy indexan más de 3 mil millones de
páginas, que ocupan varios terabytes), es imposible
recorrer una a una todas las páginas almacenadas en un
buscador para encontrar cuáles contienen las palabras
que le interesan al usuario.
INDEXAMIENTO: ¿QUÉ DEBERÍA
ALMACENARSE DE LAS PÁGINAS?
¡Esto demoraría horas o días para una sola consulta! El
buscador construye lo que se llama un índice invertido,
que tiene una lista de todas las palabras distintas que ha
visto, y para cada palabra almacena la lista de las páginas
donde ésta aparece mencionada.
Con un índice invertido, las consultas se pueden resolver
mediante buscar las palabras en el índice y procesar sus
listas de páginas correspondientes (intersectándolas, por
ejemplo)
INDEXAMIENTO: ¿QUÉ DEBERÍA
ALMACENARSE DE LAS PÁGINAS?
Los buscadores grandes deben procesar hasta mil
consultas por segundo. Si bien este trabajo puede
repartirse entre varios computadores, la exigencia sigue
siendo alta. El mayor costo para responder una consulta es
leer de disco las listas de páginas apuntadas por el índice
invertido.
Es posible usar técnicas de compresión de datos para
reducir el espacio en que se representan estas listas. Con
esto se logra ganar espacio y velocidad simultáneamente.
Pueden hacerse también otras cosas, como precalcular las
BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA
RESPONDER Y CÓMO?
Considerando que el usuario escribe algunas palabras
de interés y el buscador le da la lista de las páginas
donde aparecen estas palabras. La realidad es más
complicada.
Una consulta por una única palabra, normalmente
devolvería millones de páginas y el usuario no tiene la
menor posibilidad de examinarlas según sus
necesidades relevantes de información
BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA
RESPONDER Y CÓMO?
Varias formas de calcular la relevancia dan lugar a mejores o
peores heurísticas. Mayor cantidad de veces que aparece
una palabra en una página es subjetivo si se analiza con
relación al largo de páginas que la contienen. Estas páginas
podrían ser más o menos importantes según sus visitas o
por ser apuntadas por otras.
Algo más sofisticado sería analizar el comportamiento de
otros usuarios que buscaron lo mismo (minería de
consultas), añádale información posicional (ubicación en los
BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA
RESPONDER Y CÓMO?
Los buscadores normalmente presentan una lista de las
primeras páginas según el orden que han hecho
basados en la consulta y según el contexto donde las
palabras aparecen.
La situación se complica con varias palabras, donde
cada una tiene distintos grados de importancia, como
las preposiciones. Conseguir respuestas de búsquedas
más sofisticadas a gran escala es complejo y son temas
actuales de investigación.
BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA
RESPONDER Y CÓMO?
Ejemplo:
Buscar por contenido en fotos, audios o videos.
Preguntar con información relativa al tiempo, lugar
o valores relativos al contexto.
GRANDES VOLÚMENES DE INFORMACIÓN
UTILIZANDO CLUSTERS DE
COMPUTADORAS.
Lo que hacen los buscadores actuales es utilizar
(clusters) un conjunto de computadores
interconectados en red y comunicados por mensajes
para resolver los distintos pasos involucrados en la
producción de una respuesta a una consulta de
usuario.
En un cluster utilizado como máquina de búsqueda,
cada computador tiene su propia memoria RAM y disco
para almacenar una parte de la información del
GRANDES VOLÚMENES DE INFORMACIÓN
UTILIZANDO CLÚSTERES DE
COMPUTADORAS.
En una máquina de búsqueda las consultas de los usuarios
llegan a un computador recepcionista llamado broker, el
cual distribuye las consultas entre los P computadores que
forman el clúster.
Sin embargo, la cantidad de respuestas puede ser
inmensamente grande puesto que las listas invertidas
pueden llegar a contener miles de identificadores de
documentos que contienen todas las palabras de la
consulta. Es necesario hacer un ranking de los resultados
GRANDES VOLÚMENES DE INFORMACIÓN
UTILIZANDO CLÚSTERES DE
COMPUTADORAS.
Sin embargo, enviar mensajes conteniendo una gran
cantidad de resultados entre dos computadores
puede consumir mucho tiempo. Es deseable reducir
la cantidad de comunicación entre computadores.
RECOLECCIÓN DE PÁGINAS WEB Y
CLÚSTERES.
Gran parte del éxito de una máquina de búsqueda
descansa en su capacidad de almacenar la versión más
reciente de la web. Por tanto es necesario establecer un
orden para realizar las visitas a los sitios web para
recuperar primero los sitios que son de mayor interés
para los usuarios.
Una manera de asignar una medida de “interés” para los
sitios web es suponer que los sitios que son más
“apuntados” por otros sitios reconocidos como
importantes son también interesantes para los usuarios.
RECOLECCIÓN DE PÁGINAS WEB Y
CLÚSTERES.
Para poder realizar consultas de información en una
máquina de búsqueda se necesita que ésta contenga
información actualizada de la web.
Los buscadores comerciales tienen software en operación
que está constantemente conectándose a los sitios web
del mundo para indexar los documentos y sitios y
ponerlos a disposición de los usuarios.
Para bajar la web mundial es necesario utilizar clústeres
de computadores cuyo número varía entre diez y veinte
mil computadores y es un proceso que demora varias
TRANSFORMANDO LA WEB EN UNA BD.
Una de las razones para la popularización de la web ha sido
el desarrollo de una infinidad de páginas que entregan
distintos servicios; buscadores como Yahoo! y Google,
grandes repositorios de información como Wikipedia,
tiendas electrónicas como Amazon, diarios y revistas
electrónicas, página personales, etc.
La cantidad de información almacenada en la web ha crecido
de manera tal, que ningún usuario tiene la capacidad de
recorrer la web entera en busca de información; y es
necesario utilizar buscadores automáticos como Yahoo! y
TRANSFORMANDO LA WEB EN UNA BD.
Nadie niega la importancia y utilidad que tienen los
buscadores para encontrar información en la web. Sin
embargo, muchos usuarios pueden decir que su
experiencia con ellos no ha sido completamente
satisfactoria.
A medida que las consultas que se quiere realizar son más
complejas, la búsqueda de información puede requerir
intentos en los cuales es necesario jugar con distintos
parámetros.
TRANSFORMANDO LA WEB EN UNA BD.
En este problema ha estado involucrado HTML, un
lenguaje que permite estructurar tanto la información
como las posibilidades de navegación en una página web.
Los buscadores tienen dificultades para interpretar
información por el uso de HTML, el cual permite desplegar
información que es fácil entender para los humanos, pero
que es difícil interpretar para los computadores.
Estas dificultades ya pueden verse en ejemplos tan
sencillos como:
TRANSFORMANDOLA
WEBENUNABD.
<html>
<body bgcolor="#FFFFFF">
<center>
<h2> Todo Libros </h2>
</center>
<ul>
<li><b>Teor&iacute;a de Juegos.</b>
Martin Osborne y Ariel Rubinstein. Precio:
160.</li>
</ul>
</body>
</html>
TRANSFORMANDO LA WEB EN UNA BD.
Este archivo ha sido espaciado de manera que sea fácil
visualizar la estructura jerárquica del documento:
<li>: corresponde a un ítem en la lista definida por
<ul>
Para un computador esta información no es tan clara.
Una de las razones es que el computador no tiene la
información de contexto, o meta-información, que
tiene el usuario.
TRANSFORMANDO LA WEB EN UNA BD.
El documento HTML no tiene indicación alguna sobre
donde buscar esta información, simplemente dice
cómo debe ser desplegada la lista. Y más complicado
serían algunos cálculos para saber el precio final.
La búsqueda de información en la web puede
mejorarse si los formatos usados para almacenar
información pueden ser fácilmente interpretados por
los computadores. Una propuesta para hacer esto es el
uso de XML.
TRANSFORMANDOLAWEB
ENUNABD.
<?xml version="1.0" encoding=" utf-8"?>
<bookList>
<book isbn="0471777781">
<title>Professional Ajax</title>
<author>Nicholas C. Zakas, Jeremy McPeak, Joe
Fawcett</author>
<publisher>Wrox</publisher>
<book isbn="1861002025">
<title>Professional Visual Basic 6 Databases</title>
<author>Charles Williams</author>
<publisher>Wrox</publisher> </book>
</bookList>
TRANSFORMANDO LA WEB EN UNA BD:
XML.
Un documento XML (eXtensible Markup Language [2]) es
similar a un documento HTML; está compuesto por
marcadores, o “tags”, que están anidados como en el
caso de HTML.
La mayor diferencia es que los marcadores HTML tienen
significados predefinidos, tales como <title> y <ul>,
mientras que los de XML son definidos por el usuario.
Por ejemplo, almacenar la misma información que el
HTML anterior sería:
TRANSFORMANDOLAWEBEN
UNABD:XML. <?xml version="1.0"?>
<libreria><nombre>Todo Libros</nombre>
<libro>
<titulo>Teor&iacute;a de Juegos</titulo>
<autor><nombre>Martin</nombre>
<apellido>Osborne</apellido></autor>
<autor><nombre>Ariel</nombre>
<apellido>Rubinstein</apellido></autor>
<precio>160</precio>
</libro>
</libreria>
TRANSFORMANDO LA WEB EN UNA BD:
XML.
El documento está compuesto por marcadores como
<libreria>, <libro> y <autor>. Un marcador con nombre
<a> es cerrado por uno con nombre </a>.
Los nombres de los marcadores los define el usuario y la
única restricción que deben cumplir, como en HTML, es que
deben estar correctamente anidados.
Los marcadores se usan para mostrar claramente la
información sobre un libro. Si un computador quiere buscar
el título de un libro, basta que busque el marcador <titulo>
y que después despliegue lo que se encuentra en el
marcador.
TRANSFORMANDO LA WEB EN UNA BD:
XML.
La forma como la información está agrupada y los
nombres de los marcadores le indican a un computador
dónde buscar información. XML es una buena alternativa
para almacenar información; un computador tiene mayores
posibilidades de interpretar y extraer información en estos
documentos.
Mientras HTML es usado para especificar cómo desplegar
información en un browser, XML es usado para almacenar
información y no contiene indicaciones de como mostrarla.
Entonces se deben diseñar tecnologías que permitan sacar
ventajas de ambos lenguajes.
TRANSFORMANDO LA WEB EN UNA BD:
XML.
XML (Extendible Markup Languaje), ha sido diseñado
para transportar y almacenar datos de codificación de
información fácilmente entre varias plataformas que
utilicen una misma lógica interna. La información que
contiene los documentos XML son archivos de texto
organizados de forma de árbol: cada rama puede tener
unos atributos propios y servir de base para otras
ramas.
TRANSFORMANDO LA WEB EN UNA BD:
XML.
Una de las razones para la creación de XML fue tener un
formato que permitiera intercambiar información en la
web.
La idea es que si varias personas o empresas desean
intercambiar datos sobre un tema común y usan formatos
XML distintos para almacenar su información, entonces
puedan intercambiar información de manera sencilla
usando algún lenguaje de transformación que permita
cambiar de un formato a otro.
TRANSFORMANDO LA WEB EN UNA BD:
XML.
XML fue elegido como el lenguaje para intercambiar
información por su gran flexibilidad, esencialmente
cualquier documento XML es válido mientras la anidación
de los marcadores sea correcta.
El lenguaje elegido para especificar las transformaciones
fue XSLT (Extensible Stylesheet Language Transformations.)
Es un lenguaje que busca patrones dentro de un documento
e indica cómo reestructurarlos. XSLT en general permite
generar cualquier tipo de documento desde un documento
XML (HTML, texto plano, programa en algún lenguaje de
TRANSFORMANDO LA WEB EN UNA BD:
XML.
En particular, es usado por browsers como FireFox y
Explorer para poder desplegar documentos XML. La idea
aquí es simple: como XML es un mejor formato para
almacenar información, conviene tener los documentos en
la web en este formato.
TRANSFORMANDO LA WEB EN UNA BD:
XML.
Si un documento XML tiene que ser desplegado por un
browser, entonces se usa un conjunto de reglas XSLT para
generar un documento HTML desde la fuente XML, el cual
es usado por el browser al desplegar la información.
Para indicar cuál es el programa XSLT a usar al desplegar
un documento XML se usa una línea adicional en el
documento. Un ejemplo sería:
TRANSFORMANDO LA WEB EN UNA BD:
XML.
<?xml version="1.0"?>
<?xmlstylesheet type="text/xsl"
href="libreria.xslt"?>
<libreria>
<nombre>Todo Libros</nombre>
<libro>
...
</libro>
</libreria>
TRANSFORMANDO LA WEB EN UNA BD:
XML.
En el campo href="libreria.xslt" se indica que se debe usar
el archivo XSLT libreria.xslt compuesto por una serie de
patrones que son declarados a través del marcador
xsl:template y un atributo match que indica dónde se debe
usar el patrón.
Los datos son almacenados en un archivo XML, el cual es
desplegado en un browser usando un conjunto de reglas
XSLT que indican cómo generar un archivo HTML desde el
archivo XML original. Para sacar el mayor provecho a este
enfoque, todavía faltaría indicar cómo se puede extraer
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
Para un computador es más fácil interpretar información
escrita en XML y por tanto es más fácil extraer información
desde este formato; y por otra parte HTML provee buenas
herramientas para desplegar información en la web.
Para esto es necesario tener buenos lenguajes de consulta
para XML. Estos deben ser suficientemente expresivos
como para permitir al usuario expresar consultas
generales, y estar acompañados de procedimientos
eficientes para evaluar consultas: XPath y XQuery.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
XPath provee una serie de herramientas que permiten
navegar un documento XML, seleccionar elementos
desde él y extraerlos para ser desplegados o usados por
otras consultas.
Suponga está usando el documento XML sobre libros. Si
un usuario quiere extraer el nombre de la librería,
puede utilizar la consulta XPath:
child/?nombre/text()
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
child/?nombre/text()
Esencialmente una consulta en XPath consiste de un camino
y su respuesta es el conjunto de todos los elementos que
pueden ser alcanzados en un documento XML, siguiendo el
camino desde el primer elemento de este documento.
Puede utilizar palabras que tienen un significado reservado
(child y text() en el ejemplo) o palabras cuyo significado está
dado por un documento (nombre en el ejemplo). Además, en
una expresión XPath se puede utilizar el símbolo ? para
indicar que se quiere revisar una condición.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
child/?nombre/text()
En el ejemplo, la palabra reservada child es utilizada para
pasar de un elemento a sus hijos y ?nombre indica que sólo
se considerarán los elementos con marcador <nombre>.
Así, utilizando la expresión child en el ejemplo se pasa de
un elemento con marcador <libreria> a los que tiene
marcadores <nombre> y <titulo>, y utilizando el test
?nombre se selecciona el único elemento con marcador
<nombre> hijo del elemento con marcador <libreria>.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
Finalmente se utiliza text() para extraer el texto
almacenado dentro del elemento con marcador
<nombre>, es decir, Todo Libros.
Una consulta para extraer la lista de apellidos de todos los
autores de libros sería:
descendant/?apellido/text()
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
La palabra reservada descendant, indica que se debe utilizar
los descendientes del primer elemento del documento, es
decir, los elementos que son alcanzables utilizando los
caminos child, child/child, child/child/child, etc. También
puede utilizar la consulta
descendant/?libro/descendant/?apellido/text()
La cual busca apellidos que aparezcan dentro de elementos
con marcador <libro>.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
XQuery es un lenguaje más completo, que usa XPath para
navegar documentos XML y tiene herramientas para
estructurar la información extraída como un documento
XML.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.let $lib := doc("libreria.xml")
return
<lista> {
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return <libro> {
<titulo> $x/descendant/?titulo/text()
</titulo>
<precio> $x/descendant/?precio/text()
</precio> }
</libro> }
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
let $lib := doc("libreria.xml")
return
<lista> {
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return <libro> {
<titulo> $x/descendant/?titulo/text()
</titulo>
<precio> $x/descendant/?precio/text()
</precio> }
En XQuery pueden aparecer elementos con un
significado predefinido y otros que deben ser
interpretados en un documento XML. let es usado
para indicar que la variable (comienza con $) $lib
está ligada al documento libreria.xml .
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
let $lib := doc("libreria.xml")
return
<lista> {
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return <libro> {
<titulo> $x/descendant/?titulo/text()
</titulo>
<precio> $x/descendant/?precio/text()
</precio> }
En esta consulta for es usado para indicar que
una variable debe tomar todos los valores
alcanzados al utilizar un camino en XPath.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
let $lib := doc("libreria.xml")
return
<lista> {
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return <libro> {
<titulo> $x/descendant/?titulo/text()
</titulo>
<precio> $x/descendant/?precio/text()
</precio> }
Por ejemplo: for $x in $bib/child/?libro indica
que $x va a tomar como valor los elementos
con marcador <libro> que son hijos del primer
elemento del documento
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
let $lib := doc("libreria.xml")
return
<lista> {
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return <libro> {
<titulo> $x/descendant/?titulo/text()
</titulo>
<precio> $x/descendant/?precio/text()
</precio> }
Al igual que en un lenguaje de programación,
las instrucciones que utilizan for pueden
aparecer anidadas.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
let $lib := doc("libreria.xml")
return
<lista> {
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return <libro> {
<titulo> $x/descendant/?titulo/text()
</titulo>
<precio> $x/descendant/?precio/text()
</precio> }
En la consulta anterior, where es usado
para revisar una condición y return para
indicar que algo debe estar en la salida
de la consulta. Por ejemplo, en la
condición where $y/text() = Rubinstein
se chequea que el apellido del autor que
se va a utilizar sea Rubinstein.
EXTRACCIÓN DE INFORMACIÓN DESDE
XML.
let $lib := doc("libreria.xml")
return
<lista> {
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return <libro> {
<titulo> $x/descendant/?titulo/text()
</titulo>
<precio> $x/descendant/?precio/text()
</precio> }
En una consulta XQuery se puede
indicar cómo se estructurará la
respuesta colocando marcadores
XML. <lista> es el marcador del
primer elemento del documento de
salida, y contiene como hijos una
serie de libros con marcador
<libro>.
GRACIA
S

Más contenido relacionado

La actualidad más candente

TecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaTecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaJavier Capa
 
Web 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasWeb 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasCarlos Arroyo
 
Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...
Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...
Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...Víctor Jesús Hernández
 
Web semántica con Protege
Web semántica con ProtegeWeb semántica con Protege
Web semántica con Protegejhymermartinez
 
Evolucion de la web
Evolucion de la webEvolucion de la web
Evolucion de la webDiegoHuera
 
Chiclayo 2012
Chiclayo 2012Chiclayo 2012
Chiclayo 2012Dangel DC
 
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0Jimmy Lopez
 
La web semántica o web3
La web semántica o web3La web semántica o web3
La web semántica o web3fachinmori
 
Web 3.0 jonathan borja
Web 3.0 jonathan borjaWeb 3.0 jonathan borja
Web 3.0 jonathan borjajonarbp
 
Apresentação - II Jornada Nacional de Investigación - ULADECH - Peru
Apresentação - II Jornada Nacional de Investigación - ULADECH - PeruApresentação - II Jornada Nacional de Investigación - ULADECH - Peru
Apresentação - II Jornada Nacional de Investigación - ULADECH - PeruFrederico Bortolato
 
Clase nº 4
Clase nº 4Clase nº 4
Clase nº 4Vekaj
 

La actualidad más candente (20)

TecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaTecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNtica
 
Herramienta Protégé para la Web Semántica
Herramienta Protégé para la Web SemánticaHerramienta Protégé para la Web Semántica
Herramienta Protégé para la Web Semántica
 
Web 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasWeb 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicas
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...
Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...
Web Semantica. La nueva Generación de Portales. (Infotec - SemanticWebBuilder...
 
La web semantica y su futuro
La web semantica y su futuroLa web semantica y su futuro
La web semantica y su futuro
 
Web semántica con Protege
Web semántica con ProtegeWeb semántica con Protege
Web semántica con Protege
 
Evolucion de la web
Evolucion de la webEvolucion de la web
Evolucion de la web
 
Chiclayo 2012
Chiclayo 2012Chiclayo 2012
Chiclayo 2012
 
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
 
La web semántica o web3
La web semántica o web3La web semántica o web3
La web semántica o web3
 
Web 3.0 jonathan borja
Web 3.0 jonathan borjaWeb 3.0 jonathan borja
Web 3.0 jonathan borja
 
Wb semantica
Wb semanticaWb semantica
Wb semantica
 
Web Semantica
Web SemanticaWeb Semantica
Web Semantica
 
Web semantica (2)
Web semantica (2)Web semantica (2)
Web semantica (2)
 
Apresentação - II Jornada Nacional de Investigación - ULADECH - Peru
Apresentação - II Jornada Nacional de Investigación - ULADECH - PeruApresentação - II Jornada Nacional de Investigación - ULADECH - Peru
Apresentação - II Jornada Nacional de Investigación - ULADECH - Peru
 
Atictes, Jornades Internet mòbil
Atictes, Jornades Internet mòbilAtictes, Jornades Internet mòbil
Atictes, Jornades Internet mòbil
 
Presentacion
PresentacionPresentacion
Presentacion
 
Clase nº 4
Clase nº 4Clase nº 4
Clase nº 4
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 

Similar a Como funciona la web (20)

Webmaster20
Webmaster20Webmaster20
Webmaster20
 
Evolución de la web
Evolución de la webEvolución de la web
Evolución de la web
 
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
 
Evolución de la Web.
Evolución de la Web. Evolución de la Web.
Evolución de la Web.
 
Monografia ontologias - Primera Aproximación
Monografia ontologias - Primera AproximaciónMonografia ontologias - Primera Aproximación
Monografia ontologias - Primera Aproximación
 
Trabajo compu en_wiki
Trabajo compu en_wikiTrabajo compu en_wiki
Trabajo compu en_wiki
 
La web semantica
La web semanticaLa web semantica
La web semantica
 
Evolucion web(1)
Evolucion web(1)Evolucion web(1)
Evolucion web(1)
 
Evolucion web
Evolucion webEvolucion web
Evolucion web
 
Introducción a la web semántica
Introducción a la web semánticaIntroducción a la web semántica
Introducción a la web semántica
 
Web semantica 0000
Web semantica 0000Web semantica 0000
Web semantica 0000
 
SemanticWebBuilder
SemanticWebBuilderSemanticWebBuilder
SemanticWebBuilder
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Tecnologia internet
Tecnologia internetTecnologia internet
Tecnologia internet
 
web semantica
web semanticaweb semantica
web semantica
 
Unidad1 espiral
Unidad1 espiralUnidad1 espiral
Unidad1 espiral
 
Herramientas web 3.0
Herramientas web 3.0Herramientas web 3.0
Herramientas web 3.0
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Web semántica y visiones de la web 3.0
Web semántica y visiones de la web 3.0 Web semántica y visiones de la web 3.0
Web semántica y visiones de la web 3.0
 
Web 2 - 4 - Metaweb
Web 2 - 4 - MetawebWeb 2 - 4 - Metaweb
Web 2 - 4 - Metaweb
 

Más de Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

Más de Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Último

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Último (20)

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 

Como funciona la web

  • 2. ALGUNOS TÓPICOS INTERESANTES. •¿Qué es la Web? •Quienes pensaron la Web como un gigantesco espacio de información universal una suerte biblioteca infinita. •¿Qué estructura ha tomado este espacio? •¿Cómo está organizado? •¿Cómo es usado hoy? La web es un espacio lógico construido sobre un soporte esencial: la red de
  • 3. ALGUNOS TÓPICOS INTERESANTES. Desde el punto de vista técnico Web, Red o Internet son objetos completamente diferentes. Internet hace referencia a la red física que conecta diferentes computadores y lugares. Sus preocupaciones son protocolos de transmisión de datos (TCP/IP), manejo de nombres de dominio, etc. La web hace referencia a la arquitectura lógica de la información que ha sido posible construir sobre esta red física.
  • 4. ALGUNOS TÓPICOS INTERESANTES. El procesamiento de la información ha evolucionado desde unidades aisladas hasta una interconexión mundial a través de una red global (la web.) Y con esto aparece el problema de ordinar e integrar la información que está en cada uno de los nodos (computadores) de esta gigantesca red.
  • 5. ALGUNOS TÓPICOS INTERESANTES. En los inicio (Años '90s del S. XX.) la idea era diseñar un sistema global de información de forma que cada usuario en un nodo pudiera navegar casi por el resto (excepto el Pentágono ) automáticamente, desconociendo cómo funciona el sistema del otro, su SO. lenguajes de programación que usa, aplicaciones que corre, etc. El concepto "web" integró muchos sistemas de información diferente por medio de la formación de un espacio imaginario abstracto sin diferencias
  • 6. BASES LÓGICAS DE LA WEB. La arquitectura lógica de la web se sustenta en tres pilares básicos: Identificadores únicos (URI.) Lenguaje universal para describir (HTML.) Protocolo de transmisión de datos (HTTP.)
  • 7. BASES LÓGICAS DE LA WEB. La arquitectura lógica de la web se sustenta en tres pilares básicos: Identificadores únicos (URI.) Un nombre propio para referirse o referenciar y hablar o describir objetos. Ejemplo es la URL (Localizador universal de recurso, correspondiente a una dirección web.)
  • 8. BASES LÓGICAS DE LA WEB. La arquitectura lógica de la web se sustenta en tres pilares básicos: Lenguaje universal para describir (HTML.) Un lenguaje único, entendible por todos, con simplicidad e hipertextualidad para anclar o redirigir al lector de un punto a otro.
  • 9. BASES LÓGICAS DE LA WEB. La arquitectura lógica de la web se sustenta en tres pilares básicos: Protocolo de transmisión de datos (HTTP.) Un protocolo entre clientes (navegador, agente, herramienta cualquiera) y servidores, que permita enviar y traer información en HTML desde un sitio a otro en la web, con la posibilidad de intermediarios (proxies, gateways, túneles) entre ellos.
  • 10. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Independencia de Dispositivo. Independencia de Software. Internacionalización. Multimedia. Accesibilidad. Ritmo y razón. Calidad. Independencia de escala.
  • 11. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Independencia de Dispositivo. Debe tener estándares que permitan acceder a la información desde casi cualquier dispositivo y formato de pantalla y audio; separando contenido y forma en la información.
  • 12. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Independencia de Software. Un desarrollo descentralizado del software.
  • 13. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Internacionalización. Con la introducción de UNICODE, la última barrera que cargaba su desarrollo hacia los lengu ajes occidentales ha sido barrida. (La diferencia clave entre el viejo HTML y el nuevo estándar XHTML, aparte de mejoras técnicas relacionadas c on XML, es que XHTML está basado en UNICODE.)
  • 14. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Multimedia. Los formatos disponibles para publicar deben estar abiertos a todas las facetas de la creatividad human a capaces de representar. En este sentido, soportar multimedia no representa sólo un par de avances tecnológicos, sino una filosofía d e desarrollo de la Web
  • 15. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Accesibilidad. La universalidad de la Web debe permitir que ella sea usada por la gente independientemente de sus discapacidades.
  • 16. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Ritmo y razón. Es absurdo pensar que en algún momento los humanos serán prescindibles en el desarrollo y enriquecimiento de la web. Hay que buscar los justos términos para cada aplicación.
  • 17. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Calidad. Es impensable que algún día toda la información vay a a ser con calidad. Aquí hay otro compromiso, y es que la tecnología de la Web debe permitirnos navegar y vivir entre información c on diferentes niveles de calidad.
  • 18. BASES LÓGICAS DE LA WEB. Aspectos filosóficos: Independencia de escala. Debe permitir que la privacidad de la información de i ndividuos y grupos pueda ser negociada por ellos mismos, y per mitir que cada grupo se sienta seguro en el control de su espac io.
  • 19. LA WEB SEMÁNTICA. Uno de los problemas más importantes en la web es determinar el significado de cada dato. Los buscadores funcionan de forma sintáctica, no comprenden palabras. En la web no existen personas especializadas catalogadoras que añadan metadatos a los recursos de la web, debido a su exponencial crecimiento diario y por que la web posee un modelo distribuido. A menudo los motores de búsqueda no responden lo que se busca, hay dificultades para filtrar información debido a la heterogeneidad de los datos y su
  • 20. LA WEB SEMÁNTICA. Existen avances en niveles estrucuturales y sintácticos con XML y tecnologías afines. Sin embargo la limitación está en relacionar la información y agregarla, las máquinas no son hábiles para comprender el significado y las relaciones entre las partes de la información que recolectan. Los humanos agregamos contexto, interpretamos y damos sentido a la información existente en la web. Además la tarea de diseñar e implementar la organización requiere una descripción precisa de los datos expuesto, la publicación distribuida y las
  • 21. LA WEB SEMÁNTICA. La solución allanar el camino para construir agentes de software que procesen este tipo de información, transformando la web actual en información para servicios comprensibles por humanos y máquinas, por medio de un lenguaje estándar de metadatos y ontologías que permitan a los agentes encontrar el significado siguiendo enlaces a las definiciones de términos claves y reglas de razonamiento lógico sobre ellas. Los metadatos son datos descriptivos sobre un objeto o recurso físico o electrónico. Las ontologías son especificaciones formales de vocabulario y
  • 22. LA WEB SEMÁNTICA. La solución allanar el camino para construir agentes de software que procesen este tipo de información, transformando la web actual en información para servicios comprensibles por humanos y máquinas, por medio de un lenguaje estándar de metadatos y ontologías que permitan a los agentes encontrar el significado siguiendo enlaces a las definiciones de términos claves y reglas de razonamiento lógico sobre ellas. Los metadatos son datos descriptivos sobre un objeto o recurso físico o electrónico. Las ontologías son Representación de entidades, ideas y eventos, junto con sus propiedades y relaciones, de acuerdo con su sistema de categorización.
  • 23. LA WEB SEMÁNTICA. Ejemplos de metadatos pueden ser referencias a documentos de derechos de autor, accesos legales, versionamiento, ubicación de información, documentación de software, autenticación, etc. Un ejemplo es RDE (Resource Description Framework), un lenguaje diseñado para soportar la Web Semántica. El universo a modelar es la web, un conjunto de recursos (todo puede tener una URL), el lenguaje para describirlo es un conjunto de propiedades.
  • 24. EL FUTURO DE LA WEB. Luego de la estructura básica actual, vendrá una capa semántica de metadatos, que permitirá a agentes de software procesar la información e paralelo a los humanos.
  • 25. ANATOMÍA DE LA WEB. La web es compleja, posee páginas estáticas, páginas dinámicas. Hay páginas públicas y privadas. Algunos sitios tienen información semántica que ayuda a los buscadores. Es importante detectar patrones de acceso y sus tendencias, de forma genérica o para un usuario específico. También afecta el tamaño de archivos de imágenes, audio, etc; el número de enlaces que salen de una página y los que llegan hacia una. También afecta la fecha de actualización de las páginas y el
  • 26. DESARROLLODE INTERNET. En las décadas de 1970 y 1980 los computadores se desarrollaban rápidamente mientras iba siendo claro que existía la necesidad de interconectarlos en redes mundiales, básicamente para poder enviar mail desde una parte del mundo a cualquier otra; necesidad básica de la comunidad científica que hasta ese momento sólo disponía de un lento y poco confiable sistema de cartas internacionales para intercambiar ideas y trabajos escritos. Estas redes se desarrollaban en torno a un tipo determinado de computador: existían la redes de computadores IBM (BITNET), Digital (DECNET), Unix
  • 27. DESARROLLO DE INTERNET. Estas redes eran incompatibles entre sí, y no tenían forma de enviar mails desde la una hacia la otra, por lo que por un tiempo un sistema de interconexión entre ambas consistía de una persona con un diskette que subía y bajaba las escaleras con el mail de una red hacia la otra.
  • 28. DESARROLLO DE INTERNET. La necesidad clara de construir un sistema interconectado mundial entre todas estas redes fue uno de los motores fundamentales de Internet. El mismo nombre lo indica: el objetivo era construir una interred; una red de redes. Internet conquistó el mundo a través de dos tecnologías clave: el protocolo Internet (IP), que permitía conectar a Internet a cualquier tecnología de red existente; y al sistema de nombres de dominio que permitió tener direcciones de correo electrónico únicas e independientes de la tecnología usada.
  • 29. DESARROLLO DE INTERNET. En el mundo, los nombres de dominio han sido uno de los principales puntos de conflicto entre el sector privado, el público y la comunidad internacional. Aunque se ha ido avanzando mucho y se han creado organizaciones con bastante apoyo para administrarlos a nivel mundial, aún persisten muchas discusiones en torno a la operación del sistema, su relación con las marcas y la propiedad intelectual y el rol de los gobiernos en los dominios de país.
  • 30. ARQUITECTURA DE INTERNET. Para que la web funcione, se requiere una Internet que provea básicamente la funcionalidad que permita que cualquier computador conectado a Internet pueda conectarse a un servidor identificado por la URL utilizada. Parte de esa funcionalidad la provee el ISP (Internet Service Provider) y otra parte la provee mi computador y otra el servidor web de destino.
  • 31. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP.
  • 32. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. Este es el servicio inicial que se invoca para traducir un nombre de dominio (como www.loquesea.ni) a una dirección IP (como 146.83.4.11), que es básicamente un número único que se requiere para poder llegar al computador destino.
  • 33. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. Este servicio es crucial para el funcionamiento eficiente de la web, puesto que todo nombre debe ser traducido antes de poder conectarnos al servidor. La operación requiere varios servidores de nombres (DNS) que responden por cada dominio, proveyendo redundancia y rapidez en las respuestas.
  • 34. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. Obtenida la dirección IP del servidor, se estable una conexión con él, que permite enviar y recibir datos en forma confiable, a través de un socket que es la parte más compleja del sistema porque implementa un protocolo de corrección de errores que permite transmitir información sobre una Internet que pierde datos, que los desordena y a veces incluso los duplica.
  • 35. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. La inteligencia del socket radica sólo en los extremos de la conexión: el navegador y el servidor. El resto de la red no interviene en este servicio, y eso es fundamental para mantener a Internet como un servicio barato y eficiente, dado que la complejidad principal la ejecutan los computadores en los extremos.
  • 36. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. El servicio básico que debe proveer un ISP es el ruteo de los datos que fluyen entre el navegador y el servidor, los que van en paquetes separados los unos de los otros y que deben pasar a través de varias redes potencialmente en países y continentes diferentes. Este es el servicio fundamental que provee el ISP.
  • 37. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. Este es el diálogo que se establece entre el navegador y el servidor web en el otro extremo una vez que están conectados. El protocolo permite intercambiar contenidos como texto, páginas web, imágenes, audio, video, etc.
  • 38. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. Toda la web está basada en HTTP. El protocolo original fue desplegado en Internet en 1991 y rápidamente le cambió la cara a Internet; pasó de terminales de texto a navegadores muy parecidos a los actuales.
  • 39. ARQUITECTURA DE INTERNET. La arquitectura Internet divide esta funcionalidad en cuatro servicios: 1.Traducción de nombre de dominio a dirección IP (DNS.) 2.Conexión y Transporte (socket.) 3.Ruteo de paquetes IP. 4.Protocolo HTTP. En resumen, el navegador envía una URL al servidor, quien le responde con el contenido almacenado para esa URL de manera que el navegador lo interprete y decida qué hacer con éste. El diálogo HTTP termina al terminar esa transferencia.
  • 40. GOBIERNO DE INTERNET. Es una forma de control y supervisión del sistema que brinde garantías que esto funcione en forma estable para todos. Es muy complejo el tema de la administración y asignación de responsabilidades en Internet. En esto participa la comunidad Internet completa, los gobiernos y los organismos internacionales como las Naciones Unidas. Al ser de alcance global, no debe ser controlada por ningún país en particular.
  • 41. GOBIERNO DE INTERNET. El organismo que intenta administrar esta discusión y los recursos de Internet es ICANN, que es una fundación sin fines de lucro con residencia en California, Estados Unidos. Su autoridad es bastante cuestionada, pero todos respetan sus procedimientos para garantizar la estabilidad operacional de Internet.
  • 42. BUSCANDO EN LA WEB. No basta con Internet. Ni siquiera basta con la Web. El ingrediente imprescindible que se necesita son los buscadores o máquinas de búsqueda. Ellos conocen en qué páginas de la web aparecen qué palabras (y saben bastante más). Sin un buscador, debería conocer las direcciones web de todos los sitios de bibliotecas, o de turismo, o de cualquier tema que pudiera interesar, y las que no conociera sería como si no existiesen.
  • 44. BUSCANDO EN LA WEB. Es un gigantesco desafío tecnológico y científico que supone desarrollar un buscador. Algunas cuestiones básicas son: ¿Qué páginas debería conocer un buscador? ¿Qué debería almacenar de esas páginas? ¿Qué tipo de preguntas debería aceptar? ¿Qué debería responder a esas preguntas? ¿Cómo debería mostrar la información?
  • 45. … ¿QUÉ PÁGINAS DEBERÍA CONOCER UN BUSCADOR? ¡Todas! pero lamentablemente no es posible. La web cambia demasiado seguido: un porcentaje alto de las páginas cambia de un mes a otro, y aparece un porcentaje importante de páginas nuevas. Internet no es lo suficientemente rápida: se necesitan meses para transmitir todas las páginas de la web al buscador. Es simplemente imposible mantener una foto actualizada de la web. ¡No es posible explorarla al ritmo de se crecimiento! La foto que almacena un buscador es siempre incompleta y sólo parcialmente actualizada. No
  • 46. CRAWLING: ¿QUÉ PÁGINAS DEBERÍA CONOCER UN BUSCADOR? Se llama crawling al procedimiento de visitar páginas para ir actualizando lo que el buscador sabe de ellas. Un crawler es un programa que corre en la máquina del buscador y que solicita a distintos computadores de Internet que le transfieran el contenido de las páginas web que él les indica. Para estos computadores es casi lo mismo que un crawler o un ser humano visite sus páginas: debe enviarle el contenido de la página solicitada.
  • 47. CRAWLING: ¿QUÉ PÁGINAS DEBERÍA CONOCER UN BUSCADOR? Un tema fundamental en un buscador es justamente decidir qué páginas debe conocer y la frecuencia para actualizar el conocimiento que tiene sobre cada página. Un crawler comienza con un conjunto pequeño de páginas conocidas, dentro de las cuales encuentra enlaces a otras páginas, que agrega a la lista de las que debe visitar. Rápidamente esta lista crece y es necesario determinar el orden para visitarlas. Este orden se llama “política de crawling”.
  • 48. CRAWLING: ¿QUÉ PÁGINAS DEBERÍA CONOCER UN BUSCADOR? Algunas variables relevantes para determinar esta política son la importancia de las páginas (debería actualizar más frecuentemente una página que es más importante, lo que puede medirse como cantidad de veces que la página se visita o cantidad de páginas que la apuntan o frecuencia con que se buscan las palabras que contiene, etc.), y la frecuencia de cambio de las páginas (el crawler debería visitar más frecuentemente una página que cambia más seguido), entre otras.
  • 49. INDEXAMIENTO: ¿QUÉ DEBERÍA ALMACENARSE DE LAS PÁGINAS? El indexamiento es el proceso de construir un índice de las páginas visitadas por el crawler. Este índice almacena la información de manera que sea rápido determinar qué páginas son relevantes a una consulta. Dados los volúmenes de datos involucrados (los mayores buscadores hoy indexan más de 3 mil millones de páginas, que ocupan varios terabytes), es imposible recorrer una a una todas las páginas almacenadas en un buscador para encontrar cuáles contienen las palabras que le interesan al usuario.
  • 50. INDEXAMIENTO: ¿QUÉ DEBERÍA ALMACENARSE DE LAS PÁGINAS? ¡Esto demoraría horas o días para una sola consulta! El buscador construye lo que se llama un índice invertido, que tiene una lista de todas las palabras distintas que ha visto, y para cada palabra almacena la lista de las páginas donde ésta aparece mencionada. Con un índice invertido, las consultas se pueden resolver mediante buscar las palabras en el índice y procesar sus listas de páginas correspondientes (intersectándolas, por ejemplo)
  • 51. INDEXAMIENTO: ¿QUÉ DEBERÍA ALMACENARSE DE LAS PÁGINAS? Los buscadores grandes deben procesar hasta mil consultas por segundo. Si bien este trabajo puede repartirse entre varios computadores, la exigencia sigue siendo alta. El mayor costo para responder una consulta es leer de disco las listas de páginas apuntadas por el índice invertido. Es posible usar técnicas de compresión de datos para reducir el espacio en que se representan estas listas. Con esto se logra ganar espacio y velocidad simultáneamente. Pueden hacerse también otras cosas, como precalcular las
  • 52. BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA RESPONDER Y CÓMO? Considerando que el usuario escribe algunas palabras de interés y el buscador le da la lista de las páginas donde aparecen estas palabras. La realidad es más complicada. Una consulta por una única palabra, normalmente devolvería millones de páginas y el usuario no tiene la menor posibilidad de examinarlas según sus necesidades relevantes de información
  • 53. BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA RESPONDER Y CÓMO? Varias formas de calcular la relevancia dan lugar a mejores o peores heurísticas. Mayor cantidad de veces que aparece una palabra en una página es subjetivo si se analiza con relación al largo de páginas que la contienen. Estas páginas podrían ser más o menos importantes según sus visitas o por ser apuntadas por otras. Algo más sofisticado sería analizar el comportamiento de otros usuarios que buscaron lo mismo (minería de consultas), añádale información posicional (ubicación en los
  • 54. BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA RESPONDER Y CÓMO? Los buscadores normalmente presentan una lista de las primeras páginas según el orden que han hecho basados en la consulta y según el contexto donde las palabras aparecen. La situación se complica con varias palabras, donde cada una tiene distintos grados de importancia, como las preposiciones. Conseguir respuestas de búsquedas más sofisticadas a gran escala es complejo y son temas actuales de investigación.
  • 55. BÚSQUEDA: ¿QUÉ PREGUNTAS DEBERÍA RESPONDER Y CÓMO? Ejemplo: Buscar por contenido en fotos, audios o videos. Preguntar con información relativa al tiempo, lugar o valores relativos al contexto.
  • 56. GRANDES VOLÚMENES DE INFORMACIÓN UTILIZANDO CLUSTERS DE COMPUTADORAS. Lo que hacen los buscadores actuales es utilizar (clusters) un conjunto de computadores interconectados en red y comunicados por mensajes para resolver los distintos pasos involucrados en la producción de una respuesta a una consulta de usuario. En un cluster utilizado como máquina de búsqueda, cada computador tiene su propia memoria RAM y disco para almacenar una parte de la información del
  • 57. GRANDES VOLÚMENES DE INFORMACIÓN UTILIZANDO CLÚSTERES DE COMPUTADORAS. En una máquina de búsqueda las consultas de los usuarios llegan a un computador recepcionista llamado broker, el cual distribuye las consultas entre los P computadores que forman el clúster. Sin embargo, la cantidad de respuestas puede ser inmensamente grande puesto que las listas invertidas pueden llegar a contener miles de identificadores de documentos que contienen todas las palabras de la consulta. Es necesario hacer un ranking de los resultados
  • 58. GRANDES VOLÚMENES DE INFORMACIÓN UTILIZANDO CLÚSTERES DE COMPUTADORAS. Sin embargo, enviar mensajes conteniendo una gran cantidad de resultados entre dos computadores puede consumir mucho tiempo. Es deseable reducir la cantidad de comunicación entre computadores.
  • 59. RECOLECCIÓN DE PÁGINAS WEB Y CLÚSTERES. Gran parte del éxito de una máquina de búsqueda descansa en su capacidad de almacenar la versión más reciente de la web. Por tanto es necesario establecer un orden para realizar las visitas a los sitios web para recuperar primero los sitios que son de mayor interés para los usuarios. Una manera de asignar una medida de “interés” para los sitios web es suponer que los sitios que son más “apuntados” por otros sitios reconocidos como importantes son también interesantes para los usuarios.
  • 60. RECOLECCIÓN DE PÁGINAS WEB Y CLÚSTERES. Para poder realizar consultas de información en una máquina de búsqueda se necesita que ésta contenga información actualizada de la web. Los buscadores comerciales tienen software en operación que está constantemente conectándose a los sitios web del mundo para indexar los documentos y sitios y ponerlos a disposición de los usuarios. Para bajar la web mundial es necesario utilizar clústeres de computadores cuyo número varía entre diez y veinte mil computadores y es un proceso que demora varias
  • 61. TRANSFORMANDO LA WEB EN UNA BD. Una de las razones para la popularización de la web ha sido el desarrollo de una infinidad de páginas que entregan distintos servicios; buscadores como Yahoo! y Google, grandes repositorios de información como Wikipedia, tiendas electrónicas como Amazon, diarios y revistas electrónicas, página personales, etc. La cantidad de información almacenada en la web ha crecido de manera tal, que ningún usuario tiene la capacidad de recorrer la web entera en busca de información; y es necesario utilizar buscadores automáticos como Yahoo! y
  • 62. TRANSFORMANDO LA WEB EN UNA BD. Nadie niega la importancia y utilidad que tienen los buscadores para encontrar información en la web. Sin embargo, muchos usuarios pueden decir que su experiencia con ellos no ha sido completamente satisfactoria. A medida que las consultas que se quiere realizar son más complejas, la búsqueda de información puede requerir intentos en los cuales es necesario jugar con distintos parámetros.
  • 63. TRANSFORMANDO LA WEB EN UNA BD. En este problema ha estado involucrado HTML, un lenguaje que permite estructurar tanto la información como las posibilidades de navegación en una página web. Los buscadores tienen dificultades para interpretar información por el uso de HTML, el cual permite desplegar información que es fácil entender para los humanos, pero que es difícil interpretar para los computadores. Estas dificultades ya pueden verse en ejemplos tan sencillos como:
  • 64. TRANSFORMANDOLA WEBENUNABD. <html> <body bgcolor="#FFFFFF"> <center> <h2> Todo Libros </h2> </center> <ul> <li><b>Teor&iacute;a de Juegos.</b> Martin Osborne y Ariel Rubinstein. Precio: 160.</li> </ul> </body> </html>
  • 65. TRANSFORMANDO LA WEB EN UNA BD. Este archivo ha sido espaciado de manera que sea fácil visualizar la estructura jerárquica del documento: <li>: corresponde a un ítem en la lista definida por <ul> Para un computador esta información no es tan clara. Una de las razones es que el computador no tiene la información de contexto, o meta-información, que tiene el usuario.
  • 66. TRANSFORMANDO LA WEB EN UNA BD. El documento HTML no tiene indicación alguna sobre donde buscar esta información, simplemente dice cómo debe ser desplegada la lista. Y más complicado serían algunos cálculos para saber el precio final. La búsqueda de información en la web puede mejorarse si los formatos usados para almacenar información pueden ser fácilmente interpretados por los computadores. Una propuesta para hacer esto es el uso de XML.
  • 67. TRANSFORMANDOLAWEB ENUNABD. <?xml version="1.0" encoding=" utf-8"?> <bookList> <book isbn="0471777781"> <title>Professional Ajax</title> <author>Nicholas C. Zakas, Jeremy McPeak, Joe Fawcett</author> <publisher>Wrox</publisher> <book isbn="1861002025"> <title>Professional Visual Basic 6 Databases</title> <author>Charles Williams</author> <publisher>Wrox</publisher> </book> </bookList>
  • 68. TRANSFORMANDO LA WEB EN UNA BD: XML. Un documento XML (eXtensible Markup Language [2]) es similar a un documento HTML; está compuesto por marcadores, o “tags”, que están anidados como en el caso de HTML. La mayor diferencia es que los marcadores HTML tienen significados predefinidos, tales como <title> y <ul>, mientras que los de XML son definidos por el usuario. Por ejemplo, almacenar la misma información que el HTML anterior sería:
  • 69. TRANSFORMANDOLAWEBEN UNABD:XML. <?xml version="1.0"?> <libreria><nombre>Todo Libros</nombre> <libro> <titulo>Teor&iacute;a de Juegos</titulo> <autor><nombre>Martin</nombre> <apellido>Osborne</apellido></autor> <autor><nombre>Ariel</nombre> <apellido>Rubinstein</apellido></autor> <precio>160</precio> </libro> </libreria>
  • 70. TRANSFORMANDO LA WEB EN UNA BD: XML. El documento está compuesto por marcadores como <libreria>, <libro> y <autor>. Un marcador con nombre <a> es cerrado por uno con nombre </a>. Los nombres de los marcadores los define el usuario y la única restricción que deben cumplir, como en HTML, es que deben estar correctamente anidados. Los marcadores se usan para mostrar claramente la información sobre un libro. Si un computador quiere buscar el título de un libro, basta que busque el marcador <titulo> y que después despliegue lo que se encuentra en el marcador.
  • 71. TRANSFORMANDO LA WEB EN UNA BD: XML. La forma como la información está agrupada y los nombres de los marcadores le indican a un computador dónde buscar información. XML es una buena alternativa para almacenar información; un computador tiene mayores posibilidades de interpretar y extraer información en estos documentos. Mientras HTML es usado para especificar cómo desplegar información en un browser, XML es usado para almacenar información y no contiene indicaciones de como mostrarla. Entonces se deben diseñar tecnologías que permitan sacar ventajas de ambos lenguajes.
  • 72. TRANSFORMANDO LA WEB EN UNA BD: XML. XML (Extendible Markup Languaje), ha sido diseñado para transportar y almacenar datos de codificación de información fácilmente entre varias plataformas que utilicen una misma lógica interna. La información que contiene los documentos XML son archivos de texto organizados de forma de árbol: cada rama puede tener unos atributos propios y servir de base para otras ramas.
  • 73. TRANSFORMANDO LA WEB EN UNA BD: XML. Una de las razones para la creación de XML fue tener un formato que permitiera intercambiar información en la web. La idea es que si varias personas o empresas desean intercambiar datos sobre un tema común y usan formatos XML distintos para almacenar su información, entonces puedan intercambiar información de manera sencilla usando algún lenguaje de transformación que permita cambiar de un formato a otro.
  • 74. TRANSFORMANDO LA WEB EN UNA BD: XML. XML fue elegido como el lenguaje para intercambiar información por su gran flexibilidad, esencialmente cualquier documento XML es válido mientras la anidación de los marcadores sea correcta. El lenguaje elegido para especificar las transformaciones fue XSLT (Extensible Stylesheet Language Transformations.) Es un lenguaje que busca patrones dentro de un documento e indica cómo reestructurarlos. XSLT en general permite generar cualquier tipo de documento desde un documento XML (HTML, texto plano, programa en algún lenguaje de
  • 75. TRANSFORMANDO LA WEB EN UNA BD: XML. En particular, es usado por browsers como FireFox y Explorer para poder desplegar documentos XML. La idea aquí es simple: como XML es un mejor formato para almacenar información, conviene tener los documentos en la web en este formato.
  • 76. TRANSFORMANDO LA WEB EN UNA BD: XML. Si un documento XML tiene que ser desplegado por un browser, entonces se usa un conjunto de reglas XSLT para generar un documento HTML desde la fuente XML, el cual es usado por el browser al desplegar la información. Para indicar cuál es el programa XSLT a usar al desplegar un documento XML se usa una línea adicional en el documento. Un ejemplo sería:
  • 77. TRANSFORMANDO LA WEB EN UNA BD: XML. <?xml version="1.0"?> <?xmlstylesheet type="text/xsl" href="libreria.xslt"?> <libreria> <nombre>Todo Libros</nombre> <libro> ... </libro> </libreria>
  • 78. TRANSFORMANDO LA WEB EN UNA BD: XML. En el campo href="libreria.xslt" se indica que se debe usar el archivo XSLT libreria.xslt compuesto por una serie de patrones que son declarados a través del marcador xsl:template y un atributo match que indica dónde se debe usar el patrón. Los datos son almacenados en un archivo XML, el cual es desplegado en un browser usando un conjunto de reglas XSLT que indican cómo generar un archivo HTML desde el archivo XML original. Para sacar el mayor provecho a este enfoque, todavía faltaría indicar cómo se puede extraer
  • 79. EXTRACCIÓN DE INFORMACIÓN DESDE XML. Para un computador es más fácil interpretar información escrita en XML y por tanto es más fácil extraer información desde este formato; y por otra parte HTML provee buenas herramientas para desplegar información en la web. Para esto es necesario tener buenos lenguajes de consulta para XML. Estos deben ser suficientemente expresivos como para permitir al usuario expresar consultas generales, y estar acompañados de procedimientos eficientes para evaluar consultas: XPath y XQuery.
  • 80. EXTRACCIÓN DE INFORMACIÓN DESDE XML. XPath provee una serie de herramientas que permiten navegar un documento XML, seleccionar elementos desde él y extraerlos para ser desplegados o usados por otras consultas. Suponga está usando el documento XML sobre libros. Si un usuario quiere extraer el nombre de la librería, puede utilizar la consulta XPath: child/?nombre/text()
  • 81. EXTRACCIÓN DE INFORMACIÓN DESDE XML. child/?nombre/text() Esencialmente una consulta en XPath consiste de un camino y su respuesta es el conjunto de todos los elementos que pueden ser alcanzados en un documento XML, siguiendo el camino desde el primer elemento de este documento. Puede utilizar palabras que tienen un significado reservado (child y text() en el ejemplo) o palabras cuyo significado está dado por un documento (nombre en el ejemplo). Además, en una expresión XPath se puede utilizar el símbolo ? para indicar que se quiere revisar una condición.
  • 82. EXTRACCIÓN DE INFORMACIÓN DESDE XML. child/?nombre/text() En el ejemplo, la palabra reservada child es utilizada para pasar de un elemento a sus hijos y ?nombre indica que sólo se considerarán los elementos con marcador <nombre>. Así, utilizando la expresión child en el ejemplo se pasa de un elemento con marcador <libreria> a los que tiene marcadores <nombre> y <titulo>, y utilizando el test ?nombre se selecciona el único elemento con marcador <nombre> hijo del elemento con marcador <libreria>.
  • 83. EXTRACCIÓN DE INFORMACIÓN DESDE XML. Finalmente se utiliza text() para extraer el texto almacenado dentro del elemento con marcador <nombre>, es decir, Todo Libros. Una consulta para extraer la lista de apellidos de todos los autores de libros sería: descendant/?apellido/text()
  • 84. EXTRACCIÓN DE INFORMACIÓN DESDE XML. La palabra reservada descendant, indica que se debe utilizar los descendientes del primer elemento del documento, es decir, los elementos que son alcanzables utilizando los caminos child, child/child, child/child/child, etc. También puede utilizar la consulta descendant/?libro/descendant/?apellido/text() La cual busca apellidos que aparezcan dentro de elementos con marcador <libro>.
  • 85. EXTRACCIÓN DE INFORMACIÓN DESDE XML. XQuery es un lenguaje más completo, que usa XPath para navegar documentos XML y tiene herramientas para estructurar la información extraída como un documento XML.
  • 86. EXTRACCIÓN DE INFORMACIÓN DESDE XML.let $lib := doc("libreria.xml") return <lista> { for $x in $bib/child/?libro for $y in $x/descendant/?apellido where $y/text() = Rubinstein return <libro> { <titulo> $x/descendant/?titulo/text() </titulo> <precio> $x/descendant/?precio/text() </precio> } </libro> }
  • 87. EXTRACCIÓN DE INFORMACIÓN DESDE XML. let $lib := doc("libreria.xml") return <lista> { for $x in $bib/child/?libro for $y in $x/descendant/?apellido where $y/text() = Rubinstein return <libro> { <titulo> $x/descendant/?titulo/text() </titulo> <precio> $x/descendant/?precio/text() </precio> } En XQuery pueden aparecer elementos con un significado predefinido y otros que deben ser interpretados en un documento XML. let es usado para indicar que la variable (comienza con $) $lib está ligada al documento libreria.xml .
  • 88. EXTRACCIÓN DE INFORMACIÓN DESDE XML. let $lib := doc("libreria.xml") return <lista> { for $x in $bib/child/?libro for $y in $x/descendant/?apellido where $y/text() = Rubinstein return <libro> { <titulo> $x/descendant/?titulo/text() </titulo> <precio> $x/descendant/?precio/text() </precio> } En esta consulta for es usado para indicar que una variable debe tomar todos los valores alcanzados al utilizar un camino en XPath.
  • 89. EXTRACCIÓN DE INFORMACIÓN DESDE XML. let $lib := doc("libreria.xml") return <lista> { for $x in $bib/child/?libro for $y in $x/descendant/?apellido where $y/text() = Rubinstein return <libro> { <titulo> $x/descendant/?titulo/text() </titulo> <precio> $x/descendant/?precio/text() </precio> } Por ejemplo: for $x in $bib/child/?libro indica que $x va a tomar como valor los elementos con marcador <libro> que son hijos del primer elemento del documento
  • 90. EXTRACCIÓN DE INFORMACIÓN DESDE XML. let $lib := doc("libreria.xml") return <lista> { for $x in $bib/child/?libro for $y in $x/descendant/?apellido where $y/text() = Rubinstein return <libro> { <titulo> $x/descendant/?titulo/text() </titulo> <precio> $x/descendant/?precio/text() </precio> } Al igual que en un lenguaje de programación, las instrucciones que utilizan for pueden aparecer anidadas.
  • 91. EXTRACCIÓN DE INFORMACIÓN DESDE XML. let $lib := doc("libreria.xml") return <lista> { for $x in $bib/child/?libro for $y in $x/descendant/?apellido where $y/text() = Rubinstein return <libro> { <titulo> $x/descendant/?titulo/text() </titulo> <precio> $x/descendant/?precio/text() </precio> } En la consulta anterior, where es usado para revisar una condición y return para indicar que algo debe estar en la salida de la consulta. Por ejemplo, en la condición where $y/text() = Rubinstein se chequea que el apellido del autor que se va a utilizar sea Rubinstein.
  • 92. EXTRACCIÓN DE INFORMACIÓN DESDE XML. let $lib := doc("libreria.xml") return <lista> { for $x in $bib/child/?libro for $y in $x/descendant/?apellido where $y/text() = Rubinstein return <libro> { <titulo> $x/descendant/?titulo/text() </titulo> <precio> $x/descendant/?precio/text() </precio> } En una consulta XQuery se puede indicar cómo se estructurará la respuesta colocando marcadores XML. <lista> es el marcador del primer elemento del documento de salida, y contiene como hijos una serie de libros con marcador <libro>.