辞書アプリケーションは、辞書の 2 つの機能を実装する結合マッピング・アプリケーションです。実装される 1 つの機能である LOOKUP は、ユーザーが入力語に関連した辞書項目を検索するために用意されており、もう 1 つの機能である DEFINE は、ユーザーが辞書の既存の項目を更新したりまだ存在しない項目を追加したりするために用意されています。 辞書アプリケーションは、辞書をサーブレットとして実装します。 このサーブレットによって、LOOKUP および DEFINE のユーザー要求がデータベース接続マネージャーに転送され、辞書項目が含まれるデータベースでの操作が実行されます。
辞書アプリケーションのアーキテクチャー
辞書アプリケーションは、モデル・ビュー・コントローラー (MVC) アーキテクチャーを実装するために、データベース・アダプターである DictionaryJDBCAdapter.java をモデルとして実装し、showentry.jsp をビューとして実装し、DictionaryServlet.java をコントローラーとして実装します。ユーザーが辞書サーブレットのエントリー・ポイントから辞書アプリケーションにアクセスするとき、ユーザーは、必ず DictionaryServlet.java クラスに送られます。 そこから、DictionaryServlet.java は、ユーザーによって指定される要求を、データベース・アダプター DictionaryJDBCAdapter.java に委任されるタスクとして処理します。 DictionaryJDBCAdapter.java クラスがタスクを完了した後、辞書サーブレットは結果を showentry.jsp に転送し、そこで適切な応答が編成されてユーザーに送り返されます。
特に、DictionaryApp プロジェクトの DictionaryJDBCAdapter.java クラスでは、JNDI 名が jdbc/DictionaryDB であるデータ・ソース・オブジェクトに対して JDBC 照会形式の SQL コマンドを呼び出すことにより、LOOKUP および DEFINE が実装されています。 DictionaryApp が WebSphere Application Server にデプロイされると、サーバーは、DictionaryServlet.java の中で、JNDI 名が jdbc/DictionaryDB である DataSource オブジェクトと実際のデータ・ソース・リソースをマップする操作を試みます。 その後この参照は DictionaryJDBCAdapter.java クラスに渡され、データベース・アダプターのデータベース接続が設定されます。 辞書の項目を保持するデータベースの作成と、アプリケーション・サーバーとそのデータベース間を接続する役割を持つデータ・ソースの作成が必要になります。 WebSphere Application Server には、リレーショナル・データベース管理システムとして Derby が組み込まれています。 データベース・リソースが必要になる場合、アプリケーションで Derby データベースを使用するように構成できます。
サーバー上でサンプルを実行してテストするには、以下のステップを行います。