Sindicación de Contidos Web

De Wiki do Ciclo ASIR do IES de Rodeira

Introducción

A sindicación de contidos Web consiste en facer dispoñible material dun sitio web a outros sitios. Normalmente con sindicación de contidos nos referimos a que un sito web proporciona feeds das súas novidades, aínda que tamén se utiliza o termo para outros modos de distribución de contidos dun sitio web (por exemplo, o uso de vídeos de youtube ou google maps). Un feed é un documento (normalmente baseado en XML) que inclúe información e enlaces ao sitio que provee o contido.

A sindicación de contidos proporciona beneficios tanto a web que facilita o contido, como os sitios que o utilizan. Os sitios que fan uso de contidos sindicados poden agregar interés e usabilidade a súa páxina, e os sitios que facilitan o contido verán aumentadas as súas visitas en canto os usuarios están o día das novidades.

Un sitio web pode ofrecer contido sindicado utilizando varios formatos transportados sobre http, como poden ser HTML ou JavaScript, pero o máis normal, e o utilizado hoxe en día, é XML. Os dous protocolos de sindicación máis utilizados, RSS e Atom traballan con XML.

O acceso ao contido sindicado chámase agregación, e as aplicacións que fan uso deste tipo de contidos reciben o nome de agregadores. Típicamente un proveedor de contido facilita un enlace de agregación no seu sitio que os usuarios poden rexistrar cun agregador. O agregador simplemente cargará dos servidores a lista de feeds si existe novo contido.

Atom e RSS

Os protocolos máis utilizados hoxe en día para facilitar feeds son RSS e Atom. RSS (Really Simple Syndication) e o sistema máis vello, a primeira versión chamouse RDF Site Summary e foi tamén coñecida como RSS 0.9, xa que se basaba no formato RDF (Resource Description Framework). RDF e unha familia de especificacións que permiten describir ou modelar información presente en recursos web, e é a base da chamada “web semántica”.

Pouco despois saíu unha versión simplificada eliminando elementos de RDF e incorporando algúns elementos novos para a sindicación que se chamou RSS 0.91. Polo tanto, existen dúas ramas:

  • RSS 1: Inclúe as versións 0.90, 1.0 e 1.1, e está basada en RDF polo que tamén recibe o nome de “rama RDF”.
  • RSS 2: Inclúe as versións 0.91, 0.92 e 2.0.1

Un ficheiro RSS é esencialmente un ficheiro de texto en formato XML,sendo moi fácil de ler tanto polo software como por calqueira persoa. Este ficheiro estará situado nun sitio accesible mediante http ou ftp, e os agregadores usan a súa información para presentarlla ó usuario.

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
        <title>Título</title>
        <description>Feed RSS</description>
        <link>http://web.iesrodeira.com/paxina.html</link>
        <lastBuildDate>Xoves, 10 Feb 2011 09:00 +0000 </lastBuildDate>
        <pubDate>Xoves, 10 Fep 2011 09:30:00 +0000 </pubDate>
 
        <item>
                <title>Novidades</title>
                <description>Novos exercicios dispoñibles</description>
                <link>http://web.iesrodeira.com/exercicios</link>
                <guid>identificador do item único</guid>
                <pubDate>Xoves, 10 Feb 2011 09:30:00 +0000 </pubDate>
        </item>
 </channel>
</rss>

Dentro do estándar RSS 2.0 se atopan diversos espacios de nomes RSS (chamados módulos) que extenden o XML básico para proporcionar unha sindicación de contidos máis completa según o ámbito no que se desenvolva a fonte dos feeds. Deste xeito existen módulos para e-commerce, multimedia ou para a realización de búsquedas.

Atom é o outro formato de sindicación maioritariamente utilizado. Tamén está basado en XML e se aplica a dous estándares relacionados: Atom Syndication Format (Atom), baseado en XML que se utiliza na creación de feeds, e Atom Publishing Protocol (AtomPub ou APP), que é un protocolo baseado en HTTP para crear e actualizar recursos web. O Atom Syndication Format, é unha alternativa a RSS.

<?xml version="1.0" encoding="utf-8"?>
 <feed xmlns="http://www.w3.org/2005/Atom">
         <title>Título</title>
        <subtitle>Exemplo Atom</subtitle>
        <link href="http://example.org/feed/" rel="self" />
        <link href="http://example.org/" />
        <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
        <updated>2003-12-13T18:30:02Z</updated>
        <author>
                <name>eu</name>
                <email>eu@gmail.com</email>
        </author>
 
        <entry>
                <title>Novidades</title>
                <link href="http://example.org/2003/12/13/atom03" />
                <link rel="alternate" type="text/html" href="http://example.org/2003/12/13/atom03.html"/>
                <link rel="edit" href="http://example.org/2003/12/13/atom03/edit"/>
                <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
                <updated>2003-12-13T18:30:02Z</updated>
                <summary>Novos exercicios dispoñibles</summary>
        </entry>
 </feed>

Típicamente para proporcionar un enlace a un feed Atom ou RSS, poderíamos poñer na cabeceira da nosa páxina XHTML algo así:

<link href="atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed" />

ou

<link rel="alternate" type="application/rss+xml" title="publicadas" href="rss2.xml” />