J2EEアプリケーションのデプロイ
このチュートリアルでは、Oracle Enterprise
Manager 10g Application Server
Controlを使用したデータ・ソースの作成方法と、Oracle Application Server 10g
に対するJ2EEアプリケーションのデプロイ方法を説明します。
約30分
このチュートリアルの内容は次のとおりです。
このアイコ
ンの上にカーソルを置くと、このチュートリアルのすべてのスクリーンショットが表示されます。 (注意:
この操作によりすべてのスクリーンショットが同時に読み込まれるため、使用しているインターネット接続の種類によっては応答が遅い場合があります。)
注意: 各手順に関連するスクリーンショッ
トのみを表示する場合は、それぞれの手順のアイコンの上にカーソルを置いてください。
Oracle Application Server 10g
は、標準Java Development Kit(JDK)のJava仮想マシン(JVM)で稼働する、全体がJavaで書かれた完全なJava
2, Enterprise Edition(J2EE)環境を提供します。 オペレーティング・システム上に存在する標準JDK上でOracle
Application Server Containers for J2EE 10g(OC4J)を実行できます。
OC4Jは、高速かつ軽量の非常にスケーラブルで使いやすいJ2EEサーバーであり、J2EE 1.3と完全に互換性があります。
Oracle Application Server 10g
は、J2EE
API仕様、XML、Webサービスを含む最新の業界標準テクノロジとプログラミング言語をサポートするJ2EEフレームワーク上で全体が構築されていま
す。
この包括的で柔軟性の高いフレームワークにより、動的Webサイト、ポータル、およびトランザクション型アプリケーションの設計、開発、デプロイを、使い
慣れたプログラミング言語と、サーブレット、JavaServerページ、XML、PL/SQL Server
Page、SOAPなどのテクノロジを使用して行えます。 Oracle Application Server 10g
は、認可されたグループにWebデバイスからインターネットを介してビジネス機能を公開するための包括的Webサービスも提供します。
The Oracle Application Server 10g
環境は、Oracle Enterprise Manager 10g Application Server
Controlにより管理されます。 WebベースのApplication Server Control
Consoleを使用して、管理者は次のことを行えます。
- アプリケーション・サーバー・コンポーネントの管理と構成
- サーバー・パフォーマンスの監視
- サーバー環境のグラフィカル・ビューへのアクセス
- J2EEアプリケーションのデプロイと監視
- アプリケーション・サーバー・コンポーネント全体のポート値の管理
- サーバーおよびアプリケーションの診断ログの表示
HRデモ・アプリケーションは、Oracleデータベースから部門および
従業員に関する詳細情報を取得します。 このアプリケーションでは、メインの初期ページから部門ページと従業員ページにナビゲートできます。
検索フィールドを使用して、名前による従業員検索も可能です。 Application Server
Controlのデプロイ・ウィザードを使用してHRアプリケーション(hrapp.ear)をデプロイすると、アプリケーションはOC4Jインスタンス
にデプロイされます。 Webアプリケーションは、OC4JからアプリケーションにアクセスできるようにURLコンテキストに結合されます。
ト
ピック・リストに戻る
このチュートリアルを始める前に、次のことを実行してください。
| 1. |
Application
Server 10gのJ2EEおよびWebキャッシュ中間層コンポーネントのインストール |
| 2. |
環境変数ORACLE_HOMEがOracle
Application Server 10g ソフトウェアがインストールされたディレクトリを指すよう設定
|
| 3. |
$ORACLE_HOME/bin、$
ORACLE_HOME/dcm/bin、$ORACLE_HOME/opmn/binを含むよう環境変数PATHを設定
|
| 4. |
Oracle 10g
データベースへのアクセスの確認。 そのデータベースへのHRサンプル・スキーマのインストール。 HRスキーマのパスワードを確認
|
ト
ピック・リストに戻る
データ・ソースは、次の2つのレベルで作成できます。
(1)コンテナ・レベル: OC4Jにデプロイされたすべてのアプリケーション用、(2)アプリケーション・レベル: 特定のアプリケーション用。
このチュートリアルでは、コンテナ・レベルのデータ・ソースを作成します。
このデータ・ソースは、hrappアプリケーション用のデータを格納するために使用されるHRスキーマへのアクセスを提供します。
データ・ソースを作成するには、次の手順を実行します。
| 1. |
Oracle Enterprise
Manager 10g Application Server
Controlがまだ稼働していない場合は、次のコマンドを使用してコマンド・ウィンドウから起動します。
emctl start iasconsole

|
| 2. |
ブラウザを開いて、次のURLを入力します。 http://<hostname>.<domain>:1810/.
注意: 管理ポート番号はインストール時に自動的に割り当てられ、インストールごとに異なる場合があります。
ユーザー名およびパスワードの入力を要求されたら、ias_adminおよびインストール時に入力したパスワードを入力します(例: ias_admin)。

