segunda-feira, 27 de junho de 2011

Instalando o Apache Thrift



Recentemente despertou-me o interesse por estudar um pouco o Apache Thrift, um framework para criação de serviços originalmente desenvolvido pelo Facebook e posteriormente cedido à Apache Foundation.


Como acontece com a maioria das novas tecnologias com que se trabalha, e com o Thrift não foi diferente, existe um pouco de dificuldade no início para fazer com que tudo funcione e a coisa se sustente em pé.


Começo de conversa: uso Ubunto 10.04 no meu notebook. Então algumas das coisas que fiz não farão sentido para usuários de outros sistemas operacionais (quem sabe até outras distribuições). Então é bom ir fazendo as adaptações necessárias aos diferentes ambientes.


Os dois únicos passos são os seguintes (nem sei se merecia um post, de tão simples que é):

  • Baixar o Thrift: vai lá no site e escolhe o download mais adequado. No meu caso foi o tar.gz mais recente. Existe o binário para Windows e tem até o artefato maven. Caso queiram baixar uma versão arquivada, tem tudo por lá também.
  • Instalar: no meu caso foi o bom e velho ./configure, make, make install.
Aqui as coisas não são tão tranquilas assim. Primeiramente há algumas dependências que precisam ser satisfeitas, detalhadas no wiki do Thrift. Mas para mim deu erro no processamento do Makefile por falta do arquivo Python.h: eu não tinha instalado a biblioteca de desenvolvimento do python.

Resolve fácil: instala a versão mais recente da python-dev. No meu caso foi a 2.6 e um apt-get install python2.6-dev deu conta do recado.

Pronto! Agora é só usar o binário thrift para fazer a geração dos serviços. Gosto muito de Java. Para mim foi assim:

thrift --gen java tutorial.thrift

E os códigos foram gerados na pasta gen-java. A partir daí foi só consumi-lo em um projeto Java normal, que precisa ter no buildpath o jar do thrift (se não for usar o maven, o jar foi gerado dentro da pasta em que foi executado o make). Além disto, o projeto vai depender também do slf4j.