flat7th

Link:分散配置・並列処理関連

created 2004-08-10 modified 2009-07-31 

RPC

リンク備考
Linux DCE CORBA and DCOM Guidelinus.org
FreeDCE and DCOM for Linux

RPCにはSun版とDCE版がある。
Sun版は、かならずネットワークバイトオーダに変換が必要。
DCE版は、ホストバイトオーダも可。
WindowsのRPCはDCE版に準拠しているらしい。TCP/UDPの135番ポートを使用。

DCEのRPCは無料でドキュメント公開されてないのかと思ってたが、
ぐぐったら出てきたのでメモ。
リンク備考
CAE Specification/DCE 1.1: Remote Procedure CallDocument Number: C706
Transfer Syntax NDR

Thrift
は、多言語混在RPC開発フレームワーク。プログラミング言語ごとの得意・不得意に応じ、部分ごとに別プログラミング言語で書くための基盤プログラム。最初はSNSサイト(Facebook)を作るために作成された。独自文法のIDLから、各種言語のRPCクライアント側、サーバ側コードを生成。

Thriftのwhitepaperより、類似(RPC系)技術の列挙。
名前paperの記述備考
SOAPXMLベース。HTTPでのウェブサービスのために設計された。必要以上のXML解析のオーバーヘッド。
CORBA比較的広範囲で、論争可能な過剰設計と重さ。ソフトウェアインストールも同程度に煩わしい。
COM主にWindowsに取り込まれているクライアントソフトウェア。完全にオープンなソリューションではない。
Pillar軽量で高パフォーマンスだが、バージョン付けと抽象化を欠く。whitepaperの謝辞には「ThriftはPillarの継承者であり、Adamの見識がなければThriftはなかった」とある。
Protocol Buffersクローズドソースで、Googleが所有。Sawzall paperに記述されている。現在はオープンになった。バイナリエンコーディング方式。

Thrift vs. Protocol Buffers

Linda

リンク備考
PyLindaPython上でのLinda実装。Pythonには標準でタプル型があるんだなぁ
PyLinda V0.3Doxygenによるドキュメント。クラスリファレンスなど