|
| 3. |
Application Server Control
Consoleの「Home」ページに、「System Components」表が表示されます。
OC4JコンポーネントのHTTP Serverとhomeがまだ稼働していない場合は、それらを起動します。
それには、各コンポーネントの横のチェック・ボックスを選択し、左上のコンポーネント表の「Start」ボタンをクリックします。
次に、リストからOC4Jの「home」リンクを選択すると、OC4Jの「home」コンポーネント・ページにナビゲートし
ます。

|
| 4. |
OC4Jの「home」コンポーネント・ページには、最初はこのOC4Jコンポー
ネントに関するステータスとパフォーマンス情報を提供する「Home」ページ・リンクが表示されます。
コンテナにデプロイされたJ2EEアプリケーションとその使用状況およびパフォーマンスに関する情報を表示および管理するには、「Applications」
プロパティ・ページ・リンクを使用します。 「Administration」プロパティ・ページでは、OC4J構成を管理できます。
データ・ソースを定義するには、「Administration」プロパティ・ページをクリックします。

|
| 5. |
「Administration」プロパティ・ページで、コンテナ・レベル・デー
タ・ソースを管理するには、「Application Defaults」の下の「Data Sources」をクリックし
ます。

|
| 6. |
「Data Sources」ページで、「Create」をクリッ
クし、コンテナ・レベル・データ・ソースを作成します。

|
| 7. |
「Create Data Source」ページで、次のフィールドに値を入力
(またはコピー・アンド・ペースト)します(他のフィールドは空白のままにします)。
ヒント: 今後、データ・ソースを追加作成する場合、Create
Likeオプションを使用すれば、すべてのデータを再入力する必要はありません。
 |
Name: HRDS |
 |
Data
Source Class: com.evermind.sql.DriverManagerDataSource |
 |
JDBC
URL: jdbc:oracle:thin:@localhost:listening
port:sid
注意: localhostは、Oracleデータベース・ソフトウェア
がインストールされ、稼働しているサーバーのホスト名またはIPアドレスに置き換える必要があります。 また、listening
portとsidも実際の値に置き換える必要があります。 |
 |
JDBC
Driver: oracle.jdbc.driver.OracleDriver |
 |
Username: hr |
 |
Password: hr |
 |
Location: jdbc/hrCoreDS |
 |
Transactional
(XA) Location: jdbc/xa/hrXADS |
 |
EJB
Location: jdbc/hrDS(これは、アプリケーションをデプロイするときにEntity
Beanのために指定したデータ・ソースです。) |
 |
Connection
Retry Interval (seconds): 1 |
 |
Cached
Connection Inactivity Timeout (seconds): 30 |
ページの一番下までスクロールし、「Create」をクリックして、データ・ソー
スを作成します。


|
| 8. |
「Confirmation」ページに、データ・ソースが作成されたことが示され
ます。 変更を有効にするために、home OC4Jサーバーの再起動を要求されます。 「Yes」をクリックします。

|
| 9. |
次のページが表示され、OC4J homeインスタンスを再起動しながら更新されます。
OC4Jインスタンスが起動したことを示すメッセージが表示されるまで待ちます。

|
| 10. |
OC4J
homeインスタンスが再起動されたことを示す「Confirmation」ページで、「OK」をクリックします。

|
| 11. |
新しいデータ・ソースHRDSが「Data
Sources」リストに表示されます。

|
ト
ピック・リストに戻る
\<wkdir>\j2eeフォ
ルダからHRアプリケーション・ファイルにアクセスできます。
このHRアプリケーションは、EJBローカル・インタフェース、コンテナ管理の関連性、EJB
QL、サーブレット・フィルタ、JSPタグ・ライブラリなどの最新のJ2EE 1.3機能の使用方法を紹介します。
アプリケーション・ファイル
アプリケーションには次のファイルが含まれます。
|
META-INF/ |
| |
 |
application.xml:
アプリケーション・デプロイメント・ディスクリプタ |
 |
hrejb/ |
| |
 |
META-INF/ |
| |
|
- |
ejb-jar.xml:
EJBデプロイメント・ディスクリプタ |
| |
|
- |
orion-ejb-jar.xml:
EJBデプロイメント・ディスクリプタ |
| |
 |
