Web 2.0の技術を使って,実際にアプリケーションを作ってみましょう。まず1つめは,AmazonのWebサービスを使った蔵書管理サイトです。Ruby on Railsを使って,Amazonから書籍データをAjax通信で取得し,Webブラウザで一覧できるようにします。
写真1●ISBN番号(左上) |
書籍の裏面を見ると,その本を一意に識別するISBNと呼ばれる番号があるのが分かります(写真1)*1。番号が2つある場合には,上の番号がISBNです。書店でもこのISBNを持って行くと,スムーズに注文できます。
ISBNのデータベースには,番号と書籍名,出版社や著者名などといったデータが登録されています。ISBN番号を入力するだけで簡単に書籍データを取り出すことができます。ただし,ISBNのデータベースは書店向けで一般には公開されておらず,個人では使うことができません。しかし,世界最大手のオンライン書店の米Amazon社が公開しているWebサービスを使えば,Amazonで扱っている書籍の情報をISBNで検索して利用できます。Amazonから取得できる情報には,書籍名などの基本情報以外に,表紙の画像やAmazon内での売り上げランキングなどがあります。
本記事では,AmazonのWebサービスを使い,ISBN番号を入力するだけで,書籍を管理できるサイトを作ります。この蔵書管理サイトは,書籍の登録,一覧表示,編集,削除を行うことができます(写真2)。こうしたアプリケーションはRuby on Railsのもっとも得意とするところです。Ajax技術を使って,ページを更新せずに,Amazonの情報を取得するようにします。
写真2●今回作成する蔵書管理サイト |
Rubyをインストールする
まず,Webアプリケーションの土台となる各種ソフトウエアを導入しましょう。
以下では,Linuxディストリビューションとして,Fedora Core 5を使ったケースで説明します。Fedora Coreの開発環境をインストールしていない場合は,「アプリケーション」メニューの「ソフトウエアの追加と削除」を選び,「開発」から「開発ツール」,「開発ライブラリ」を選ぶなどして,開発環境を導入してください。
蔵書のデータを保存するデータベース・ソフトには,「SQLite3」を使うことにします。SQLite3は,MySQLやPostgreSQLなどと違い,デーモンを稼働させないデータベース・サーバーです。
Webサーバーには,Ruby on Railsの「Webrick」を使います。Webサーバーとしての基本的な機能は持っているため十分です。Apache HTTP Serverをインストールする必要はありません。
Ruby on Railsの実行にはRuby 1.8.4以上が必要になります。これは,Fedora Coreで提供されているパッケージを,yumコマンドを用いて導入します*2。同時にSQLiteのパッケージも導入しておきます(写真3)。
写真3●SQLiteの導入 |
|
Rubyが正しくインストールされたかをチェックします。
|
インストールされていればバージョンが表示されます。1.8.4以上なら正しく導入されています。
RubyGemsをインストールする
続いて,「RubyGems」というパッケージ管理ソフトを導入します。RubyGemsは,yumやaptのようにネットワークからの自動インストールを行うソフトです。Ruby on Railsをはじめとして,多くのRubyアプリケーションは,RubyGemsの形式でパッケージ化されて提供されています。まず,このRubyGemsを導入し,そこからRuby on Railsやその他のパッケージを導入します。
RubyGemsは,yumのパッケージでは提供されていないので,yumでは導入できません。そのため,ソースから導入します。ソースのアーカイブ・ファイルrubygems-0.9.0.tgzは,ダウンロード・ページから取得できる本連載用コンテンツ(toku1.tar.gz)を解凍するか,RubyForgeからダウンロードしてください。
rubygems-0.9.0.tgzを取得後,次のコマンドを入力して,導入します。
|
正しく導入されれば,gemコマンドが利用できるようになります。正常に導入されたか,図1のように確認してみます。エラーが出なければ,導入完了です。
|
図1●RubyGemsがインストールできたかを確認 |
Ruby on Railsを導入する
次に,Ruby on Railsをインストールします。本連載用コンテンツには,Ruby on Rails 1.1.6のgemパッケージを収録しています。gemコマンドを使い,*.gemファイルを導入していきます。
先ほど解凍したtoku1.tar.gzの中のgemsディレクトリに必要なパッケージがすべてそろっているので,これを導入します(図2)。
|
図2●本連載用コンテンツに収録したRuby on Railsと関連ソフトをgemコマンドで導入する |
なお,インターネット経由で導入するには,図3のようにします。インストール中にsqlite-rubyのバージョンを聞かれるので,最新のバージョンで「(ruby)」と付いている選択肢を選んでください。
|
図3●インターネット経由でRuby on Railsを導入する方法activesupportやRakeも同時にインストールされる。 |
正しくRuby on Railsが導入されたかを確認してみましょう。
|
バージョンが表示されれば,正しく導入されています。
これでRuby on Railsでアプリケーションを開発するために必要なパッケージは,すべて導入されました。
続いて,Rubyアプリケーションの実行環境を導入します。具体的には,Amazon のWebAPIを操作するRubyのライブラリなどです。詳細は解説しませんが,jsonやfeedtoolsなどがあります。
先と同じディレクトリで,図4のようにコマンドを実行します。ネットワークからインストールする場合には,図5のように実行します。インストール中に,hpricotのバージョンを聞かれますので,最新のバージョンで(ruby)を選択してください。
|
図4●本連載用コンテンツを使ってRuby実行環境を一気にインストールする |
|
図5●図4と同じことをインターネット経由で実施する方法 |
これで,本連載で作成するRubyアプリケーションの実行環境が整いました。