タイトルWebObjects 5とOpenBaseを使ってみる/1.このシリーズの予定と最初に注意を1つカテゴリーMac OS X, データベース, WebObjects
作成日2001/8/1 15:37:0作成者新居雅行
WebObjects 5が発売され、WebObjectsの世界はJavaの方向にどんどんと向かっている。従来のWebObjectsと機能面では同じではあるが、Javaサポートが原則になったことから、データベースアクセスにはJDBCを利用することになった。これまでは、データベースエンジンごとのアダプタを用いてアクセスをしていたが、共通の「JDBCアダプタ」を使ってのデータベース利用が基本となる。そして、データベースエンジンごとにJDBCドライバを用意することとなった。
OpenBase SQLは、WebObjectsとともにインストールされるデータベースで、実運用にはライセンスの購入が必要になるが、開発版についてはフリーで利用できる。やはり最初からWebObjectsといっしょに組み込まれているだけに、WebObjectsとの親和性などは高いデータベースエンジンと言えるし、開発者にとってもある意味では安心して使える選択肢となっているわけだ。ただし、WebObjects 5に付属しているOpenBaseはやや古いバージョンである。執筆時点ではOpenBaseはVer.6.5.7がリリースされており、このバージョンから日本語のエンコーディングがフルサポートされている。いずれにしても、最新版のOpenBaseをダウンロードしてインストールを行うところからは開発者側が作業しなければならない。

今回から数回に渡って、OpenBaseを利用したWebObjects 5のアプリケーションを作成し、日本語の入力や表示をできるようにするためのポイントを解説したい。OpenBaseやWebObjectsについてほとんど知らないという方でも、なるべく分かるように、初歩からの説明を試みる。なお、WebObjects 5自体はなんらかの方法でインストールをしておいてもらいたい。ADC会員はWWDC 2001に参加の有無に関わりなく、2001 May版のDeveloper Toolsを入手しているので、それを利用すると期間限定版ではあるが、WebObjects 5をインストールできる。もちろん、すでに販売されているので、通常のルートで購入したものでもかまわないだろう。インストールのポイントとしては、現状のWebObjects 5は、rootでログインしてインストールをしないといけないことだ。NetInfo Managerでrootをアクティブにして、そのパスワードを忘れないようにしておき、ユーザー名「root」でログインをしてインストール作業を行うのである。

これで、いちおう作業はできるはずだが、筆者のところでのトラブルを最初に紹介しておきたい。こうしたトラブルにすべての人がハマるかは定かではないが、OpenBaseをうまく利用できない人はチェックをしてもらいたい。筆者がハマったトラブルとは、なぜかMac OS Xのマシンのホスト名が、日本語の文字列になっていたことだ。たとえば、Terminalを起動すると、プロンプトがでてくるが、プロンプトにはホスト名が含まれる。それがいきなり文字化けしている。そして、hostnameコマンドでホスト名の確認や設定ができるが、やっぱり文字化けしている。その結果、なぜかOpenBaseがきちんと起動しなくなってしまうのである。Consoleアプリケーションを開くと、OpenBaseがいろいろとエラーを出しているが、そこで、ホスト名が日本語で見えている。これは、システム環境設定の「共有」で設定する名前でもなく、ログインパネルででてくるコンピュータ名でもない違う名前なのだ。実はMac OS Xをインストールする前のMac OS 9での「コンピュータ名」なのである。なぜか、その名前が、Mac OS Xのホスト名として登録されてしまっているのである。どうしてそうなったのかは定かではない。たぶん、素直にホスト名は「localhost」であれば、開発上では問題ないのではないかと思われるが、とりあえずはそうなっていない。
ちなみに、ホスト名の設定は、StartupItemsフォルダにあるNetworkというスクリプト中にある。それを見ると、/etc/hostconfigファイルにある「HOSTNAME=」の設定を参照し、この設定があって「HOSTNAME=-AUTOMATIC-」なら(通常はこうなっている)、「ipconfig getoption "" host_name」というコマンドを実行して、その戻り値をhostnameコマンドの引数にし、そしてホスト名を処理しているのである。ipconfigというとWindowsのコマンドの方が有名なためか、インターネットで検索したけども詳細な情報は分からなかった。マニュアルもない。ただ、ipconfigdというデーモンが動いていて、ネットワーク関連の設定のいくつかに関連しているしかないとしか想像はできないところだ。筆者のマシンではなぜかこの方法でのホスト名設定は日本語の文字列が設定されてしまったのである。いずれにしても、とにかくホスト名の設定を何とかしなければならない。もっとも、直接的な方法は、/etc/hostconfigファイルを書き直すことだ。「HOSTNAME=-AUTOMATIC-」の行の最初に#を入れるなどしてコメントとしておき、「HOSTNAME=localhost」といった行を追加する。この設定の=以降の名前がそのままホスト名として採用されるので、この方法で回避した。なお、/etc/hostconfigファイルを編集する場合、「sudo open -a /applications/TextEdit.app /etc/hostconfig」とコマンド入力して、管理者のパスワードを入力すると、TextEditで開いて編集ができて楽だ。

最初から余談になってしまったけども、次回から、インストールを含めて手順を踏んで説明をしていくことにしよう。
関連リンクOpenBase International