Sindicación de Contidos Web
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” />