自作仮想DBドライバ

Perlを使っている人には空気のように貴重な存在があります。それがCPANというPerlモジュールの図書館のような場所です。ここにはPerlハッカーによる無数のライブラリーが貯蔵されていて自由にインストールして使うことができます。


そのなかに DBD::Google というモジュールがあります(ちなみに DBD::Amazon という似たようなモジュールもあります)。見た目は普通のDBドライバなのですが、中身は仮想DBドライバで、SQLのクエリーをSOAPリクエストに変えてGoogleに投げ、帰ってきたSOAPレスポンスをまたSQLのレコードに変換して返してくれます。見た瞬間これだ!!!と思いました。


DBD::Google にインスパイア(笑)されて作ったのが DBD::SalesForce です。これも仮想DBドライバで、SQLのクエリーをSOAPリクエストに変えてSalesForceに投げ、帰ってきたSOAPレスポンスをまたSQLのレコードに変換して返してくれます。まだ select にしか対応していませんが、将来的には update, insert, delete にも対応したいと思っています。


なんか最近はこんな移植ものばっかり作っている気がします(笑)。実装中に役に立ったのが、XML::Simple というモジュール。

use XML::Simple;
use Data::Dumper;

my $parser = new XML::Simple();
my $tree = $parser->XMLin("hoge.xml");
print Dumper $tree;

とかやるとわかりますが、これ以上ないくらいに使いやすい形のオブジェクトツリーにして返してくれます。同じことをJavaで書いたら500行以上かかるでしょう。XML ファイルの解析でうんざりしていた人にお勧めです。