MstWebServiceGeneratorによるWebサービスクラスの生成
まず、グループマスタやそのモデルをあらかじめ次のように定義して、rakeコマンドにより作成しておきます。
class CreateMstGroup < ActiveRecord::Migration def self.up create_table :mst_groups do |t| t.column :group_name, :string, :limit => 64, :null => false t.column :created_at, :datetime t.column :updated_at, :datetime end add_index :mst_groups, :group_name end def self.down drop_table :mst_groups end end
class MstGroup < ActiveRecord::Base end
次に、図1のようにMstWebServiceGeneratorを、コマンドラインから実行します。コマンドラインは、Railsのアプリケーションを作成したルートディレクトリから実行する必要があります。
第1引数に、データベース上の更新対象のテーブルに対応するモデルクラスを指定します。例えば、ここではmst_groupを指定することで、グループマスタの更新を行うWebサービスを定義しています。
実際に生成されたクラスを図2に示します。
その後、「http://localhost:3000/mst_group_service/invoke」にアクセスすれば、生成したWebサービスのテストを行うことができます。例えばCreateのメソッドを呼び出してみると、図4のような結果が得られます。
まとめ
本稿では、Ruby on Railsで提供されているWebサービスジェネレータをカスタマイズし、データベース上のテーブルを更新できるようにしました。
同様の方法でさらに機能を追加していけば、より実用的になると思います。ジェネレータは労力の削減や生産性の向上に役立つので、本稿で紹介した内容が読者の皆さんの労力削減に役立てば幸いです。
参考資料
- 『Railsレシピ』 Chad Fowler 著、長瀬 嘉秀・ 永田 渉 編集、株式会社テクノロジックアート 翻訳、オライリー・ジャパン、2006年12月
- 川o・-・)<2nd life『ActionWebServiceでxmlrpcサービスを作る』 2005年11月



