quinta-feira, 14 de agosto de 2008

Web Semântica será feita de APIs e padrões de dados

Muito tem se falado da Web Semântica e de como ela fará com que informações possam ser extraídas de forma estruturada facilmente de sites. Essa suposta nova tendência aponta para uma Web onde qualquer coisa (texto,imagem, vídeo, etc...) mostrada na tela do navegador tenha meta-dados (informação sobre os dados) anexados. Uma imagem em HTML possui o mínimo de informação (título, nome do arquivo...), mas com um acréscimo de Semântica, poderia-se saber, por exemplo: onde ela foi tirada, por quem e quando, apenas olhando o código-fonte da página.

A primeira pergunta que vem à mente é:

Como será colocado esse tipo de informação dentro do código fonte da página?

A resposta ainda não é clara. Mesmo já existindo software para extrair esses dados estruturados de dentro da página, como o Firefox já faz, ainda há uma carência de ferramentas para facilitar a inserção e leitura de dados nos formatos específicos.

Os Microformats, por exemplo, são utilizados para "marcar" texto com meta-dados, veja o exemplo:

<div class="vevent">
<a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a>
  Web 2.0 Conference:
  <abbr class="dtstart" title="2007-10-05">October 5</abbr>-
  <abbr class="dtend" title="2007-10-20">19</abbr>,
 at the Argent Hotel, San Francisco, CA
 </div>


Dessa forma, uma aplicação externa pode visitar essa página e extrair essas informações. Como elas estão estruturadas em campos (título, data de início e término, local...) esses dados podem ser utilizados para outros fins. Uma aplicação pode acessar a página de um evento, extrair as informações e mandar um e-mail para usuários próximos do evento ou interessados.

O exemplo acima também pode ocorrer de outra forma: uma aplicação externa pode utilizar uma API pública e extrair informações do banco de dados de um site/serviço.

Qual a diferença?

Muita gente acredita que na Web Semântica, todos os sites vão ser marcados com meta-dados. Entretanto, essa visão põe confiança demais na vontade dos desenvolvedores de fazer isso.

Por outro lado as APIs públicas, disponibilizadas por sites e serviços oferecem um ambiente mais seguro e amigável. Fazer chamadas a uma função da API é mais simples que requisitar uma página Web e extrair dados diretamente do código HTML.

A questão é que nem todos as empresas estão cientes das vantagens de abrir seu banco de dados através de APIs. Imagine, por exemplo, uma companhia aérea fazendo isso (pelo menos para consulta de vôos), o quão útil poderia ser.

O último ponto a ser tocado é que não adianta todas as empresas criarem APIs para seus dados, se cada empresa os disponibiliza em formatos diferentes. Por exemplo, e se uma companhia aérea disponibiliza os dados em um padrão XML e a sua concorrente disponibiliza em outro padrão? Para o desenvolvedor que quer utilizar ambas APIs será uma dor de cabeça.

Iniciativas como a DataPortability.org querem acabar com esses problemas tentando definir padrões para diferentes tipos de aplicações.

Quando o desenvolvedor puder trabalhar com dados de várias fontes e tratá-las de uma única forma, o foco passará a ser criar interfaces e aplicações para que os usuários possam usufruir das possibilidades que a chamada Portabilidade de Dados provê. Não espera-se da Web que ela seja "inteligente", mas que aplicações possam conversar facilmente entre si, facilitando a vida do usuário. O caminho para que isso ocorra? APIs públicas e padrões de dados bem estabelecidos, suportados e aceitos.

Leia também:

2 comentários:

Antonio disse...

Ressuscitando o post :P

Mas é q tava dando uma olhada no seu blog e fiquei curioso p saber de vc se, depois de qse 3 anos desse post, houve algum avanço significativo no que diz respeito a web semântica.

Felipe Hummel disse...

@Antonio
Basicamente... Não.
hehehhe