departamento de lenguajes y sistemas informáticos sindicación de contenidos web: rss curso de...

32
Departamento de Lenguajes y Sistemas Informáticos Sindicación de Sindicación de contenidos web: RSS contenidos web: RSS Curso de formación del Curso de formación del Departamento de Lenguajes y Sistemas Informáticos de Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Alicante la Universidad de Alicante para el para el Departamento de Formación de la Excelentísima Departamento de Formación de la Excelentísima Diputación Provincial de Alicante Diputación Provincial de Alicante

Upload: manolete-de-caro

Post on 27-Jan-2015

14 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Departamento de Lenguajes y Sistemas Informáticos

Sindicación de contenidos Sindicación de contenidos web: RSSweb: RSSCurso de formación delCurso de formación del

Departamento de Lenguajes y Sistemas Informáticos de la Departamento de Lenguajes y Sistemas Informáticos de la Universidad de AlicanteUniversidad de Alicante

para elpara elDepartamento de Formación de la Excelentísima Diputación Departamento de Formación de la Excelentísima Diputación

Provincial de AlicanteProvincial de Alicante

Page 2: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

IntroducciónIntroducción

Page 3: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

La necesidad de informaciónLa necesidad de información

Internet nos proporciona una ingente cantidad Internet nos proporciona una ingente cantidad de de informacióninformación..

Cada vez nos interesa conseguir más Cada vez nos interesa conseguir más información: síndrome de bulimia.información: síndrome de bulimia.

Tenemos que ir en busca de esa información Tenemos que ir en busca de esa información hasta sus fuentes.hasta sus fuentes.

Page 4: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

En busca de la informaciónEn busca de la información

Tenemos que gastar tiempo en ir a buscarla.Tenemos que gastar tiempo en ir a buscarla.

Tenemos recordar donde está la fuente.Tenemos recordar donde está la fuente.

Sólo vamos a fuentes conocidas Sólo vamos a fuentes conocidas también hay también hay que salir a la “caza” de nuevas fuentes.que salir a la “caza” de nuevas fuentes.

Page 5: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

La metáfora del aguaLa metáfora del agua

En la En la Antigüedad Antigüedad los seres humanos iban en los seres humanos iban en busca de agua a las fuentes.busca de agua a las fuentes.

En la En la ModernidadModernidad casi todos tenemos agua casi todos tenemos agua corriente en casa.corriente en casa.

PREGUNTA:PREGUNTA:

¿Por qué tenemos que salir a buscar la ¿Por qué tenemos que salir a buscar la información en lugar de canalizarla hasta información en lugar de canalizarla hasta “nuestra casa”?“nuestra casa”?

Page 6: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Gestionar la informaciónGestionar la información

Cada vez recibimos un mayor flujo entrante de Cada vez recibimos un mayor flujo entrante de información:información: Si no gestionamos bien ese flujo se convertirá en una Si no gestionamos bien ese flujo se convertirá en una

inundacióninundación..

La información hay que:La información hay que: Filtrarla.Filtrarla. Organizarla.Organizarla. Expurgarla.Expurgarla. Priorizarla, etc.Priorizarla, etc.

Page 7: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Controlando la información:Controlando la información:““FeedsFeeds” y agregadores.” y agregadores.

FeedFeed : canal o suministro controlado de información. : canal o suministro controlado de información.

AgregadorAgregador:: Herramienta software que recoge y presenta de forma Herramienta software que recoge y presenta de forma

conjunta diversos “feeds”.conjunta diversos “feeds”. Puede ser local (escritorio) o remota (servidor web).Puede ser local (escritorio) o remota (servidor web).

ConsumidorConsumidor: puede ser un individuo o: puede ser un individuo o un sistema un sistema software que recoge y distribuye “software que recoge y distribuye “feedsfeeds”. ”.

Page 8: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Tareas de un consumidor de Tareas de un consumidor de ““feedsfeeds””

Descubir “Descubir “feedsfeeds”:”: Dado un sitio web encotrar su “Dado un sitio web encotrar su “feedfeed” asociado.” asociado.

Descargarse le información asociada:Descargarse le información asociada: Obtener la información (documentos) asociados al “Obtener la información (documentos) asociados al “feedfeed” (de ” (de

forma selectiva).forma selectiva).

