DB2でさくさく実現するRESTfulなDBアプリ(1)
RailsアプリからDB2にアクセスするための基礎知識
はじめに
第1回では、DB2 on Railsで、ActiveScaffoldを使った簡単なアプリケーションを作成することにより、DB2 on Railsで開発する際の環境の準備と簡単なRubyアプリケーションの作り方をご紹介します。第2回、第3回では、今回作成するDB2 on Railsの環境を使用した、実践的なRESTfulアプリケーションを作成することにより、RESTfulとは何かと、その利点をご紹介します。
環境の作成
本連載は、Windows XPで動作確認を行っています。本稿執筆時のRuby、Railsの最新バージョンは、Ruby 1.9、Rails 2.1.1ですが、One-Click Ruby Installerの最終リリースであるRuby 1.8.6-26 Final Releaseで安定稼働している、Ruby 1.8.6、Rails 2.0.2とDB2 9.5、ibm_db 0.10.0の組み合わせを使用します。
それでは、早速DB2 on Railsの環境をつくってみます。
DB2 9.5の無償版 Express-Cを導入
まずは、アプリケーションのデータを格納するDB2を導入します。DB2には、商用データベースと同様のパフォーマンスや機能を持ち、無償で利用できるDB2 Express-Cというエディションが用意されています。お手元にDB2がない方は、以下のリンク先よりダウンロードしておきましょう。
なお、DB2の導入手順に不安のある方は、以下の資料を参考にするとよいでしょう。
Ruby実行環境を整える
Rubyの実行環境を導入します。Windows用には、いくつかのパッケージが用意されていますが、本稿ではOne-Click Ruby Installerを使います。以下のリンク先より1.8.6-26 Final Releaseをダウンロードし、導入しておきましょう。
インストールに際して、いくつかの質問項目に答える必要があります。デフォルトの状態で進んでも問題ありませんが、念のため以下の項目を確認しながら進めてください。
・導入するコンポーネント:
「Enable RubyGems」にチェックが入っていることを確認します。RubyGemsはRubyのパッケージマネージャです。これを使ってパッケージの導入をしますので必ず確認しておきましょう。
・導入するディレクトリ:
本稿では、デフォルトの「C:\ruby」に導入している前提で解説を進めます。導入先を変更する際は、ディレクトリ名に空白や日本語を含めないほうが動作上の不具合が少ないようです。
Railsの導入
次に、Railsを導入します。先ほどRubyと一緒に導入したRubyのパッケージマネージャであるRubyGemsを使って導入します。特定のバージョン、Ruby 2.0.2を導入したいので、バージョンを指定して実行します。コマンドラインでリスト1のコマンドを入力するとインストールが開始します。
C:\ruby\bin>gem install rails -v 2.0.2 -y Bulk updating Gem source index for: http://gems.rubyforge.org Successfully installed rails-2.0.2 Successfully installed activesupport-2.0.2 Successfully installed activerecord-2.0.2
…(略)…
ibm_dbドライバの導入
次にデータベースへ接続するためのドライバを導入します。
ibm_dbは、DB2を含むIBMデータベース用のRuby on Railsドライバであり、IBMが開発しメンテナンスを行っています。0.9.4では、Rails 2.0のXMLカラムのmigrationに対応し、0.9.5では、Rails 2.1.0をサポート、最新版の0.10.0では、DB2 9.5からの新機能であるトラステッド・コンテキストをサポートするなど、バージョンアップ頻度も高く、細かなバグへの対応も迅速に行っています。このibm_dbも、RubyGemsを使って導入できます(リスト2)。
C:\ruby\bin> gem install ibm_db -y Bulk updating Gem source index for: http://gems.rubyforge.org Select which gem to install for your platform (i386-mswin32) 1. ibm_db 0.10.0 (ruby) 2. ibm_db 0.10.0 (mswin32) 3. ibm_db 0.9.5 (mswin32) 4. ibm_db 0.9.5 (ruby) 5. Skip this gem 6. Cancel installation > 2 Successfully installed ibm_db-0.10.0-mswin32 Installing ri documentation for ibm_db-0.10.0-mswin32... Installing RDoc documentation for ibm_db-0.10.0-mswin32... C:\ruby\bin>
・Ruby/Ruby on Rails でのデータベース・アプリケーション開発のサポート
ここまでで、ひととおりの道具がそろいました。ここからは実際のアプリケーション構築の準備に入ります。
データベースの作成
DB2上で、このサンプルアプリケーションのためのデータベース(rubydb)を作成します。
DB2のコマンド・ウィンドウを開き、データベースを作成します(コマンド・ウィンドウは、[スタート]―[すべてのプログラム]―[IBM DB2]―[DB2COPY1]―[コマンド行ツール]―[コマンド・ウィンドウ]で立ち上げます)。
C:\IBM\SQLLIB\BIN>db2 create database rubydb DB20000I CREATE DATABASE コマンドが正常に完了しました。 C:\IBM\SQLLIB\BIN>
1/4 |
RailsアプリからDB2にアクセスするための基礎知識
DB2 9.5の無償版 Express-Cを導入|Ruby実行環境を整える|Railsの導入|ibm_dbドライバもパッケージから導入できる|データベースの作成
・プロジェクトの作成と設定
プロジェクトの作成|データベース接続の設定
ActiveScaffoldプラグインの導入|モデルの作成とテーブルの作成|コントローラの作成|標準レイアウトの追加|サーバの起動と動作確認
カラム追加用スクリプトとデータベースへの反映|関連付けの作成|組織表の作成とユーザー表の修正
・組織コントローラの作成
関連付けの追加
・アプリケーションの実行・動作の確認
・次回、実践編は……
DB2でさくさく実現するRESTfulなDBアプリ |
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|