BT

Padrões de Integração Baseados em GET Borra a Linha entre Sincronização e Integração

por Dilip Krishnan , traduzido por Carlos Mendonça em 09 Nov 2009 |

Duncan Cragg explica sua ideia para um padrão de integração em REST puramente baseado em GET que acaba sendo muito similar à visão da especificação FeedSync da Microsoft. Ele explica o padrão através de uma conversa hipotética com um arquiteto

Nosso arquiteto preocupado notou que a Orientação para Serviço permeava a prática REST: havia "APIs REST" para Web sites, ou "Web services" com um 's' minúsculo. Até o AtomPub possuía um "service document"! Alguns padrões, como o AtomPub, oferecem apenas simples serviços de dados com leitura e escrita através da coleção de métodos completa do HTTP. Alguns usam essa interface de leitura e escrita como um wrapper para funções mais complexas do serviço.

Ele pensou: "Onde está a integração Web com REST? A Web funciona muito bem sem o PUT e o DELETE: será que usar GET sozinho não é suficientemente RESTful?"

Ele chama seu padrão de integração com GET, o FOREST, de um padrão de sincronização baseado em um observador RESTful. Ele explica

O FOREST é um padrão de integração REST baseado apenas em GET e definido simplesmente por: O estado de um recurso depende do estado de outros recursos com os quais ele está ligado. [...] Isto quer dizer que servidores de recursos precisam também ser clientes para poderem ver estas dependências.

Ele continua dando alguns exemplos deste tipo de cenário de integração, inclusive com mashups …

O FOREST é um padrão REST derivado do GET ou fazendo pooling de casos de uso Web, incluindo alguns tipos de mashups como por exemplo agregadores de feeds ou filtros, sites que criam sumários de outras páginas da Web etc.

… e sua importância nas empresas.

O FOREST é um padrão REST para construir "Mashups Enterprise" em ROA / WOA / SOA. [...] a Linguage de Marcação do Enterprise Mashup é a coisa mais próxima disso que eu conheço, mas o FOREST é bem diferente: ele é muito mais simples e é apenas um padrão REST.

Desta forma, a ideia de se usar sincronização baseada em GET de feeds ATOM/RSS já está presente há algum tempo na forma do FeedSync, uma especificação de sincronização de feed da Microsoft.

O escopo do FeedSync para Atom e RSS é definir o mínimo de extensões necessárias para habilitar aplicações pouco colaborativas a usar feeds Atom e RSS como base para o compartilhamento de itens – (isto é, as sincronizações bi-direcionais, assíncronas e síncronas de itens novos e modificados entre dois ou mais feeds mutuamente subscritos.

Isso é uma forma de integração em que representação de recursos, tipicamente um modelo de dados canônico, são expostos como um feed que endpoints podem usar para fazer sincronização pull. A ideia é que estes endpoints que podem ser dispositivos, serviços, aplicações etc, que podem sincronizar o estado do recurso sobre HTTP utilizando a semântica GET, farão apenas com que variações deste padrão sejam mais ubíquas.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT