2008/12/24

Xen上のdebianで使えるperl XML-RPCライブラリー

Ubuntuではなく、Xen上のDebianにapacheを入れてCGIでXML-RPCサービスを作ってみました。そこでクライアントをRuby/PHP/Perlで作ってみた時の感想です。

Rubyでは"xmlrpc/client"を使い、PHPではビルトインのxmlrpc_encode等とファイル関連関数のfile_get_contentsを使い実装してみました。
PHPは低レベルAPIな印象で、使い易くするためにはデータ変換などをあまり考えないで済むようなラッパーがあると便利そうでした。

さて困ったのはPerlでXML-RPCクライアントを作るために何を作ればいいのかという所です。CPANをみてもいくつか"XML", "RPC"というキーワードを持つものがあります。
UbuntuにActivePerlを入れてppmで"XML::RPC"を入れてみたものの、Debianでは適当なパッケージもなく"Frontier::Client"を使う事にしました。 導入自体はapt-getを使って"libfrontier-rpc-perl"パッケージを導入する事で使えるようになります。

$ sudo apt-get install libfrontier-rpc-perl

IBM DeveloperWorksの記事PerlでXML-RPCを始めよう 第1回:WebサービスにXML-RPCを使用するをみても"Frontier::Client"を使っているところをみると、これが妥当そうです。

この他にSOAP::Liteに入っているXMLRPC::Liteを使う方法も紹介ページが多いように感じましたが、好みの問題でしょうか。 元々SOAP::Liteを使って、SOAP1.2なサーバーとのやり取りが難しかったためにXML-RPCを使う事にしたので、個人的にはSOAP::Liteを使うのは避けてみました。SOAP::Liteはよく出来ているんですけどね。

0 件のコメント: