オブジェクト指向データベースの復権(後編)
ObjectStoreとCachéでOODBへ踏み出そう Page 1
2004/10/1
山田祥寛
データベースといえばRDBMSという固定観念は、オブジェクト指向開発の普及により、ゆるやかに崩れつつある。本記事では、オブジェクトとして定義された複雑なデータ構造をシームレスに格納できるデータベースとして、オブジェクト指向データベース(OODB:Object Oriented DataBase)の可能性を探ってみる。(編集局)
主な内容 --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éへのさまざまなアクセス方法 |
前編「CachéとObjectStore、脱RDBMSの真価を探る」では、オブジェクト指向データベース(以下、OODB)の概略を紹介するとともに、その代表的な製品であるObjectStoreとCachéの概観を見渡してみた。だが、「理屈だけ聞いていても、なかなか具体的なイメージがわかない」という方も少なくないだろう。そこで、後編の今回は、ObjectStore、Cachéを実際にインストールして、簡単なアプリケーションを構築してみる。従来のリレーショナルデータベース(以下、RDB)を利用したアプリケーションと比べ、どのような点が便利になるのかを体感してほしい。
サンプル動作の前提条件
本稿では、ObjectStore製品のさまざまなラインアップの中でも無償ダウンロードが可能なObjectStore PSE Pro(ObjectStore Personal Storage Edition Pro:以下、PSE Pro)を採用する。PSE Proは、シングルユーザー向け組み込みアプリケーション用に設計された軽量なデータベースエンジンだ。サーバサイドなど複数ユーザーが同時にアクセスする用途には不向きであるものの、取りあえずOODBの雰囲気を味わってみるには最適の製品である。Windows、Linux、Solaris、HP-UXなど主要なOSに対応しているが、本稿ではWindows 2000環境を前提に紹介する。異なるプラットフォームではパスなど細部が異なる可能性もあるので、必要に応じて読み替えてほしい。
なお、PSE Proが動作するにはJ2SE 1.2が必要となる。執筆時点でのJ2SEの最新バージョンは1.4.2_05であるが、こちらでは正しく動作しないので注意すること。なお、本稿ではJ2SE 1.2.2_017を採用した。あらかじめ自環境にインストールしておいてほしい。J2SEのインストール手順については、筆者運営の「サーバサイド技術の学び舎 - WINGS」より「サーバサイド環境構築設定」などを参考にするとよい。
[1]PSE Proをインストールする
PSE Proは、以下のサイトからダウンロード可能だ。ダウンロードに先立っては、あらかじめユーザー登録が必要となる。また、試用版は最初の起動から20日間の使用期限があるので注意すること。
インストールは、ダウンロードした「trialinstj.exe」をダブルクリックするだけでよい。インストール・ウィザードが起動するので、通常は以下のデフォルト値のままに進めていけばよいだろう。
項目 | 設定値 |
java.exeへのパス | c:\jdk1.2.2\bin\java.exe |
インストール先 | c:\odi\pseproj |
表1 インストール・ウィザードの設定値 |
[2]環境変数を設定する
PSE Proの以降の処理に当たっては、あらかじめいくつかの環境変数を設定しておく必要がある。環境変数が正しく設定されていないと、以降の処理が正しく動作しないので注意すること。なお、環境変数の設定は[システムのプロパティ]からも行うことができるが、本稿ではコマンドプロンプトから行うことにする。
> SET PATH="%PATH%;c:\jdk1.2.2\bin;C:\odi\pseproj\bin" |
リスト1 PSE Proの環境変数設定 |
[3]PSE Proに格納するための永続化クラス「Book」を用意する
次に、PSE Proに格納するためのクラス「Book」を定義しておこう。Bookクラスはプロパティ値を格納するためのプライベート変数と変数にアクセスするためのアクセサ・メソッドのみを含んだごく単純なクラスだ。
package wings; |
リスト2 Book.java(PSE Proに格納するためのクラス) |
[4]ポストプロセス処理を行う
PSE Proに対してオブジェクトを永続化するには、クラスファイルに対してあらかじめ「ポストプロセス」というデータベースアクセス用の処理を施しておく必要がある。ポストプロセス処理といっても、さほどに難しいことではない。PSE Proにはポストプロセスを行うための「osjcfp」というコマンドラインツールが用意されている。コンパイル済みのクラスファイルに対して、このosjcfpツールを実行するだけでよい。
> javac Book.java ←コンパイル |
リスト3 Bookクラスのコンパイルとポストプロセス |
以上の処理によって、カレントフォルダ直下の「wings(パッケージ名)」フォルダにポストプロセス後のBook.classが生成されるはずだ。カレントフォルダ直下に生成された(コンパイルしただけの)Book.classよりも容量が大きくなっていることが確認できる。以降の処理に必要なのはポストプロセス後のBook.classだけなので、元のBook.classは削除しても構わない。(次ページへ続く)
1/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éへのさまざまなアクセス方法 |
オブジェクト指向データベースの復権 |
- 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」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|