Artigo Java Magazine 57 - Atom e Atom Publishing Protocol

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo da Revista Java Magazine - Edição 57.

Esse artigo faz parte da revista Java Magazine edição 57. Clique aqui para ler todos os artigos desta edição

 

Atom e Atom Publishing Protocol

O formato de syndication e seu protocolo de publicação

Conhecendo os detalhes do formato Atom e do AtomPub e analisando como eles podem ser úteis em web services REST

Nas edições anteriores tivemos uma série de três artigos sobre web services. Fizemos primeiro uma análise teórica de diversos aspectos envolvidos na modelagem e desenvolvimento de serviços WS-* e REST. Em seguida tivemos um artigo prático de WS-* e outro de REST nos quais partimos de um mesmo problema e propusemos uma solução com ambas as linhas de serviços.

No artigo de REST nossa aplicação focou a ilustração dos principais conceitos envolvidos, mas sem introduzir muitos componentes que pudessem desviar a atenção do contexto principal. O objetivo após esta exposição inicial do tema é apresentar ferramentas e recursos que permitam aperfeiçoar o que fizemos neste artigo anterior.

Neste contexto de serviços REST, uma das coisas mais importantes que surgiu foi o formato Atom e seu protocolo de publicação, o Atom Publishing Protocol (comumente denotado por AtomPub). Este formato vem sendo bastante utilizado para encapsular dados em serviços REST e o AtomPub vem sendo adotado como blueprint de protocolo de comunicação desta linha de serviços.

Nossa proposta para este artigo é descrever o formato Atom e o AtomPub, e à medida que isto seja feito, indicar os pontos importantes que tornaram interessante a sua adoção no desenvolvimento de web services.

O que é o formato Atom

Atom é um formato de Syndication. Não existe uma tradução direta deste termo para português, mas isto é uma maneira de disponibilização de conteúdo. Esta é, por exemplo, uma alternativa ao envio de notícias e conteúdo por e-mail. Os dois formatos existentes de Syndication na internet são o RSS e o Atom.

A maioria dos fornecedores de conteúdo da internet utiliza esta forma de distribuição, pois ela é muito flexível e traz algumas vantagens sobre o uso de e-mail. Para consumir conteúdo neste formato não é necessário utilizar seu endereço de e-mail, então é muito menor a exposição a spam, vírus, e-mails falsos, entre outras coisas.

Além disso, este formato permite facilmente que um site agregue dinamicamente o conteúdo de diversas fontes para apresentação. As pessoas conseguem também compartilhar os feeds que assinam, e isto acabou se tornando uma importante ferramenta colaborativa.

O surgimento do formato

O formato Atom surgiu a partir da insatisfação de muitas pessoas com o RSS. O RSS possui várias versões diferentes e incompatíveis e isto dificultava bastante o desenvolvimento de aplicações que o manipulassem.

O objetivo dos criadores era elaborar um novo formato que fosse aberto, facilmente implementável por qualquer pessoa, extensível e claramente especificado.

Em 2004 foi formado um grupo de trabalho do IETF (Internet Engineering Task Force) para a elaboração deste novo formato, e a versão final da especificação foi publicada em Dezembro de 2004, constituindo a RFC 4287.

Detalhamento da estrutura

Os documentos Atom são constituídos de dois elementos principais: coleções e item de coleções (em inglês collections/feeds e entries). Na Listagem 1 podemos conferir um exemplo de documento Atom.

 

Listagem 1. Exemplo de feed Atom

<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">

 

  <title>Feed de exemplo</title>

  <link href="http://exemplo.org/"/>

  <updated>2008-05-15T18:30:02Z</updated>

  <author>

    <name>Bruno Pereira</name>

  </author>

  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

 

  <entry>

    <title>Artigo de Atom na Java Magazine 57</title>

    <link href="http://exemplo.org/2008/05/15/artigo-atom-java-magazine-57"/>

    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>

    <updated>2008-05-15T18:30:02Z</updated>

    <summary>Texto do post.</summary>

  </entry>

</feed>

 

Analisando este documento simples, podemos falar de componentes importantes do Atom. Neste exemplo é apresentado um feed contendo uma entrada. Um feed é utilizado para agregar conteúdo de acordo com algum critério desejado pelo autores do mesmo. Podemos ter um feed agregando todos os posts de um blog, um feed contendo notícias do Rio de Janeiro, outro feed com podcasts técnicos de software, etc.

Após esta primeira exposição a um documento Atom, é interessante descrever com detalhes os elementos que podem ser utilizados neste formato. O quadro “Elementos de documentos Atom” apresenta os elementos padrão definidos para coleções e itens.

 

Elementos de documentos Atom

Para utilizar de forma eficaz o formato Atom, é essencial conhecer suas estruturas padrão. Neste quadro apresentamos os elementos dos quais são formadas as coleções e seus itens.

A Tabela 1 lista os elementos de coleções e a Tabela 2 lista os elementos de itens.

 

Elemento

Presença

Descrição

id

Obrigatória

Identifica o feed utilizando uma URI universalmente única e permanente.

title

Obrigatória

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?