テスト・サーバーまたは実動サーバーでエンタープライズ Bean を正常に実行するためには、 まずエンタープライズ Bean 用のデプロイメント・コードを生成する必要があります。それには EJB デプロイメント・ツールを使用してください。 ツールで提供されているコマンド行インターフェースを使用できます。また、ワークベンチから呼び出すこともできます。
コマンド行を使用すると、ビルド・プロセスを夜間に実行することができ、デプロイメント・ツールを自動起動してデプロイメント・コードをバッチ・モードで生成することができます。
EJB デプロイメント・ツールは ejbdeploy コマンドを使用して呼び出します。呼び出されたコマンドは、1 つ以上のエンタープライズ Bean を含む入力 EJB JAR ファイルまたは EAR ファイルを受け入れます。次に、コマンドはデプロイ済み出力 JAR ファイルまたは EAR ファイルを (入力ファイルのタイプに応じて) 生成します。出力ファイルには .class ファイルの形式でデプロイメント・コードが含まれています。
EJB デプロイメント・ツールは、トップダウン・マッピングと Meet-in-the-Middle マッピング、単一と複数の EJB 表継承、および関係をサポートします。また、コンバーター (データベース表記を Java? オブジェクト型に変換する) およびコンポーザー (単一の複合 Bean フィールドを複数のデータベース列に変換する) の使用がサポートされます。 EJB デプロイメント・ツールは次のレベルのアクセス・インテントをサポートするようになりました (AccessIntent は WebSphereR 拡張機能です)。
EJB デプロイメント・ツールはすべてのアクセス・インテントに必要なコードをすべて生成します。つまり、そのためのオプションを指定する必要はありません。
パーシスタンス・マネージャーはランタイム・コンポーネントの 1 つで、永続的フィールドおよび関係の実装、および基礎となる永続的ストアへのすべてのデータ・アクセスの提供を受け持ちます。分離レベルはデータ保全性機能の 1 つで、データへのアクセス中に他のプロセスからデータをロックする方法を決定します。
アクセス型は最も重要です。これは、並行性 (同時に複数のプロセスがリソースを共用して使用すること) とアクセス型の組み合わせにより、 パーシスタンス・マネージャーの分離レベルが決定されるためです。
アクセス型は、データベースから Bean データが読み取られるときに取得されるロックの分離レベルおよび継続時間を制御します。 ペシミスティック ・アクセス型は、 データがロードされていてトランザクションが継続している間は、 ロックが保持されることを示します。 オプティミスティック 型は、データがバックエンドから読み取られると即時にロックをドロップすることを示します。 読み取り 型は、実行時にデータの更新を許可しないことを示します。 読み取り 型でデータの読み取りの際にデータを更新しようとすると、例外が発生します。 更新 型では、データの変更が許可されます。
2.x EJB プロジェクトの場合のみ、複数のバックエンド・データベースへのマッピングもサポートされます。スキーマおよび生成された DDL ファイルは、JAR ファイルまたは EAR ファイルの次のディレクトリーに保管されます。
EJBname\ejbModule\META-INF\backends\backend_id\schemaname.schxmi
EJBname\ejbModule\META-INF\backends\backend_id\tablename.ddl
複数のバックエンドが存在する場合に現行バックエンド ID が EJB デプロイメント記述子で設定されていないと、EJB デプロイメント・ツールは、既に説明したように、それぞれの META-INF\backends ディレクトリー中のフォルダーとして現れる最初のバックエンド ID をデフォルトで使用します。単一のバックエンド・データベースにマップする場合は、生成された DDL ファイルは上記のディレクトリーと META-INF フォルダーの両方に現れます。