Apache Thrift

Apache Thrift（アパッチ スリフト）は、「スケーラブルな言語間サービス開発」のためにFacebookにて開発された遠隔手続き呼出し (RPC) フレームワークである。これはソフトウェアスタックとコード生成エンジンを組み合わせることで、C++、C#、Java、Perl、Python、PHP、Erlang、Rubyなどの言語間にて効率的かつシームレスに動作するサービスを開発することを可能とする。

特長 
Thriftの長所に以下のものがある。

 SOAPなどの類似フレームワークより低いオーバヘッドによる言語間シリアライゼーション。
 簡潔かつ明瞭なライブラリ。追加のコーディングが必要となる他のフレームワークがない。XML設定ファイル不要。
 言語バインディングが分かりやすい。例えば、JavaではArrayList<String>を用いる。またC++ではstd::vector<std::string>を用いる。
 アプリケーションレベルwireフォーマットとシリアライゼーションレベルwireフォーマットは明確に分かれている。それぞれ別個に変更が可能である。
 バイナリ、HTTP互換およびコンパクトバイナリなどが所定のシリアライゼーションスタイルである。
 Camlウェブサービスにより拡張可能である。
 ビルド依存や非標準化されたソフトウェアを含まない。ソフトウェアライセンスは全て互換性がある。

関連項目 
 GoogleのProtocol Buffers
 シスコシステムズのEtch
 ZeroCのICE
 インタフェース記述言語

外部リンク
 Apache Incubator site: Thrift
 https://github.com/facebook/fbthrift — Facebook による Apache Thrift のブランチ
 Thrift tutorial

Thrift
ソーシャル・ネットワーキング・サービス
遠隔手続き呼出し
オープンソースソフトウェア
アプリケーション層プロトコル
データシリアライゼーションフォーマット
Facebookのソフトウェア