オブジェクト指向データベースの復権(後編)

ObjectStoreとCachéでOODBへ踏み出そう Page 3

2004/10/1
山田祥寛

Cachéのサンプルアプリケーション構築

サンプル動作の前提条件

 Caché評価版は以下のサイトからダウンロード可能だ。シングルユーザー・ライセンスで、商用アプリケーションには利用できないが、Cachéの全機能を試用することができ、使用期限も決められていない。帯域などの関係でダウンロードが難しいというユーザーのために、評価版CD-ROMの送付サービスが提供されている。

 Cachéもまた、先述したObjectStore同様、Windows、Linux、Solaris、HP-UXなどの主要なプラットフォームに対応しているが、本稿ではWindows 2000環境を前提に手順を紹介する。異なるプラットフォームを利用している方は、パスなど細部が異なる可能性もあるので、適宜、必要に応じて読み替えていただきたい。

 なお、Cachéに対してアクセスするために、本稿ではJavaアプリケーションを利用しているが、Javaアプリケーションをコンパイル/動作させるに当たっては、あらかじめJ2SE環境が必須となる(本稿では、執筆時点での最新バージョンである1.4.2_05で動作を確認)。J2SEの詳細なインストール手順については本稿では割愛するが、筆者運営の「サーバサイド技術の学び舎 - WINGS」より「サーバサイド環境構築設定」などを参考にしてほしい。

[1]Cachéをインストールする

 インストールを開始するには、ダウンロードした「CachePCkit.exe」をダブルクリックするだけでよい。後はインストール・ウィザードの手順に従って進めていけばよい。途中でインストール先を聞かれるが、本稿ではデフォルトの「c:\CacheSys」としておく。

[2]環境変数を設定する

 JavaアプリケーションからCachéを利用する場合には、あらかじめいくつかの環境変数(PATH、CLASSPATH)を設定しておく必要がある。環境変数が正しく設定されていないと、以降の処理が正しく動作しないので注意すること。なお、環境変数は[システムのプロパティ]からも行うことができるが、本稿ではコマンドプロンプトから行うことにする。

> SET PATH="%PATH%;c:\j2sdk1.4.2_05\bin;"
> SET CLASSPATH=".;C:\CacheSys\Dev\Java\Lib\CacheDB.jar;"
リスト7 Cachéの環境変数設定

[3]Cachéに格納するための永続化クラス「Book」を用意する

 Cachéデータベース上にクラスを生成するには、Cachéスタジオ(Cachéに付属するGUIベースの統合開発環境)を利用する。Cachéスタジオは、スタートメニューから[プログラム]−[Caché]−[CACHEWEB]−[スタジオ]で起動できる。

図1 Cachéスタジオのメイン画面(クリックで拡大します)

 新しいクラスを作成するには、メニューバーより[ファイル]−[新規作成]を選択する。[新規作成]ダイアログが表示されたら、[Cachéクラス定義]を選択し、[OK]をクリックする。新規クラスウィザードが起動するので、最低限必要な以下の情報を入力しておこう。入力が終わったら、[完了]ボタンをクリックすることで、Cachéクラスの骨組みが自動生成されるはずだ。

項目 設定値
パッケージ名 wings
クラス名 Book
クラスタイプ Persistent
表2 新規クラスウィザードの設定

 次に、新規生成したBookクラスに対してプロパティとプロジェクションを追加する必要がある。プロジェクション(投影)とは、CachéクラスとJavaクラスとを同期させるための設定のことをいう。Cachéクラスは、あくまでCaché独自の構文で記述されたクラスである。CachéクラスをJavaアプリケーションから操作するには、必ずCachéクラスと等価のJavaクラスをあらかじめ用意しておく必要がある。この「投影された」JavaクラスがCachéデータベースとJavaアプリケーションとの橋渡しを行ってくれるというわけだ。プロジェクション定義を行っておくことで、Cachéクラスのコンパイル時に、Cachéスタジオが自動的にJavaクラスを生成してくれる。

 ここでは、それぞれ以下の表3に示したプロパティとプロジェクションを作成しておく。プロパティ/プロジェクションの追加は、メニューバーより[クラス]−[新規プロパティ]/[新規プロジェクション]で行うことができる。

種類 名前 データ型 属性
プロパティ   Isbn %String 必須/ユニーク
Title %String 必須/インデックス
Price %Integer 必須
Publish %String 必須/インデックス
プロジェクション MyProj %Projection.Java
表3 プロパティ/プロジェクションの設定

 プロジェクションのROOTDIRパラメータには、Javaクラスを生成するディレクトリを指定できる。ROOTDIRパラメータが省略された場合には、デフォルトで「C:\CacheSys\Devuser\java\USER」に生成される。

 以上の設定に成功すると、以下のようなCachéクラスが生成されるはずだ。メニューバーの[ビルド]−[コンパイル]を選択することでBookクラスがコンパイルされ、「C:\CacheSys\Devuser\java\USER\wings」にBook.javaが生成される。

Class wings.Book Extends %Persistent
  [ ClassType = persistent, Owner = _SYSTEM, ProcedureBlock ] {
  Projection MyProj As %Projection.Java;
  Property Isbn As %String [ Required ];
  Property Price As %Integer [ Required ];
  Property Publish As %String [ Required ];
  Property Title As %String [ Required ];

  Index IsbnIndex On Isbn [ Unique ];
  Index PublishIndex On Publish;
  Index TitleIndex On Title;
}
リスト8 生成されたCachéクラス

 自動生成されたBook.javaについては、Cachéスタジオは自動でコンパイルは行ってくれないので、コマンドプロンプトから手動でコンパイル処理を行う必要がある。(次ページへ続く)

3/4

 Index
連載:オブジェクト指向データベースの復権(後編)
ObjectStoreとCachéでOODBへ踏み出そう
  Page 1
ObjectStoreのサンプルアプリケーション構築

 ・サンプル動作の前提条件
 ・[1]PSE Proをインストールする
 ・[2]環境変数を設定する
 ・[3]PSE Proに格納するための永続化クラス「Book」を用意する
 ・[4]ポストプロセス処理を行う
  Page 2
 ・[5]データベースを生成する
 ・[6]データベースからデータを取得する
Page 3
Cachéのサンプルアプリケーション構築
 ・サンプル動作の前提条件
 ・[1]Cachéをインストールする
 ・[2]環境変数を設定する
 ・[3]Cachéに格納するための永続化クラス「Book」を用意する
  Page 4
 ・[4]データベースにオブジェクトを登録する
 ・[5]データベースからデータを取得する
Cachéへのさまざまなアクセス方法


オブジェクト指向データベースの復権



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間