Analizar el documento RSS:Analizar el documento RSS: Determinar la estructura de la información.Determinar la estructura de la información.

Interpretar los datos:Interpretar los datos: Determinar la semántica asociada de componentes.Determinar la semántica asociada de componentes.

Procesar y almacenar los datos:Procesar y almacenar los datos: Hacer algo útil con los datos obtenidos.Hacer algo útil con los datos obtenidos.

Page 9: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Tecnologías de baseTecnologías de base

HTTP:HTTP: Protocolo de transporte orientado a texto.Protocolo de transporte orientado a texto.

HTML:HTML: Lenguaje de presentación.Lenguaje de presentación.

XML:XML: Metalenguaje de codificación.Metalenguaje de codificación.

Page 10: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Evolución del RSSEvolución del RSS

Page 11: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Historia del RSSHistoria del RSS

Los precursores:Los precursores: MCF, Netscape Channels y Microsoft CDF.MCF, Netscape Channels y Microsoft CDF.

Nace RSS (0.91)Nace RSS (0.91)

El cisma:El cisma: RSS 1.0RSS 1.0 RSS 0.92, 0.93, 0.94RSS 0.92, 0.93, 0.94 RSS 2.0RSS 2.0

AtomAtom

Page 12: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

RSS 2.0RSS 2.0

RSS 2.0 sigue la línea de RSS 0.91, 0.92, 0.93 y RSS 2.0 sigue la línea de RSS 0.91, 0.92, 0.93 y 0.94 (pero incompatible hacia atrás).0.94 (pero incompatible hacia atrás).

La documentación técnica de los anteriores no es La documentación técnica de los anteriores no es muy buena, por lo que hay muchos muy buena, por lo que hay muchos feedsfeeds “mal- “mal-formados”.formados”.

Vamos a centrarnos en como construir buenos Vamos a centrarnos en como construir buenos documentos RSS 2.0documentos RSS 2.0

Page 13: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Estructura básica RSS 2.0Estructura básica RSS 2.0

El elemento principal (“raíz”) de un documento El elemento principal (“raíz”) de un documento RSS 2.0:RSS 2.0: <rss version=“2.0”> … <rss/><rss version=“2.0”> … <rss/>

<rss> tiene como único elemento hijo “canal”, que contiene <rss> tiene como único elemento hijo “canal”, que contiene toda la información y meta-información: toda la información y meta-información: <channel><channel>

<channel> tiene 3 elementos “hijo” obligatorios y 16 <channel> tiene 3 elementos “hijo” obligatorios y 16 opcionales.opcionales.

Page 14: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Elementos obligatorios del “canal”Elementos obligatorios del “canal”

titletitle:: Es el nombre del “feed”. En muchos casos tiene el Es el nombre del “feed”. En muchos casos tiene el

mismo nombre que su sitio web o servicio web.mismo nombre que su sitio web o servicio web.

linklink:: Una URL que apunta a al recurso asociado que cumple Una URL que apunta a al recurso asociado que cumple

con el esquema estándar de URI. con el esquema estándar de URI.

descriptiondescription:: Una breve descripción del canal.Una breve descripción del canal.

Page 15: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Elementos opcionales del “canal”-1Elementos opcionales del “canal”-1

languagelanguage:: El idioma con el que está escrito el El idioma con el que está escrito el feedfeed. Se debe . Se debe

usar el sistema estándar de abervaturas: FRC-1766usar el sistema estándar de abervaturas: FRC-1766

copyrightcopyright:: Una nota de derechos de autor del contenido.Una nota de derechos de autor del contenido.

managingEditormanagingEditor:: El e-mail del responsable de gestión del servicio.El e-mail del responsable de gestión del servicio.

webMasterwebMaster:: EL e-mail de la persona responsable de las EL e-mail de la persona responsable de las

cuestiones técnicas del servicio.cuestiones técnicas del servicio.

Page 16: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

<channel> elementos opcionales-2<channel> elementos opcionales-2

pubDatepubDate:: Fecha de publicación del contenido del canal. Debe Fecha de publicación del contenido del canal. Debe

estar en el formato estándar definido por: RFC-822estar en el formato estándar definido por: RFC-822

