BT

REST e a Internet das Coisas

por Mark Little , traduzido por Hugo Lavalle em 03 Dez 2013 |

Já faz mais de uma década desde que as pessoas começaram a falar sobre Computação Ubíqua ou Internet das Coisas (quase três décadas para a primeira), e naquela época era considerado um sonho. Atualmente é uma realidade, estamos rodeados à todo momento por diversos dispositivos habilitados para a Internet. Recentemente, muito trabalho tem sido realizado por alguns grupos de padronização (como o IETF, por exemplo) em diversos aspectos relacionados com a Internet das Coisas (IoT), incluindo o protocolo Concise Binary Object Represantation (CBOR), que visa preencher mensagens pequenas com o máximo possível de informação.

O Concise Binary Object Representation (CBOR) é um formato de dados em que os objetivos de design incluem a possibilidade de tamanho de código extremamente reduzido, tamanho de mensagem relativamente pequeno, e extensibilidade sem a necessidade de negociação de versão. Estes objetivos de design o diferenciam de protocolos mais antigos de serialização binária, como o ASN.1 e MessagePack.

Mas foi só uma questão de tempo, até que o REST fosse utilizado nesta área. O grupo de trabalho Constrained RESTful Environments (CoRE) é financiado pelo IETF para fornecer:

[...] um framework para aplicações orientadas a recursos, direcionado a execução em redes IP restritas. Uma rede IP restrita possui pacotes de tamanhos limitados, pode exibir um alto índice de perda de pacotes, e ter um número substancial de dispositivos que podem ser desligados a qualquer momento, mas que são periodicamente "acordados" por curtos intervalos de tempo.

Como parte desse framework de construção de aplicações para dispositivos restritos, o grupo de trabalho também definirá o Constrained Application Protocol (CoAP) para manipulação de recursos nestes dispositivos:

O Grupo de Trabalho definirá um mapeamento entre o CoAP e uma API HTTP REST; este mapeamento não será dependente de uma aplicação específica. Vale a pena notar que não é necessário haver proxy na fronteira entre a rede restrita e a rede geral, mas pode ser implantado em vários pontos da rede irrestrita.

O grupo já definiu uma série de requisitos que o protocolo deve atender, incluindo:

  • A capacidade de criar, ler, atualizar e remover um recurso em um dispositivo;
  • Suportar o envio de mensagens multicast não confiáveis a um grupo de dispositivos;
  • Deve operar sobre UDP, com algum suporte opcional (e limitado) ao TCP;
  • Especificação da API baseada em HTTP REST e a sua tradução entre CoAP e o HTTP para comunicação de dispositivos.

Visto que o grupo apenas iniciou seus trabalhos recentemente, ainda há uma série de indefinições, como segurança, por exemplo. Contudo, já existe um projeto que suporta CoAP em Java com jCoAP.

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-2013 C4Media Inc.
Política de privacidade
BT