How-To: EJB 3.0およびWSメタデータを使用したJava Adventure Builder 日付:2006年5月4日
はじめにJava Adventure Builder Reference Application v1.0(Adventure Builder)は、最新のJ2EE 1.4テクノロジを実証するSun Microsystemsのブループリント・アプリケーションです。 このアプリケーションの詳細については、 http://java.sun.com/blueprints/code/adventure/1.0/docs/index.htmlでご覧になれます。 Enterprise JavaBeans(EJB 3.0)とWebサービス・メタデータにより、J2EEサービスの開発は大幅に簡素化されます。 オラクルは、EJB 3.0とWebサービス・メタデータを使用するため、Java Adventure Builder 1.0.1を移行し、EJB 3.0とWebサービス・メタデータのサポートを実証しました。 更新されたこのアプリケーションは、EJB 3.0とWebサービス・メタデータを使用した開発の簡易性を実証するために提供されており、J2EE 1.4のブループリント・アプリケーション、またはEJB 3.0やWebサービス・メタデータのブループリント・アプリケーションかわりと見なされるものではありません。 このドキュメントでは、EJB 3.0とWebサービス・メタデータを使用するために、オラクルによって行われた変更について説明します。 また、アプリケーションを構築(再構築)する方法と、Oracle Application Server 10g 10.1.3.1にAdventure Builderアプリケーションをデプロイする方法についても説明します。 Java Adventure Builderアプリケーションは、次の6つのモジュールから構成されています。
これらのモジュールにはすべて、JAX-RPCエンドポイントで公開されて注文の処理や追跡を行う、Entity Bean、MDB、ステートレスEJB WebサービスなどのEJBモジュールがあります。
ConsumerWebSiteは、Adventure BuilderのWebモジュールであり、Adventureパッケージの注文の検索および作成を行うWebインタフェースを提供します。 このWebモジュールは、ステートレスEJB 2.1 Webサービスを使用して、Adventureへの注文の送信や状況の追跡を行います。 このHow-Toドキュメントを読むことで以下のことが実行できます。
移行の概要Java Adventure Builderを移行してEJB 3.0とWebサービス・メタデータを使用するおもな目的は、メタデータ・アノテーションがアプリケーションの開発をどの程度簡素化するかの判断と、EJB 3.0とWebサービス・メタデータの有用性の検証について学習することです。 アプリケーションのオブジェクト・モデルやデータ・モデルの再設計を目的としたものではありません。 Consumer Websiteモジュールは更新され、JDBC DAOにかわってEJB 3.0永続化が使用されます。 サーバー側コンポーネントのOrder Processing Centerモジュール、Bankモジュール、Supplierモジュールが移行され、EJB 3.0 Session Bean、Message-Driven Bean、Persistence APIが使用されます。 Webサービスはすべて移行され、Webサービス・メタデータが使用されます。 次の表は、各モジュールの移行作業の概要を示します。
移行されたアプリケーションは、アノテーションとデプロイメント・ディスクリプタの両方をEJB 3.0モジュールで使用でき、さらにEJB 3.0とEJB 2.1が相互運用可能であることも実証します。 アプリケーションを再構築するには、 How To Rebuild - Java Adventure Builder Application using EJB 3.0 and Web services Metadataを参照してください。 前提条件必須知識
ソフトウェア要件ソフトウェアを使用できる場所へのリンクを提供します。 少なくとも、JDK、Ant、およびOC4Jを含みます。
表記法
アプリケーションの構築このドキュメントは、移行されたAdventure Builder 1.0.1をOC4J 10g(10.1.3.1.0)にデプロイする方法について説明します。 元のアプリケーションをSunのWebサイトから直接ダウンロードして、EJB 3.0およびWSメタデータ使用のために行われた変更を比較できます。 アプリケーションを最初から構築するには、 how-to-rebuild-adventurebuilder-ejb3-wsm.htmlを参照してください。 アプリケーションの実行How-toの配布物の確認この例には次のファイルが含まれます。
アプリケーションの設定Oracle Databaseの使用1) OC4Jの構成、または提供されたSQLスクリプト scripts/oracle.sqlを使用してアプリケーションを配置する前に、Oracle Databaseを構成します。 このスクリプトは、アプリケーションの使用に必要な表およびデータを作成します。 OracleデータベースでSQL*Plusを使用している場合は、 abという名前のユーザーが作成されていると仮定して、次のコマンドを使用できます。
元のAdventure Builderアプリケーションは、CMP 2.1 Entity Beanの表の自動作成機能を使用します。 提供されたスクリプトでOPCおよびサプライヤ表のスキーマを明示的に作成できるため、これは適切ではありません。 2) OC4Jにデータソースを作成し、必要な表とデータをロードするユーザーに接続します。 新しいデータソースのJNDIロケーションは、 jdbc/adventure/AdventureDBとなります。 ANTタスクを使用して、JDBCリソースを作成できます。 ant-oracle.propertiesファイルのデータベース構成(db.host、db.sid、db.port、db.user、db.password)が変更されていることを確認してください。 $ORACLE_HOME/ant/binが PATH環境変数に含まれていることを確認し、次のコマンドを実行してください。
この新しいデータソースを作成するには、次のいずれかを行ってください。
OC4Jリソースの構成Adventure Builderは、J2EEコンテナの提供するさまざまなリソースに依存します。 アプリケーションを配置および実行する前に、これらのリソースをOC4Jで構成する必要があります。 メール・サーバー注文の送信および完了に関する電子メールを作成するアプリケーションを有効にするには、OC4Jでメール・セッション・リソースを構成する必要があります。 1) %ORACLE_HOME%/j2ee/home/config/application.xmlファイルを編集して、使用するメール・サーバーのエントリを追加します。 たとえば、 application.xmlに次のエントリを設定します。
JMSキューAdventure Builderは、メッセージ・キューを使用して注文とフルフィルメントの詳細を送信します。 Adventure Builderが使用する複数のJMSキューを構成する必要があります。 ANTタスクを使用して、JMSリソースを構成できます。 $ORACLE_HOME/ant/binが PATH環境変数に含まれていることを確認してください。JMSリソースの構成は、サンプルのルート・ディレクトリのコマンド・プロンプトから、次のコマンドを使用して行います。
環境の設定次の環境変数が定義されていることを確認してください。
サーバーの起動以上を変更した後に、次のコマンドを使用してOracle Containers for J2EEをスタンドアロンで起動します。
Oracle Application Server管理インストールを使用している場合、上記の変更後に次のコマンドを使用します。
4. アプリケーションの生成、コンパイル、および配置Ant 1.6.2はOracle Containers for J2EEに同梱されており、 PATH環境変数を $ORACLE_HOME/ant/binに設定する必要があります。 オペレーティング・システムによっては、現在はAntが環境変数をサポートしていないものがあります。 該当するオペレーティング・システムの場合は、 %HOWTO_HOME% ディレクトリにあるant-oracle.xmlを修正してください。 demo
Oracle Application Server管理インストールを使用している場合、Oracle Application Serverのインストールにおいて管理されているOracle Containers for J2EEインスタンスの oc4j.admin.userおよび oc4j.admin.password以外の変更については、次のプロパティを変更します。
環境に応じて、ant-oracle.propertiesのdeployer.uriを適切にコメントアウトする必要があります。たとえば、OPMNの管理する単一のOracle Containers for J2EEインスタンスやクラスタ化されたOracle Containers for J2EEインスタンス/グループなどです。 注:OracleAS環境でデプロイする場合や、httpポートが8888以外の場合は、ディスクリプタを適宜変更して、 how-to-rebuild-adventurebuilder-ejb3-wsm.htmlに示された手順に従ってアプリケーションを再構築する必要があります。 $ORACLE_HOME/ant/binが PATH環境変数に含まれていることを確認してください。Adventure Builderのデプロイは、サンプルのルート・ディレクトリのコマンド・プロンプトから、次のコマンドを使用して行います。
提供されているbuild.xmlファイルのデフォルトの 全 ターゲットを実行すると、次の手順が実行されます。
アプリケーションの実行Antのビルド・スクリプトを使用してアプリケーションの配置に成功したら、次のURLからConsumer Websiteアプリケーションにアクセスして、アプリケーションのテストを行うことができます。 http://localhost:port/ab/ まとめこのドキュメントで学習した内容は、次のとおりです。
|