タイトル【WindowsオフィスでWebObjects】いよいよ実際に動かす(続き)カテゴリーWindows, WebObjects
作成日2001/2/9 17:7:49作成者新居雅行
こうしてビルドしたアプリケーションは、起動をする必要がある。もちろん、Project Builderから作業をすることができる。プロジェクトのウインドウのパレットの左から4
つ目に、ディスプレイの形をしたLauncher/Debubberボタンがある。これをクリックすると、Launchウインドウが表示される。そして、さらに、ここでも同じくディスプレイのデザインをしたLaunchボタンをクリックする。すると、アプリケーションが起動するのだが、WebObjectsのアプリケーションは特に画面やタスクバーには何もでない。そして、そのアプリケーションにとってのクライアントとなるWebページがブラウザで表示される。Webブラウザのウインドウが出てくるが、背後のLaunchウインドウには実行状態が表示される。

◇アプリケーションを起動する
 

◇起動した状態のLaunchウインドウと、クライアントのWebブラウザ
 

開発マシンで起動すると、このように、サーバアプリケーションが起動し、同時にクライアントとなるWebブラウザも起動する。ドメイン名はlocalhostになっているが、この状態ですでに別のマシンからも接続できるようになっている。以下のURLで開いてみるとよいだろう。

 http://<ドメイン名 or IPアドレス>/Scripts/WebObjects.exe/<プロジェクト名>

なお、Launchウインドウは、実は標準出力の結果が表示される。プログラムの中に、System.out.printlnなどのメソッドがあれば、Launchウインドウに引数の内容が表示される。Launchウインドウはデバッグなどでも使用される。

クライアントのWebページ側を見てみよう。ログインとあるので、アカウントとパスワードはどうするのかと思うかも知れないが、Wizardで作った既定の状態では、アカウントもパスワードも何も入力しないで、Loginボタンをクリックすれば、それでログインができる。トップの画面は次のようなもので、テーブル名が一覧され、各テーブルごとに検索条件を指定するポップアップメニューなどが表示されている。たとえば、Addressテーブルに対して、Nameフィールドが指定した文字のレコードのものなどが検索できるのである。

◇ログインを行った画面
 

あとは画面に従って使えばいいかというと、実はここで大きくつまずきがある。というか、当初はあきらめかけた。なぜか、データベースからのデータの取り出しが全然できないのである。適当に条件を設定すると、次のようなエラーメッセージが出てきた。これは、どんなデータベースでも必ず出てくるわけではないようで、シンプルなデータベースでは出てこなかった。どんな条件が絡むのかは現状では筆者は把握できてはいない。

◇検索を行うとエラーが出てくることもある
 

こうしたエラーが出てきても、なぜか、何度か検索を行っているうちに、きちんと検索ができるようになってくる。経験的には最初に2回ほど失敗したあと、後はきちんと動くようになるという感じだ。アプリケーションを終了し、再起動すると、やはり最初の2回の検索はうまくいかない。だから、起動した後、他の利用者にばれないように、検索がうまくいくまで何度か検索を行っておくということで、非常に情けない手法ではあるが、とりあえず対処できそうだ。
なんでエラーが出てくるかは不明だし、いろいろ探してみたけど、それらしいトラブル対策は見つからない。だけど、必ずこういった問題が出るのなら、きっとすでに顕在化しているだろうから、もしかするとODBC/Access特有の問題なのかもしれない。

さて、ここでは見て分かるように、住所録のデータベースを使った、単純な1つのテーブルに納めたものをとりあえず、Direct to Webで公開できるようにしたという次第だ。よくある使い方は、左側でSearchボタンをクリックし、Entitiesで選択しているテーブルのフィールドが一覧され、そこで検索条件を入れるというものだろう。なお、最初の画面で→の部分をクリックしても、同様にフィールドごとに指定できるページになる。最初のページだと、条件が>や=などしかないのだが、フィールド名が一覧されているページだと、starts withや、containsなどがあるので、住所録の検索だとこっちの方が一般的だろう。

◇より詳細な検索条件を指定するページ
 

検索した結果、絞り込まれたレコードが、ページに一覧される。もし、レコードが10以上あるのなら、自動的に分割されたページで表示される。フィールド名が見出しに直接来ていて、レコードがよこにずらりと表で並ぶため、どうしても、横スクロールが必要になってしまうが、とにかく、データベースの取り出しができるようになったという次第だ。

◇検索した結果
 

レコードの左側にペンを手で持ったアイコンがあるが、ここをクリックして入力データの編集や、Newボタンをクリックして新しいレコードが入力できるあたりに目が向くだろう。ただ、これらはどうやらAccessを使う限りは初期状態では使えないらしい。使えるようにするにはデータベースの変更が必要になるのだが、これについては次回に説明をしよう。

また、こうしてDirect to Webで作成されたページは、任意にカスタマイズできる。カスタマイズの方法は、Webブラウザから行う方法と、プログラムに手を入れる方法がある。あまりたくさんのカスタマイズが必要になるというのは、かえって大変になるが、たとえばレコードは参照しかできず、新規作成や削除をできなくするというくらいであれば、ブラウザか行えるカスタマイズの範囲内で可能である。これらの機能については時期を置いて、お伝えするつもりである。
関連リンク