hr/: HRパッケージ |
| |
|
- |
impl/: Entity
Bean実装 |
| |
|
|
-
DepartmentsBean.java: 部門Entity Bean |
| |
|
|
-
EmployeesBean.java: 従業員Entity Bean |
| |
|
- |
Departments.java:
部門Beanリモート・インタフェース |
| |
|
- |
DepartmentsHome.java:
部門Beanホーム・インタフェース |
| |
|
- |
DepartmentsLocal.java:
部門Beanローカル・インタフェース |
| |
|
- |
DepartmentsLocalHome.java:
部門Beanローカル・ホーム・インタフェース |
| |
|
- |
Employees.java:
従業員Beanリモート・インタフェース |
| |
|
- |
EmployeesHome.java:
従業員Beanホーム・インタフェース |
| |
|
- |
EmployeesLocal.java:
従業員Beanローカル・インタフェース |
| |
|
- |
EmployeesLocalHome.java:
従業員Beanローカル・ホーム・インタフェース |
 |
hrweb/ |
| |
 |
WEB-INF/ |
| |
|
- |
classes/:
サーブレット・クラスおよびフィルタ・クラス |
| |
|
|
- filter/:
フィルタ・パッケージ |
| |
|
|
LogFilter.java:
ログ・フィルタ |
| |
|
|
TimerFilter.java:
タイマー・フィルタ |
| |
|
- |
lib/: タグ・ライブラリ |
| |
|
|
-
ejbtaglib.tar/: EJBタグ・ライブラリ |
| |
|
- |
web.xml:
Webデプロイメント・ディスクリプタ |
| |
 |
index.html:
初期ページ |
| |
 |
departments.jsp:
すべての部門をリスト |
| |
 |
employees.jsp:
すべての従業員または部門別従業員をリスト |
| |
 |
search.jsp:
名前により従業員を検索 |
| |
 |
blaf.css:
すべてのJSPにより使用されるスタイルシート |
| |
 |
logo.gif:
Oracleロゴ |
| |
 |
background.gif:
背景画像 |
 |
common.xml:
ant用の共通設定ファイル |
 |
build.xml:
antにより使用されるビルド・ファイル |
ファイルの説明
| 1. |
HRアプリケーションには、EJB
2.0抽象スキーマとローカル・インタフェースを使用してコンテナ管理される2つの永続Entity
Beanがあります(HRデモ・スキーマの部門表と従業員表に基づく)。この2つのEntity
Beanのソース・ファイルは\<wkdir>\j2ee\hrejb\hrにあります。
コードを調べることで、Beanがどのように実装されているかわかります。 Entity
Beanは、コンテナ管理の関連性とEJB問合せ言語も使用します。
EJBデプロイメント・ディスクリプタ(\<wkdir>\j2ee\hrejb\META-INFにあるejb-jar.xmlと
orion-ejb-jar.xml)を調べ、関連性がどのように定義されているか、ファインダ・メソッドがEJB問合せ言語をどのように使用しているか
を見てください。
|
| 2. |
HRアプリケーションは、Java Server PagesにあるOracleJSP
EJBタグを使用して、Entity Beanにアクセスします。
\<wkdir>\j2ee\hrwebディレクトリにあるdepartments.jspとemployees.jspを調べることによ
り、EJBタグがどのように機能するかを確認できます。
|
| 3. |
アプリケーションには、2つのサーブレット・フィルタも入っています。
LogFilterは要求されたURLを追跡します。TimerFilterはリクエストの実行時間を計ります。この2つのフィルタは連鎖しています。
\<wkdir>\j2ee\hrweb\WEB-INF\classes\filterにあるソース・ファイルと、\<
wkdir>\j2ee\hrweb\WEB-INF\web-xmlディレクトリにあるWebデプロイメント・ディスクリプタを調べることによ
り、フィルタがどのように定義され、ひとつに連鎖されているかを確認できます。
|
| 4. |
アプリケーションはすでに構築されています。
\<wkdir>\j2ee\buildにEARファイルが置かれています(hrapp.ear)。
|
ト
ピック・リストに戻る
これで、アプリケーションをデプロイする準備ができました。
次の手順を実行してください。
| 1. |
「Data Sources」
ページで「OC4J: home」リンクをクリックし、OC4J homeコンポーネントの「Home」ページに戻ります。

|
| 2. |
「Applications」プロパティ・ページ・リンクをクリックし、home
インスタンスのアプリケーションを表示します。 「Deploy EAR file」ボタンをクリックし、Deploy
Applicationウィザードを起動します。

|
| 3. |
Application Server ControlのDeploy
Applicationウィザードは、アプリケーションをデプロイするために必要な手順を案内します。 「Deploy Application」
ページで「Browse...」をクリックし、デプロイするEARファイルとして、\<wkdir>\j2ee\buildディ
レクトリからhrapp.earを選択します。 アプリケーション名としてhrappを入力します。 「Continue」
をクリックします。

|
| 4. |
「 Deploy Application:URL Mapping for Web
Modules」ページで、/hrappがアプリケーションのURLマッピングとして指定されているかチェックします。 「Next」
をクリックします。

