タブの始まり
- 概要選択中,
- セットアップ
- DB操作
- アプリケーション開発
1. 概要
Ruby はシンプルさと生産性にフォーカスしたオープンソースのスクリプト・プログラミング言語をです。 Ruby は、オブジェクト指向言語であることが異なる他は、Perl や Python のようなスクリプト言語と良く似ています。 Rubyは、技術やプラットフォームに依存しません。 C、Java、.NET 上でさえ、スクリプトで必要となる有用なオプションになっている Ruby ランタイムの実装を見つけることができます。
Ruby 言語の更なる詳細については以下をご参照ください:
Ruby は、データベースのバックとなる Web アプリケーションを開発するためのオープンソースの Ruby フレームワークです。 Rails は、開発者が Web サイトやアプリケーションを最小限のコーディングで開発するのにを促進し、Ruby のオブジェクト指向コア・デザインを拡張します。
Rails は、二つの重要な原則に基づいています:
- 「設定より規約」 - Convention over configuration (CoC)。 開発者は、規則の例外だけにフォーカスする必要がります。 設計から実装に関するアプリケーションの他のすべての側面は、定義された規則によって自動的に行われます。
規則で、テーブル名に複数形を使用するようなルールを定義します。 例えば、アプリケーションが「Book」を呼び出すエンティティを用いる場合、このエンティティを格納するテーブルでは「Books」が呼ばれ、「Person」に関する詳細を格納する場合、テーブルでは「People」が呼ばれます。
- 「冗長性を無くす」 - Don't Repeat Yourself (DRY)。 情報は一箇所だけに配置します。 データベースのオブジェクト定義、ドキュメント、コンフィギュレーション・スクリプトは全て一箇所に保管し、それらの情報が必要な場合に参照されます。
更なる詳細は以下をご参照ください:
1.1 Ruby on Rails のアーキテクチャー
Ruby on Rails は、Web ベースの GUI プログラミングで標準的に用いられるモデル、ビュー、コントローラーの MVC アーキテクチャで構成されています。 このアーキテクチャには、三つの主要なコンセプトがあります:
- モデル(Model)
データベースのバックエンドと連携するために、永続性レイヤー(persistence layer)を包含するシステムのビジネスロジックです。
- ビュー(View)
ユーザーが視認できるようなモデルの GUI インターフェースです。 一つのモデルは複数のビューを有します。
- コントローラー(Controller)
ビューを用いるユーザーによって取られるアクションです。 コントローラーはビューを介してユーザーからの入力を受け取り、モデル内にカプセル化されたビジネス・ロジックを実行します。
Rails フレームワークは、Web アプリケーションの開発を容易にするために設計されたユーティリティとコンポーネントのセットを提供します:
- 「Rake」は、Ruby プログラミング言語に同梱されたビルド・ツールです。 UNIX における make コマンドと同じです。
- 「WEBrick」は、Ruby on Rails に同梱された Web サーバーです。
- 「ActiveRecord」は、Rails のオブジェクト・リレーショナル・マッパーで、永続性のために用意されています。 これは、Rails でモデルと呼ばれるクラスとして、データベーステーブルが表示されます。
- 「Action Controller」は、Rails アプリケーションでコントローラーを管理するコンポーネントです。 また、入力されたリクエストの処理やディスパッチも行います。
- 「Action View」は、Rails アプリケーションでビューを管理します。
1.2 Ruby Driver and Rails Adapter
BM Informix は、Ruby プログラミング言語で書かれたクライアント・アプリケーションのデータベース・アクセスと、Rail フレームワークでの Webアプリケーション開発とをサポートしています。
Ruby ドライバー
Ruby でデータベースを用いるために、アプリケーションはRuby ドライバーを必要とします。 このドライバーは、Ruby ランタイムをデータベース・サーバーに接続するレイヤーを提供します。
以下のドライバーで Ruby を Informix データベースに接続することができます:
- Ruby Informix ドライバーは、オープン・ソース・コミュニティでサポートされるオープン・ソース・プロジェクトです。 どの Informix データベースにも Ruby を接続することができます。 Ruby ドライバーは、全ての Informix データベース機能とデータ型のフルサポートを提供する Informix ESQL/C 言語を用いて開発されています。 言い換えれば、Informix Client Software Development Kit (Client SDK) ライブラリーを用いています。
- Ruby Driver for IBM Data Servers driver (IBM_DB) は、オープン・ソース・プロジェクトとして、IBM が提供、サポート、開発しています。 Ruby ドライバーは、Rails Adapter/Driver for IBM Data Servers パッケージで Rails アダプターと共に同梱されています。
Rails アダプター
Rails アダプターは、Rails フレームワーク内で特定の Ruby ドライバーを使用できるようにする Ruby スクリプトです。 これは、要求された Ruby オブジェクトを提供し、例えば、ActiveRecord オブジェクトは、Rails フレームワークで Ruby ドライバーのフル利用を可能にします。
IBM Informix は、以下の Rails アダプターをサポートします:
- informix_adapter.rb : Ruby Informix ドライバーと関連して用いられます。 Informix データベース・サーバーとのコミュニケーションには Client SDK ライブラリーが必要です。
- ibm_db_adapter.rb : Ruby Driver for IBM Data Servers とともに用いられます。 IBM Data Server Driver for ODBC および CLI パッケージを必要とします。
どちらのアダプターも Ruby gems として Ruby リポジトリーで利用できます。 Ruby gems は、Ruby コンポーネントに必要なライブラリやソース・ファイル、スクリプトなどを全て含んだ自己完結型のパッケージです。
関連情報
本コンテンツは、 IBM Informix Developer's Handbook (US) を抜粋して作製したものです。
IBM は、これらの資料の内容についていかなる保証もしません。これらの資料は、特定物として現存するままの状態で提供され、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任なしで提供されます。
IBM、IBM ロゴ、ibm.com、InformixおよびPower Systemsは、世界の多くの国で登録されたInternational Business Machines Corp.の商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml (US)をご覧ください。
他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。

