タイトルFileMaker Developer 5を使う:Javaからの利用(2)カテゴリーJava, データベース
作成日2000/8/9 15:57:49作成者新居雅行
一方、ファイルメーカーJavaクラスを使ったアプレットとして、Applet2を作成した。クラス自体は、サンプルなどに入っている「FmproProxy.zip」というファイルを使う。やはり、CodeWarriorでウィザードをベースに作ったプロジェクトで、「Java Classes」フォルダにFmproProxy.zipを入れておく。また、コンパイル時に参照を行うことから、このFmproProxy.zipをプロジェクトに登録しておく必要もある。結果的に次のようなタグで、アプレットを実行することにする。やはり、ARCHIVE属性に、ファイルメーカーJavaクラスのファイルを指定しておく。

<APPLET
CODEBASE = "Java%20Classes"
CODE = "FMP_Access.Applet2.class"
ARCHIVE = "FmproProxy.zip"
NAME = "TestApplet"
WIDTH = 400
HEIGHT = 200
HSPACE = 0
VSPACE = 0
ALIGN = middle
>
</APPLET>

このApplet2のプログラムは別掲の記事に紹介した。独自のクラスライブラリなので、独自の方法でプログラムを作るということになるが、JavaドキュメントがDeveloper版に付属しているので、それを見ながら作成するということになるだろう。APIの解説だけでなく、そこにはサンプルプログラムも掲載されいる。データベースの原理が分かっていれば、それほど難解なクラスではないと言えるが、やはり独特のやり方なのでそれなりに全体像を把握するのに時間を割いた方がいいだろう。また、プログラムを見てもらえばだいたい分かるが、要は、Webコンパニオンに渡すクエリー文字列を、メソッドを使って逐次指定するという様相である。取り出した結果セットからフィールドの値を取り出すが、くり返しフィールドであることを考慮して、配列が得られる。従って、単にテキストボックスがあるようなフィールドであっても、配列アクセスをしないといけないので、ちょっとプログラムがややこしくなっているというところだ。マニュアルにはクラスのリファレンスがない。

◇Applet2の実行結果
 

以上のように、JavaアプレットでJDBCを使うかあるいはファイルメーカーJavaクラスを使うにしても、データベースアクセスが確認できた。ただし、Apple Applet Runnerの上では稼動したものの、Internet Explorer 5では、フリーズしたようになってしまい、きちんど稼動することはほとんどなかった。何度か試したが、1度くらいは動いたのであるが、きちんと動作しないことが多かったのである。ブラウザでの動きについては、やや安定度に問題があるかもしれない。
JDBCドライバを利用することで、Javaの標準ライブラリに入っているJDBCの作法でデータベースアクセスができる。しかしながら、ファイルメーカーPro自体がSQLデータベースでないことは考慮に入れておくべきだろう。クォーテーションの問題なども含めて、一般的なSQLとはやや趣が違う。言い換えれば、SQLベースで作られたJavaアプレットがあって、それをファイルメーカーProに移植するようなことはかなり困難だと思われる。
Javaのアプレットを使ってまでファイルメーカーProを使いたいという場合は、たとえば大量のクライアントがいて、管理や費用を押さえるという点に注目し、かつ、ユーザインタフェースを備えた作り込んだソフトウエアを使いたい場合ということになるだろう。しかしながら、Javaのコンポーネントの安定度がブラウザでは今一つということになると、少しはなしが違ってくる。安定に動かす方法が見つからない場合には運用はかなり苦しくなるかもしれない。いずれにしても、素直に動かない場合もあることを想定してかかった方がいいのかもしれない。
関連リンク