lastBuildDatelastBuildDate:: Fecha de última actualización del contenido: RFC-822Fecha de última actualización del contenido: RFC-822

NotaNota:: pubDatepubDate tiene el sentido de una fecha futura de cuando se tiene el sentido de una fecha futura de cuando se debe publicar el contenido.debe publicar el contenido.lastBuildDatelastBuildDate: tiene el sentido de una fecha pasada, en la que : tiene el sentido de una fecha pasada, en la que se actualizó por última vez el contenido.se actualizó por última vez el contenido.

Page 17: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

<channel> elementos opcionales-3<channel> elementos opcionales-3

categorycategory:: Es una clasificación temática del contenido en una Es una clasificación temática del contenido en una

taxonomía. Contiene un atributo opcional “domain” taxonomía. Contiene un atributo opcional “domain” para contextualizar la taxonomía.para contextualizar la taxonomía.

generatorgenerator:: Indica que programa creó el fichero RSS.Indica que programa creó el fichero RSS.

docsdocs:: Una URL que debe apuntar a donde se encuentra la Una URL que debe apuntar a donde se encuentra la

documentación técnica del estándar:documentación técnica del estándar:<docs>http://blogs.law.harvard.edu/tech/rss<docs/><docs>http://blogs.law.harvard.edu/tech/rss<docs/>

Page 18: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

<channel> elementos opcionales-4<channel> elementos opcionales-4

cloudcloud:: Es un elemento raramente usado. Sirva para Es un elemento raramente usado. Sirva para

especificar servicios de “Publicación/Subscripción”.especificar servicios de “Publicación/Subscripción”.

ttlttl (Time-to-Live):(Time-to-Live): Número mínimo de minutos que debe esperar el Número mínimo de minutos que debe esperar el

programa de agregación para “recargar” el “feed”.programa de agregación para “recargar” el “feed”.

imageimage:: Describe una imagen que acompaña al Describe una imagen que acompaña al feedfeed..

ratingrating:: Catalogación PICS para el Catalogación PICS para el feedfeed..

Page 19: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Elemento <item>Elemento <item>

RSS 2.0 puede tener un número indeterminado RSS 2.0 puede tener un número indeterminado de <item>.de <item>.

Contiene la información fundamental del “Contiene la información fundamental del “feed”feed”..

No es obligatorio que exista uno, pero un “No es obligatorio que exista uno, pero un “ feed”feed” sin ninguno no tiene mucho sentido sin ninguno no tiene mucho sentido (Raro,¿no?).(Raro,¿no?).

Todos los “hijo” de <item> son opcionales, salvo Todos los “hijo” de <item> son opcionales, salvo que debe tener un <title> o <description>.que debe tener un <title> o <description>.

Page 20: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

<item> elementos <item> elementos

title, link, description, category, pubDatetitle, link, description, category, pubDate:: Significado análogo que para <channel>Significado análogo que para <channel>

authorauthor:: El e-mail del autor del contenido del “item”.El e-mail del autor del contenido del “item”.

commentscomments:: La URL de un documento de comentarios para el “item”.La URL de un documento de comentarios para el “item”.

enclosureenclosure:: Describe un fichero que pueda ir asociado al “item”.Describe un fichero que pueda ir asociado al “item”.

guidguid:: Identificador Unico Global (para dicho “item”).Identificador Unico Global (para dicho “item”).

source (url):source (url): El nombre u la dirección web del sitio de donde proviene el “item”El nombre u la dirección web del sitio de donde proviene el “item”

Page 21: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Ejemplo RSS 2.0Ejemplo RSS 2.0

<?xml version=“1.0”?><?xml version=“1.0”?>

<rss version=“2.0”><rss version=“2.0”>

<channel><channel>

<title>Un feed simple<title/><title>Un feed simple<title/>

<link>http://www.ua.es/index.html<link/><link>http://www.ua.es/index.html<link/>

<description>Un canal RSS hipotético<description/><description>Un canal RSS hipotético<description/>

<item><item>

<title>Noticias de la UA<title><title>Noticias de la UA<title>

<link>http://www.ua.es/Noticias/noticia_005.html<link/><link>http://www.ua.es/Noticias/noticia_005.html<link/>

