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