|
| 5. |
「Deploy Application: Resource Reference
Mappings」ページで、従業員Entity Beanと部門Entity Beanの「Data Source」フィールド
にjdbc/hrDSと表示されています。 すでに「jdbc/hrDS」データ・ソースは定義されています。 「Next」
をクリックします。

|
| 6. |
Oracle Application Server 10gには、J2EE
アプリケーション・セキュリティ管理に使用できるJava Authentication and Authorization
Service(JAAS)ユーザー・プロバイダが用意されています。 Oracle Application Server 10gで
は、このデフォルト・ユーザー・マネージャ・サービスはJAZNとして知られています。 「Deploy Application: User
Manager」ページで、デフォルト設定「Use JAZN XML User Manager」を受け入れます。 「Next」
をクリックします。

|
| 7. |
「Deploy Application: Review」ページで、デプロイ情
報サマリー、すなわちデプロイするEARファイル、デプロイ先、アプリケーションにマッピングされたURLを確認します。
このアプリケーションにはWebサービス・モジュールは入っていないことに注意してください。また、確認ページの「TIP」に、新しい
URLマッピングをピックアップするためにHTTPサーバーがデプロイ後に再起動されると記されている点にも注意してください。 「Deploy」
をクリックして、アプリケーションをデプロイします。

|
| 8. |
デプロイ中、Application Server Control
Consoleはデプロイ・プロセスを追跡するページを表示します。 「Confirmation」ページが表示されるまで待ってください。
「Confirmation」ページが表示されたら、「OK」をクリックします。


|
| 9. |
アプリケーションがデプロイされた後、Application Server
Controlは、OC4J homeインスタンスの「Applications」プロパティ・ページに戻ります。
hrappが「Deployed Applications」リストに表示されていることを確認してください。 「hrapp」リンクをク
リックして、アプリケーションのページにアクセスします。

|
| 10. |
「Application: hrapp」ページにアプリケーションのコンポーネ
ント・モジュールが表示されます。 EJBモジュールの「hrejb」リンクをクリックします。

|
| 11. |
ここで、「Departments」をクリックすることによりEJB自体を表示で
きます。

|
| 12. |
EJB情報が表示されます。
注意:
アプリケーションがアクセスされていない場合、パフォーマンス測定に表示されるロードはありません。
アプリケーションがアクセスされている場合、ページ上のデータはリフレッシュされるので、Application Server
Controlを使用してアプリケーションのパフォーマンスを監視できます。

|
ト
ピック・リストに戻る
これで、アプリケーションをテストする準備ができました。
Application Server Controlを使用して、HTTP Serverポートを調べます。
デフォルトHTTPサーバー・ポートは7777です。 WebサーバーとしてOracle HTTP
Serverを使用することにより、アプリケーションの稼働を開始します。 次の手順を実行してください。
| 1. |
ブラウザからHRアプリケーションを実行するた
め、次のURLを入力します。
http://<hostname>.<domain>:<HTTP-PORT>/hrapp/.
アプリケーションのメイン初期ページが表示されます。 「Departments」をクリックします。 注意: HTTP
Serverポートはインストール時に自動的に割り当てられ、インストールごとに異なる場合があります。

|
| 2. |
hrappデータ・ソースとして構成されたHRデータベース内のすべての部門の入ったリストが表
示されます。 これはdepartments.jspを呼び出すことに注意してください。Human Resourcesなどの部門を選択します。

|
| 3. |
選択した部門の従業員のリストが表示されます。 「Back」を2回クリックし
て、HRアプリケーション・メイン・メニューに戻ります。

|
| 4. |
「Employees」をクリックします。

|
| 5. |
HRデータベースのすべての従業員のリストが表示されます。 「Back」をク
リックして、HRアプリケーション・メイン・メニューに戻ります。

|
| 6. |
名前で従業員を検索することもできます。 「Search」をクリックします。

|
| 7. |
下の名前としてJohnを入力し、「Search」をクリックしま
す。

|
| 8. |
下の名前がJohnであるすべての従業員の入ったリストが表示されます。

|
ここでApplication Server
Controlを表示するブラウザに戻ることができます。 hrappアプリケーション・ページにナビゲートします。
EJBモジュールの「hrejb」リンクをクリックします。 部門をクリックし、EJBパフォーマンス測定を表示します。
パフォーマンス測定の違いに注意してください。
ト
ピック・リストに戻る
このレッスンでは、
Application Server Controlを使用してアプリケーションのパフォーマンスを監視する方法を学習しました。
また、次の方法も学びました。
|
データ・ソースの作成
|
|
HR J2EEアプリケーションのデプロイ
|
|
HRアプリケーションの実行
|
ト
ピック・リストに戻る
|
Oracle Application Server Containers for
J2EE(OC4J)の詳細は、OTN Webサイトを参照してください。
|
ト
ピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|