<descripción>Noticias generales<description/><descripción>Noticias generales<description/>

<category>Cultura<category/><category>Cultura<category/>

Page 22: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Ejemplo RSS 2.0 – cont.Ejemplo RSS 2.0 – cont.

<author>Vicerrectorado Extensión Univ.<author/><author>Vicerrectorado Extensión Univ.<author/>

<pubDate>02/02/06 20:00:00 GMT<pubDate/><pubDate>02/02/06 20:00:00 GMT<pubDate/>

<item/><item/>

<item><item>

……

<item/><item/>

<channel/><channel/>

<rss/><rss/>

Page 23: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

MódulosMódulos

Los Los módulosmódulos son un mecanismo que tiene RSS son un mecanismo que tiene RSS para introducir elementos nuevos.para introducir elementos nuevos. De esta forma se puede extender la expresividad del De esta forma se puede extender la expresividad del

esquema sin modificar el estándar.esquema sin modificar el estándar.

Cada uno puede construir su propio módulo Cada uno puede construir su propio módulo para sus contenidos particulares.para sus contenidos particulares. La mayoría de los La mayoría de los agregadoresagregadores los ignorarán, pero los ignorarán, pero

tus propias aplicaciones pueden sacar partido ellos.tus propias aplicaciones pueden sacar partido ellos.

Los módulos están basados en el mecanismo Los módulos están basados en el mecanismo de “espacios de nombres” (“de “espacios de nombres” (“namespacesnamespaces”).”).

Page 24: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Ejemplo de móduloEjemplo de módulo

<?xml version=“1.0”?><?xml version=“1.0”?><rss version=“2.0” xmlns:pps=<rss version=“2.0” xmlns:pps=http://www.dlsi.ua.es/pps/ModuloPPShttp://www.dlsi.ua.es/pps/ModuloPPS>>

……<pps:enlaceImp>http://www.w3.org<pps:enlaceImp/><pps:enlaceImp>http://www.w3.org<pps:enlaceImp/>……

<rss/><rss/>

El significado de ese nuevo elemento del canal depende El significado de ese nuevo elemento del canal depende completamente de nosotros.completamente de nosotros.

No es necesario que haya ningún documento en la No es necesario que haya ningún documento en la dirección que indica el “namespace”, pero es una buena dirección que indica el “namespace”, pero es una buena práctica situar allí algún documento de especificación.práctica situar allí algún documento de especificación.

Page 25: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

RSS 1.0RSS 1.0

Page 26: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

El debate RDFEl debate RDF

El punto de discrepancia mayor para la ruptura El punto de discrepancia mayor para la ruptura entre las dos “escuelas” de desarrolladores RSS entre las dos “escuelas” de desarrolladores RSS fue el diseño del mecanismo de módulos.fue el diseño del mecanismo de módulos.

Mientras RSS 0.9x se mantenía en una postura Mientras RSS 0.9x se mantenía en una postura “en contra”, la línea Rss 1.0 esr completamente “en contra”, la línea Rss 1.0 esr completamente “a favor”.“a favor”.

Page 27: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Argumentos “pro” y “contra”Argumentos “pro” y “contra”

PRO:PRO: El lenguaje RDF (una aplicación de XML) El lenguaje RDF (una aplicación de XML)

tiene mucha mayor expresividad y flexibilidad tiene mucha mayor expresividad y flexibilidad para la construcción y manejo de módulos para la construcción y manejo de módulos que el simple mecanismo de “anmespaces”.que el simple mecanismo de “anmespaces”.

CONTRA:CONTRA: La sintaxis de RDF es muy compleja y difícil La sintaxis de RDF es muy compleja y difícil

de manejar. Es necesario estudiarla a fondo y de manejar. Es necesario estudiarla a fondo y dominarla (ser un experto).dominarla (ser un experto).

Page 28: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Metadatos en RSS 2.0Metadatos en RSS 2.0

Page 29: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

RSS 1.0RSS 1.0

Page 30: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

Dublin CoreDublin Core

Page 31: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

ObjetivosObjetivos

Page 32: Departamento de Lenguajes y Sistemas Informáticos Sindicación de contenidos web: RSS Curso de formación del Departamento de Lenguajes y Sistemas Informáticos

DefinicionesDefiniciones