dRubyは専用のプロトコルを使って、リモートアクセス用のクライアントとサーバを構築しますが、NetworkFacadeを使うことで、HTTPを使ってRubyのオブジェクトのやりとりをすることが出来るようになります。 dRubyを使ったことがある人なら、ほとんど同じように使うことができます。簡単なサンプルが、プロジェクトのページに記載されているので、ぜひ参考にしてみてください。 こちらでも簡単なオブジェクトは試しましたが、まだ出たばかりなので、エラー処理などが正しく行われているかに不安が残ります。 同時に既存のXML/RPCやRESTをオブジェクトにバインドすることもできます。 Wikipediaを呼び出すのは下記の様なコードになります。 #!/usr/bin/env ruby require ‘rubygems’ require ‘network-facade’ class Wikipedia < NetworkFacade::REST::Client ‘http://wikipedia.simpleapi.net/’ mapping :keyword, ‘/api’ end wikipedia = Wikipedia.new wikipedia.keyword(:keyword => ‘Ruby on Rails’).root.elements.each(“*/body”) do |e| puts e end ファイアウォールなどの都合で、HTTPを使って外部のRubyサーバと手軽に通信したいときにどうぞ。
