• 検索結果がありません。

Oracle Application Server 10g WebSphereからの移行, 10g(9.0.4)

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle Application Server 10g WebSphereからの移行, 10g(9.0.4)"

Copied!
142
0
0

読み込み中.... (全文を見る)

全文

(1)

10g(9.0.4)

部品番号 部品番号部品番号

部品番号 : B14111-01

(2)

原本名 : Oracle Application Server 10g Migrating From WebSphere, 10g (9.0.4) 原本部品番号 : B10426-02

原本著者 : Kai Li

Copyright © 2003, 2004 Oracle Corporation. All rights reserved.

制限付権利の説明 このプログラム(ソフトウェアおよびドキュメントを含む)には、オラクル社およびその関連会社に所 有権のある情報が含まれています。このプログラムの使用または開示は、オラクル社およびその関連会 社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権と工業 所有権に関する法律により保護されています。 独立して作成された他のソフトウェアとの互換性を得るために必要な場合、もしくは法律によって規定 される場合を除き、このプログラムのリバース・エンジニアリング、逆アセンブル、逆コンパイル等は 禁止されています。 このドキュメントの情報は、予告なしに変更される場合があります。オラクル社およびその関連会社は、 このドキュメントに誤りが無いことの保証は致し兼ねます。これらのプログラムのライセンス契約で許 諾されている場合を除き、プログラムを形式、手段(電子的または機械的)、目的に関係なく、複製また は転用することはできません。 このプログラムが米国政府機関、もしくは米国政府機関に代わってこのプログラムをライセンスまたは 使用する者に提供される場合は、次の注意が適用されます。

U.S. GOVERNMENT RIGHTS

Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation, and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065. このプログラムは、核、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションへの 用途を目的としておりません。このプログラムをかかる目的で使用する際、上述のアプリケーションを 安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じ ることは使用者の責任となります。万一かかるプログラムの使用に起因して損害が発生いたしましても、 オラクル社およびその関連会社は一切責任を負いかねます。

Oracle は Oracle Corporation およびその関連会社の登録商標です。その他の名称は、Oracle Corporation または各社が所有する商標または登録商標です。

(3)

はじめに

はじめに

はじめに

はじめに

... ix 対象読者 ... x このマニュアルの構成 ... x 関連ドキュメント ... xi 表記規則 ... xi

1

概要

概要

概要

概要

J2EE の概要の概要の概要の概要 ... 1-2 J2EE アプリケーション・モデルとは ... 1-3 J2EE プラットフォームとは ... 1-3 アプリケーション・サーバーとは アプリケーション・サーバーとはアプリケーション・サーバーとは アプリケーション・サーバーとは ... 1-5 Oracle Application Server の概要の概要の概要の概要 ... 1-5 J2EE アプリケーションの移行上の課題 ... 1-6 J2EE アプリケーション・アーキテクチャアプリケーション・アーキテクチャアプリケーション・アーキテクチャアプリケーション・アーキテクチャ ... 1-6 移行上の問題点 移行上の問題点移行上の問題点 移行上の問題点 ... 1-7 移植性 ... 1-8 ベンダー固有の実装への依存性 ... 1-8 J2EE 仕様からの逸脱 ... 1-8 移行アプローチ 移行アプローチ移行アプローチ 移行アプローチ ... 1-8 移行ツール 移行ツール移行ツール 移行ツール ... 1-9 このガイドの使用方法 このガイドの使用方法このガイドの使用方法 このガイドの使用方法 ... 1-9

(4)

WebSphere Enterprise Edition ... 2-2 Oracle Application Server ... 2-3 アーキテクチャの比較 アーキテクチャの比較アーキテクチャの比較 アーキテクチャの比較 ... 2-4 IBM WebSphere のコンポーネント ... 2-4 IBM HTTP Server ... 2-4 Web サーバー・プラグイン ... 2-4 管理サーバー ... 2-4 管理リポジトリ ... 2-5 アプリケーション・サーバー ... 2-5 Oracle Application Server のコンポーネントと概念 ... 2-6 OracleAS インスタンス ... 2-6 Oracle HTTP Server ... 2-6 OC4J インスタンス ... 2-7 Oracle Process Manager and Notification Server(OPMN)サーバー ... 2-8 Distributed Configuration Management(DCM) ... 2-8 Oracle Application Server Web Cache ... 2-9 Oracle Enterprise Manager 10g Application Server Control コンソール ... 2-9 Oracle Application Server Infrastructure ... 2-10 Oracle Application Server Metadata Repository ... 2-11 Oracle Identity Management ... 2-12 高可用性とロード・バランシング 高可用性とロード・バランシング高可用性とロード・バランシング 高可用性とロード・バランシング ... 2-14 WebSphere による高可用性とロード・バランシングのサポート ... 2-14 WebSphere におけるクラスタリング ... 2-14 WebSphere におけるロード・バランシング ... 2-15 Oracle Application Server による高可用性とロード・バランシングのサポート ... 2-15 Oracle Application Server インスタンス ... 2-16 Oracle Application Server Cluster(中間層) ... 2-16 OC4J アイランド ... 2-17 EJB クラスタリングを使用したステートフル Session EJB の高可用性 ... 2-19 JNDI ネームスペースのレプリケーション ... 2-19 Java Object Cache ... 2-20 Oracle Application Server Web Cache Cluster ... 2-20 OracleAS Infrastructure の高可用性ソリューション ... 2-21 Oracle Application Server Cold Failover Clusters ... 2-21 Oracle Application Server Active Clusters ... 2-22 J2EE サポートの比較サポートの比較サポートの比較サポートの比較 ... 2-22

(5)

Java の開発ツールとデプロイメント・ツールの開発ツールとデプロイメント・ツールの開発ツールとデプロイメント・ツールの開発ツールとデプロイメント・ツール ... 2-24 WebSphere の開発ツールとデプロイメント・ツール ... 2-24 WebSphere の開発ツール ... 2-24 WebSphere Studio ... 2-24 WebSphere Administrative Console ... 2-24 Oracle Application Server の開発ツールとデプロイメント・ツール ... 2-25 開発ツール ... 2-25 アセンブリ・ツール ... 2-26 管理ツール ... 2-26

3

サーブレットの移行

サーブレットの移行

サーブレットの移行

サーブレットの移行

Java サーブレットサーブレットサーブレットサーブレット API の概要の概要の概要の概要 ... 3-2 サーブレットのライフ・サイクル ... 3-4 init() メソッド ... 3-4 service() メソッド ... 3-5 destroy() メソッド ... 3-5 セッション・トラッキング ... 3-6 Cookie ... 3-6 URL リライティング ... 3-7 HTML の非表示のフォーム・フィールド ... 3-7 HttpSession オブジェクト ... 3-7 J2EE Web アプリケーション ... 3-8 Web アプリケーション・アーカイブ(WAR) ... 3-8 WEB-INF ディレクトリについて ... 3-9 サーブレット 2.0、2.1 および 2.2 の相違点 ... 3-10 Java サーブレット API 2.1 の特徴 ... 3-10 Java サーブレット API 2.2 での新機能 ... 3-11 サーブレット API 2.3 ... 3-11 フィルタとサーブレット・チェーン ... 3-12 サーブレット・チェーン ... 3-12 WebSphere でのサーブレット API のサポート ... 3-12 WebSphere Advanced Edition 3.5.3 互換モード ... 3-13 サーブレット 2.2 完全準拠モード ... 3-13

(6)

.servlet のサンプル・ファイル: SnoopServlet.servlet ... 3-17 クラスタ対応アプリケーションの OC4J への移行 ... 3-18 OC4J アイランドの構成(OC4J スタンドアロン・モードの場合) ... 3-19 OC4J アイランドの仕組み(OC4J スタンドアロン・モード) ... 3-22

4

JSP の移行

の移行

の移行

の移行

JSP ページの概要ページの概要ページの概要 ... 4-2ページの概要 JSP ページの構成部分 ... 4-2 ディレクティブ ... 4-2 page ... 4-2 taglib ... 4-3 include ... 4-3 JSP コンテナとは ... 4-3 JSP ページのライフ・サイクル ... 4-4 WebSphere でのでのでの JSP API のサポートでの のサポートのサポート ... 4-4のサポート WebSphere 固有の機能 ... 4-5 バッチ JSP コンパイラ ... 4-5 JSP 0.91 での HTML テンプレート拡張機能 ... 4-5 JSP 1.0 に対する WebSphere の拡張機能 ... 4-6 OC4J JSP の機能 ... 4-7 Edge Side Includes for Java(JESI)タグ ... 4-8 Web Object Cache タグ ... 4-8 Oracle JDeveloper と OC4J JSP コンテナ ... 4-8 WebSphere JSP 0.91 からの移行からの移行からの移行 ... 4-9からの移行 <REPEATGROUP> タグ ... 4-9 WebSphere の拡張機能のの拡張機能のの拡張機能の OC4J への移行の拡張機能の への移行への移行 ... 4-10への移行 <REPEAT> タグまたは <tsx:repeat> タグ ... 4-10

5

Enterprise JavaBeans の移行

の移行

の移行

の移行

Enterprise JavaBeans の概要の概要の概要の概要 ... 5-2 EJB 移行の考慮事項移行の考慮事項移行の考慮事項 ... 5-2移行の考慮事項 EJB の機能とコンポーネントの機能とコンポーネントの機能とコンポーネント ... 5-3の機能とコンポーネント EJB サーバー ... 5-4 EJB コンテナ ... 5-4

(7)

アプリケーション・アセンブラ ... 5-5 デプロイヤ ... 5-5 EJB サーバー・プロバイダ ... 5-5 EJB コンテナ・プロバイダ ... 5-5 システム管理者 ... 5-5 Session Bean ... 5-6 ステートフル Session Bean ... 5-6 ステートフル Session Bean のライフ・サイクル ... 5-6 準備状態 ... 5-7 トランザクション・メソッドの起動 ... 5-7 非トランザクション・メソッドの起動 ... 5-7 プール状態 ... 5-8 削除 ... 5-8 ステートレス Session Bean ... 5-8 ステートレス Session Bean のライフ・サイクル ... 5-9 Entity Bean ... 5-9 コンテナ管理の永続性(CMP)を持つ Entity Bean ... 5-9 Bean 管理の永続性(BMP)を持つ Entity Bean ... 5-10 Entity Bean のライフ・サイクル ... 5-10 非存在状態 ... 5-10 プール状態 ... 5-10 準備状態 ... 5-10 オブジェクト・リレーショナル(O-R)マッピングと永続性 ... 5-11 EJB トランザクションと並行性 ... 5-12 Java Transaction API(JTA) ... 5-13 トランザクション境界 ... 5-14 クライアント管理のトランザクション ... 5-14 コンテナ管理のトランザクション(CMT) ... 5-14 Bean 管理のトランザクション(BMT) ... 5-15 トランザクションの独立性と並行性 ... 5-15 EJB キャッシュ ... 5-17 WebSphere 3.5.x でのでのでのでの EJB API のサポートのサポートのサポート ... 5-17のサポート 読取り専用メソッド ... 5-18 EJB のファインダ・ヘルパー・インタフェース ... 5-18

(8)

分散された例外 ... 5-20 Access Bean ... 5-20 Enterprise Bean 間の関連 ... 5-21 EJB アプリケーションのアプリケーションのアプリケーションの WebSphere からアプリケーションの からから OC4J への移行から への移行への移行への移行 ... 5-21 EJB のコード変更 ... 5-22 クライアント・レベルのコード変更 ... 5-25 トランザクション・セマンティクスの変更 ... 5-27 オブジェクト・リレーショナル(O-R)マッピング ... 5-27 EJB のデプロイ ... 5-28 OC4J の EJB コンテナの設定 ... 5-29

6

JDBC アプリケーションの移行

アプリケーションの移行

アプリケーションの移行

アプリケーションの移行

JDBC API ... 6-2 データベース・ドライバ データベース・ドライバデータベース・ドライバ データベース・ドライバ ... 6-3 DriverManager クラス ... 6-3 JDBC ドライバの登録 ... 6-3 DataSource クラス ... 6-5 データソースの構成 ... 6-5 DB2 データベースでの OC4J の構成 ... 6-7 データソース・オブジェクトの取得 ... 6-8 接続プーリング 接続プーリング接続プーリング 接続プーリング ... 6-9 Oracle Application Server への WebSphere の接続プーリングの移行 ... 6-10 WebSphere の JDBC 2.0 の接続プーリングからの移行 ... 6-10 IBM の拡張機能の拡張機能の拡張機能 ... 6-11の拡張機能 データ・アクセス Bean ... 6-11 Connection Pool Manager ... 6-11

A

WebSphere 4.0 からの移行

からの移行

からの移行

からの移行

WebSphere Advanced Edition 3.5.3 とと 4.0 の機能上の相違点と の機能上の相違点の機能上の相違点 ... A-2の機能上の相違点 WebSphere Advanced Edition 4.0 とと Oracle Application Server のと ののの J2EE 仕様における相違点仕様における相違点仕様における相違点 ... A-3仕様における相違点 サーブレットの

サーブレットのサーブレットの

サーブレットの WebSphere 4.0 からからからから Oracle Application Server への移行への移行への移行への移行 ... A-3 WebSphere 固有のサーブレットの拡張機能 ... A-4 WebSphere 固有のデプロイメント・ディスクリプタ ... A-4

(9)

EJB のののの WebSphere 4.0 からからから Oracle Application Server への移行から への移行への移行 ... A-5への移行 その他の考慮事項 その他の考慮事項その他の考慮事項 その他の考慮事項 ... A-5 ダイナミック・フラグメント・キャッシュ ... A-5 データ・アクセスとソース ... A-5

索引

索引

索引

索引

(10)
(11)

「はじめに」の項目は次のとおりです。

■ 対象読者

■ このマニュアルの構成 ■ 関連ドキュメント ■ 表記規則

(12)

Application Server を配置および管理する、管理者、開発者およびその他のユーザーを対象 としています。

このマニュアルの構成

このマニュアルの構成

このマニュアルの構成

このマニュアルの構成

このマニュアルは、次の章で構成されています。 第 第第 第 1 章「概要」章「概要」章「概要」章「概要」 この章では、J2EE プラットフォーム、アプリケーション・サーバーおよび OracleAS の概要 について説明します。また、WebSphere 3.5.3 から OracleAS への移行で発生する作業につい ても説明します。 第 第第

第 2 章「章「章「章「Oracle Application Server とととと WebSphere の機能の比較」の機能の比較」の機能の比較」の機能の比較」

この章では、Sun 社の J2EE プラットフォームおよびコンポーネントの仕様について、オラ クル社の実装と IBM 社の実装を比較します。

第 第第

第 3 章「サーブレットの移行」章「サーブレットの移行」章「サーブレットの移行」章「サーブレットの移行」

この章では、Sun 社の Java サーブレット・テクノロジおよび OracleAS での実装方法の概要 について説明します。また、WebSphere 3.5.3 から OracleAS にサーブレットを移行する際の 問題点についても説明します。

第 第第

第 4 章「章「章「章「JSP の移行」の移行」の移行」の移行」

この章では、Sun 社の JavaServer Pages(JSP)テクノロジおよび OracleAS での実装方法の 概要について説明します。また、WebSphere 3.5.3 から OracleAS に JSP ページを移行する際 の問題点についても説明します。

第 第第

第 5 章「章「章「章「Enterprise JavaBeans の移行」の移行」の移行」の移行」

この章では、Sun 社の Enterprise JavaBeans(EJB)アーキテクチャおよび OracleAS での実 装方法の概要について説明します。また、WebSphere 3.5.3 から OracleAS に EJB コンポーネ ントを移行する際の問題点についても説明します。 第 第第 第 6 章「章「章「章「JDBC アプリケーションの移行」アプリケーションの移行」アプリケーションの移行」アプリケーションの移行」 この章では、Sun 社の JDBC テクノロジおよび OracleAS での実装方法の概要について説明 します。また、WebSphere 3.5.3 から OracleAS にデータベース・アクセス・コードを移行す る際の問題点についても説明します。

(13)

関連ドキュメント

関連ドキュメント

関連ドキュメント

関連ドキュメント

リリース・ノート、インストール関連ドキュメント、ホワイト・ペーパーまたはその他の関 連ドキュメントは、OTN-J(Oracle Technology Network Japan)から、無償でダウンロード できます。OTN-J を使用するには、オンラインでの登録が必要です。登録は、次の Web サ イトから無償で行えます。

http://otn.oracle.co.jp/membership/

すでに OTN-J のユーザー名およびパスワードを取得している場合は、次の URL で OTN-J Web サイトのドキュメントのセクションに直接接続できます。 http://otn.oracle.co.jp/document/ 詳細は、次の URL を参照してください。 ■ http://ibm.com/(WebSphere の詳細) ■ http://java.sun.com/(J2EE の詳細)

表記規則

表記規則

表記規則

表記規則

この項では、このマニュアルの本文およびコード例で使用される表記規則について説明しま す。この項の内容は次のとおりです。 ■ 本文の表記規則 ■ コード例の表記規則 ■ Microsoft Windows オペレーティング・システム環境での表記規則

(14)

規則 規則規則 規則 意味意味意味意味 例例例例 太字 太字太字 太字 太字は、本文中で定義されている用語およ び用語集に記載されている用語を示しま す。 この句を指定すると、索引構成表索引構成表索引構成表索引構成表が作成されます。 固定幅フォントの 大文字 固定幅フォントの大文字は、システム指定 の要素を示します。このような要素には、 パラメータ、権限、データ型、Recovery Manager キーワード、SQL キーワード、 SQL*Plus またはユーティリティ・コマン ド、パッケージおよびメソッドがありま す。また、システム指定の列名、データ ベース・オブジェクト、データベース構 造、ユーザー名およびロールも含まれま す。 NUMBER 列に対してのみ、この句を指定できます。 BACKUP コマンドを使用して、データベースの バックアップを作成できます。 USER_TABLES データ・ディクショナリ・ビュー 内の TABLE_NAME 列を問い合せます。 DBMS_STATS.GENERATE_STATS プロシージャを 使用します。 固定幅フォントの 小文字 固定幅フォントの小文字は、実行可能ファ イル、ファイル名、ディレクトリ名および ユーザーが指定する要素のサンプルを示し ます。このような要素には、コンピュータ 名およびデータベース名、ネット・サービ ス名および接続識別子があります。また、 ユーザーが指定するデータベース・オブ ジェクトとデータベース構造、列名、パッ ケージとクラス、ユーザー名とロール、プ ログラム・ユニットおよびパラメータ値も 含まれます。 sqlplus と入力して、SQL*Plus をオープンしま す。 パスワードは、orapwd ファイルで指定します。 /disk1/oracle/dbs ディレクトリ内のデータ・ ファイルおよび制御ファイルのバックアップを作 成します。 hr.departments 表には、department_id、 department_name および location_id 列があ ります。 QUERY_REWRITE_ENABLED 初期化パラメータを true に設定します。 oe ユーザーとして接続します。 注意 注意注意 注意 : プログラム要素には、大文字と小文 字を組み合せて使用するものもあります。 これらの要素は、記載されているとおりに 入力してください。 JRepUtil クラスが次のメソッドを実装します。 固定幅フォントの 小文字のイタリック 固定幅フォントの小文字のイタリックは、プレースホルダまたは変数を示します。 parallel_clause を指定できます。 Uold_release.SQL を実行します。ここで、 old_release とはアップグレード前にインス トールしたリリースを示します。

(15)

SELECT username FROM dba_users WHERE username = 'MIGRATE'; 次の表に、コード例で使用される表記規則とその使用例を示します。 規則 規則規則 規則 意味意味意味意味 例例例例 [ ] 大カッコは、カッコ内の項目を任意に選択 することを表します。大カッコは、入力し ないでください。

DECIMAL (digits [ , precision ])

{ } 中カッコは、カッコ内の項目のうち、1 つが 必須であることを表します。中カッコは、 入力しないでください。 {ENABLE | DISABLE} | 縦線は、大カッコまたは中カッコ内の複数 の選択項目の区切りに使用します。項目の うちの 1 つを入力します。縦線は、入力し ないでください。 {ENABLE | DISABLE} [COMPRESS | NOCOMPRESS] ... 水平の省略記号は、次のいずれかを示しま す。 例に直接関連しないコードの一部が省略さ れている。 ■ コードの一部を繰り返すことができる。

CREATE TABLE ... AS subquery;

SELECT col1, col2, ... , coln FROM employees; . . . ■ 垂直の省略記号は、例に直接関連しな い複数の行が省略されていることを示 します。

SQL> SELECT NAME FROM V$DATAFILE;

NAME ---/fsl/dbs/tbs_01.dbf /fs1/dbs/tbs_02.dbf . . . /fsl/dbs/tbs_09.dbf 9 rows selected. その他の記号 大カッコ、中カッコ、縦線および省略記号 以外の記号は、記載されているとおりに入 acctbal NUMBER(11,2);

(16)

Microsoft Windows オペレーティング・システム環境での表記規則

オペレーティング・システム環境での表記規則

オペレーティング・システム環境での表記規則

オペレーティング・システム環境での表記規則

次の表に、Microsoft Windows オペレーティング・システム環境での表記規則とその使用例 を示します。 DB_NAME = database_name 大文字 大文字は、システム指定の要素を示します。 これらの要素は、ユーザー定義の要素と区 別するために大文字で示されます。大カッ コ内にないかぎり、表示されているとおり の順序および綴りで入力します。ただし、 大 / 小文字が区別されないため、小文字で も入力できます。

SELECT last_name, employee_id FROM employees;

SELECT * FROM USER_TABLES;

DROP TABLE hr.employees;

小文字 小文字は、ユーザー指定のプログラム要素 を示します。たとえば、表名、列名または ファイル名などです。

SELECT last_name, employee_id FROM employees; sqlplus hr/hr 注意 注意注意 注意 : プログラム要素には、大文字と小文字 を組み合せて使用するものもあります。こ れらの要素は、記載されているとおりに入 力してください。

CREATE USER mjones IDENTIFIED BY ty3MU9; 規則 規則規則 規則 意味意味意味意味 例例例例 ファイル名および ディレクトリ名 ファイル名およびディレクトリ名は大 / 小文字が区別されません。特殊文字の左山 カッコ(<)、右山カッコ(>)、コロン(:)、 二重引用符(")、スラッシュ(/)、縦線 (|)およびハイフン(-)は使用できませ ん。円記号(¥)は、引用符で囲まれている 場合でも、要素のセパレータとして処理さ れます。Windows では、ファイル名が ¥¥ で 始まる場合、汎用命名規則が使用されてい ると解釈されます。 c:¥winnt"¥"system32 は C:¥WINNT¥SYSTEM32 と同じです。 Windows コマン ド・プロンプト Windows コマンド・プロンプトには、カレ ント・ディレクトリが表示されます。この マニュアルでは、コマンド・プロンプトと 呼びます。コマンド・プロンプトのエス ケープ文字はカレット(^)です。 C:¥oracle¥oradata>

(17)

符(")のエスケープ文字として円記号(¥) が必要な場合があります。丸カッコおよび 一重引用符(')にはエスケープ文字は必要 ありません。エスケープ文字および特殊文 字の詳細は、Windows オペレーティング・ システムのドキュメントを参照してくださ い。 sal<1600¥" C:¥>imp SYSTEM/password

FROMUSER=scott TABLES=(emp, dept)

HOME_NAME Oracle ホームの名前を表します。ホーム名 には、英数字で 16 文字まで使用できます。 ホーム名に使用可能な特殊文字は、アン ダースコアのみです。 C:¥> net start OracleHOME_NAMETNSListener ORACLE_HOME および ORACLE_BASE Oracle8i より前のリリースでは、Oracle コ ンポーネントをインストールすると、すべ てのサブディレクトリが最上位の ORACLE_ HOME の直下に置かれました。ORACLE_ HOME ディレクトリの名前は、デフォルトで は次のいずれかです。 C:¥orant(Windows NT の場合) C:¥orawin98(Windows 98 の場合) このリリースは、Optimal Flexible Architecture(OFA)のガイドラインに準拠 しています。ORACLE_HOME ディレクトリ 下に配置されないサブディレクトリもあり ます。最上位のディレクトリは ORACLE_ BASE と呼ばれ、デフォルトでは C:¥oracle です。他の Oracle ソフトウェ アがインストールされていないコンピュー タに Oracle9i リリース 1(9.0.1)をインス トールした場合、Oracle ホーム・ディレク トリは、デフォルトで C:¥oracle¥ora90 に設定されます。Oracle ホーム・ディレク トリは、ORACLE_BASE の直下に配置され ます。 このマニュアルに示すディレクトリ・パス の例は、すべて OFA の表記規則に準拠して います。 %ORACLE_HOME%¥rdbms¥admin ディレクトリへ 移動します。

(18)
(19)

1

概要

概要

概要

概要

この章では、J2EE プラットフォーム、アプリケーション・サーバーおよび Oracle Application Server の概要について説明します。また、WebSphere Advanced Edition 3.5.3 から Oracle Application Server 10g(9.0.4)への移行で発生する作業についても説明します。 この章は、次の項で構成されています。

■ J2EE の概要

■ アプリケーション・サーバーとは ■ Oracle Application Server の概要 ■ J2EE アプリケーション・アーキテクチャ ■ 移行上の問題点

■ 移行アプローチ ■ このガイドの使用方法

(20)

J2EE の概要

の概要

の概要

の概要

アプリケーション・サーバーの市場は急速に進歩しています。特に、この数年間で最も大き な進展は、Sun 社の Java 2 Platform, Enterprise Edition(J2EE)仕様が登場したことであり、 これは複数ベンダー間での標準化を実現するものです。 J2EE プラットフォームおよびコンポーネントの仕様により、複数階層で Web ベースのエン タープライズ・アプリケーションを開発およびデプロイする標準プラットフォームなどが定 義されます。 J2EE は、複数階層のコンピューティング・モデルに移行する際に企業が直面する問題の解決 策となります。これにより、信頼性、スケーラビリティ、セキュリティ、アプリケーション のデプロイ、トランザクション処理、Web インタフェース設計、迅速なソフトウェア開発な どの問題が解決できます。これは Java 2 Platform, Standard Edition(J2SE)に基づいて構築 されたもので、複数階層のコンピューティングに、Sun 社の「Write Once, Run Anywhere」 というパラダイムを実現します。 J2EE は、 表 1-1で説明するコンポーネントで構成されています。 表 表表 表 1-1 J2EE 固有のアーキテクチャ・コンポーネント固有のアーキテクチャ・コンポーネント固有のアーキテクチャ・コンポーネント固有のアーキテクチャ・コンポーネント コンポーネント コンポーネントコンポーネント コンポーネント 説明説明説明説明 J2EE アプリケーション・モデル 複数階層の Thin クライアント・サービスを開発する ためのアプリケーション・モデル J2EE プラットフォーム J2EE アプリケーションをホスティングするためのプ ラットフォーム J2EE 互換性テスト・スイート J2EE プラットフォームおよびコンポーネントの仕様 で定められた要件を、J2EE プラットフォーム製品が 満たしているかどうかを検証するための互換性テス ト・スイート J2EE リファレンス実装 J2EE プラットフォームのリファレンス実装

(21)

J2EE アプリケーション・モデルとは

アプリケーション・モデルとは

アプリケーション・モデルとは

アプリケーション・モデルとは

J2EE アプリケーションとは、複数階層のアプリケーション・モデルです。アプリケーショ ン・コンポーネントは、複数階層でコンテナによって管理されます。コンテナとは標準的な ランタイム環境のことであり、ライフ・サイクル管理、デプロイ、セキュリティ・サービス などのサービスを、アプリケーション・コンポーネントに提供するものです。このコンテ ナ・ベースのモデルにより、システム・インフラストラクチャからビジネス・ロジックが分 離されます。

J2EE プラットフォームとは

プラットフォームとは

プラットフォームとは

プラットフォームとは

J2EE プラットフォームはランタイム環境と標準サービス・セットで構成されており、この サービス・セットは、複数階層で Web ベースのエンタープライズ・アプリケーションの開 発に必要な機能を実現するものです。 J2EE プラットフォームは、表 1-2 で説明するコンポーネントで構成されています。 表 表表 表 1-2 J2EE プラットフォームのコンポーネントプラットフォームのコンポーネントプラットフォームのコンポーネントプラットフォームのコンポーネント コンポーネント コンポーネントコンポーネント コンポーネント 説明説明説明説明 J2EE ランタイム・アプリケーションのランタイム・アプリケーションのランタイム・アプリケーションのランタイム・アプリケーションの コンポーネント コンポーネントコンポーネント コンポーネント アプリケーション・クライアント デスクトップ・コンピュータで実行する Java プログラムで、通常は GUI に使用される アプレット 通常は Web ブラウザで実行する Java プログラ ムのコンポーネント サーブレット Web サーバーで実行する Java プログラムで、 動的コンテンツの生成に使用される JSP Web ブラウザなどのクライアントに、動的コ ンテンツを返すのに使用するテクノロジ Enterprise JavaBeans(EJB) コンポーネント・ベースで分散型のコンピュー ティング用のアプリケーション・アーキテク チャ コンテナ ライフ・サイクル管理、デプロイ、セキュリ ティ・サービスなどのサービスを、アプリケー ション・コンポーネントに提供するエンティ ティ リソース・マネージャ・ドライバ 外部データソースに対するネットワーク接続を 可能にするシステム・レベルのコンポーネント データベース ビジネス・データのストレージに使用される関

(22)

J2EE の標準サービスの標準サービスの標準サービスの標準サービス HTTP Web サーバーとブラウザ間でメッセージを送 受信する際に、インターネットが使用する標準 プロトコル HTTPS Web サーバーとブラウザ間でメッセージをセ キュアに送受信する際に、インターネットが使 用するプロトコル

Java Transaction API(JTA) アプリケーションとアプリケーション・サー バーが、トランザクションにアクセスできるよ うにする API

RMI-IIOP RMI: Java オブジェクト間でのリモート通信を 可能にするプロトコル

IIOP: ブラウザとサーバーが、テキスト以外の ものを交換することを可能にするプロトコル RMI-IIOP は、RMI のうち、CORBA IIOP プロ トコルを使用するバージョン JavaIDL インタフェースを指定するための標準言語で、 主に CORBA オブジェクト・インタフェース定 義に使用される JDBC データベースと J2EE プラットフォームを接続 する API

Java Message Service(JMS) エンタープライズ・メッセージング・システム の使用を可能にする API

Java Naming and Directory Interface(JNDI) ディレクトリ・サービスとネーミング・サービ スを提供する API

JavaMail 電子メールの送受信を可能にする API

JavaBeans Activation Framework(JAF) JavaMail API で必要とされる API 表 表表 表 1-2 J2EE プラットフォームのコンポーネント(続き)プラットフォームのコンポーネント(続き)プラットフォームのコンポーネント(続き)プラットフォームのコンポーネント(続き) コンポーネント コンポーネントコンポーネント コンポーネント 説明説明説明説明

(23)

アプリケーション・サーバーとは

アプリケーション・サーバーとは

アプリケーション・サーバーとは

アプリケーション・サーバーとは

アプリケーション・サーバーとは、Web ベースのクライアント・プログラム、バックエンド のデータベース、レガシー・アプリケーションの間で実行するソフトウェアです。これによ り、ビジネス・ロジックからシステムの複雑さを切り離しやすくなるため、開発者はビジネ ス上の問題解決に専念できます。アプリケーション・サーバーでは、系統立った効率的な方 法でクライアント・プログラムが機能とリソースを共有できるため、プログラムのサイズと 複雑さを軽減できます。 アプリケーション・サーバーには、利便性、柔軟性、スケーラビリティ、保守性、相互運用 性の面で利点があります。

Oracle Application Server の概要

の概要

の概要

の概要

Oracle Application Server は、包括的で統合性の高いアプリケーション・サーバーであり、 あらゆる E-Business を正常に実行するために必要なインフラストラクチャと機能が、すべて 用意されています。開発チームはどこも似たような課題を抱えています。すなわち、経営上 の調整や戦略的な意思決定にビジネス・インテリジェンスを提供する一方で、Web サイト や、あらゆるネットワークおよびあらゆるデバイスで高速実行できるアプリケーションを、 迅速に配布することが必要です。Oracle Application Server をチームが使用すると、 E-Business をめぐるこうした課題をすべて解決できます。

アプリケーション・サーバー市場では、Oracle Application Server に対する関心が高まり、 複数階層で Web ベースのエンタープライズ・アプリケーションのデプロイに、このサー バーを採用する組織が増えています。

Web サイトとアプリケーションの開発およびデプロイを行う統合インフラストラクチャを実 現できるのは、Oracle Application Server のみです。これによって、エンタープライズ Java アプリケーション開発用の完全な J2EE プラットフォームが実現します。開発者がこれを使 用すると、Java、Perl、PL/SQL、XML、Forms など、あらゆる言語で Web アプリケーショ ンを開発できます。また、Java、XML、SQL を統合した単一プラットフォームを介すること により、開発とデプロイにかかるコストが削減されます。

Oracle Application Server における J2EE サーバー実装は、Oracle Application Server Containers for J2EE(OC4J)と呼ばれます。OC4J は J2EE 1.3 に準拠しており、製品ととも にインストールされる JDK の標準バージョン 1.4 で実行されます(JDK 1.3 がサポートされ

ています)。これは非常に軽量で、パフォーマンスとスケーラビリティが高く、デプロイと

管理が簡単にできます。OC4J はスタンドアロン・モードでデプロイでき、開発環境ではこ れが理想的です。また、Oracle Enterprise Manager 10g Application Server Control コンソー ル(Application Server Control コンソール)とともにデプロイすると、監視機能や管理機能 を全社的に実現できます。

(24)

J2EE アプリケーションの移行上の課題

アプリケーションの移行上の課題

アプリケーションの移行上の課題

アプリケーションの移行上の課題

J2EE 規格への準拠度合いがまちまちであるため、アプリケーション・サーバー間でのアプリ ケーション移行がやっかいな作業になる可能性があります。アプリケーション・サーバー間 で J2EE アプリケーションを移行する際の課題には、次のようなものがあります。 ■ 理論上は、J2EE 準拠のアプリケーション・サーバーであれば、どこにでも J2EE アプリ ケーションをデプロイできることになっていますが、実際にはデプロイできない場合も あります。 ■ 所定の J2EE アプリケーションの実装の詳細について、熟知していないことがあります。 ■ 「J2EE 準拠」という言葉の意味があいまいです(通常は、アプリケーション・サーバー に J2EE 準拠機能があるという意味であり、コード・レベルで J2EE 仕様と互換性がある という意味ではありません)。 ■ J2EE 規格に対してベンダーが用意した拡張機能のうち、使用中のものの数がデプロイ方 法によって異なり、アプリケーション・サーバー間での Java コードの移植性が低下し ます(たとえば、サーブレット・エンジン、EJB コンテナ、JDBC インタフェースおよ び JNDI インタフェースに、WebSphere 固有のライブラリが関連付けられています)。 ■ アプリケーション・サーバー間で、クラスタリング、ロード・バランシングおよびフェ イルオーバーの実装に違いがあります。この違いはあちこちに記述されているため、移 行プロセスにとって、いっそう大きな課題となっています。 このような課題により、移行作業は予測できないものとなり、信頼性の高いプランニングや スケジューリングが難しくなります。このドキュメントでは、WebSphere から Oracle Application Server に、アプリケーションを移行する際の課題を扱い、移行へのアプローチ に、J2EE バージョン 1.3 仕様に基づいた解決策を用意します。

J2EE アプリケーション・アーキテクチャ

アプリケーション・アーキテクチャ

アプリケーション・アーキテクチャ

アプリケーション・アーキテクチャ

J2EE プラットフォームによって、複数階層で分散型のアプリケーション・モデルが実現しま す。J2EE コンポーネント・ベースの開発モデルで中心となるのが、コンテナという概念で す。コンテナとは、標準化されたランタイム環境で、コンポーネントに特定のサービスを提 供するものです。したがって、どの組織でも、特定の用途に開発された Enterprise JavaBeans(EJB)には、どのベンダーのどの J2EE プラットフォームでも使用できるトラン ザクションや EJB ライフ・サイクルなど、汎用的なサービスが考えられます。 コンテナによって、企業情報システムへの標準アクセスも実現します。たとえば、JDBC API を介した RDBMS アクセスなどが実現します。またコンテナにより、組立て時やデプロ イ時のアプリケーションの動作を選択するメカニズムも用意されます。 図 1-1に示すように、J2EE アプリケーション・アーキテクチャは、複数階層のアプリケー ション・モデルです。中間層では、コンポーネントはコンテナによって管理されます。たと えば、サーブレットの動作は J2EE Web コンテナによって起動し、EJB のライフ・サイクル とトランザクションは EJB コンテナによって管理されます。このコンテナ・ベースのモデル により、システム・インフラストラクチャからビジネス・ロジックが分離されます。

(25)

図 図図 図 1-1 J2EE アーキテクチャアーキテクチャアーキテクチャアーキテクチャ

移行上の問題点

移行上の問題点

移行上の問題点

移行上の問題点

概略を前述した問題点が内在しているため、移行作業量を計る前に、移行対象のアプリケー ションを次の観点で調べると役に立ちます。 ■ 移植性 ■ ベンダー固有の実装への依存性 ■ J2EE 仕様からの逸脱

(26)

移植性

移植性

移植性

移植性

コードには、J2EE 仕様に対するベンダー固有の拡張機能への参照が埋め込まれているため、 移植できない場合があります。このような場合、J2EE 準拠のアプリケーション・サーバー間 でアプリケーションを移行して実行したとき、ランタイム例外(「class not found」など)が 発生する場合があります。さらに、J2EE アプリケーション・サーバーには、推奨されない API をまだサポートしているものと、J2EE 仕様に厳格に準拠しているものがあります。 WebSphere には、サーブレット、JSP、EJB、JNDI および JDBC に対する拡張機能がありま す。このような場合、コード変更の評価とプランニングは、移行作業の中でも重要な役割を 果たすことがあります。

ベンダー固有の実装への依存性

ベンダー固有の実装への依存性

ベンダー固有の実装への依存性

ベンダー固有の実装への依存性

WebSphere 固有のサービスが使用中の場合は、そうしたコンポーネントの移行は困難または 実現不可能となります。そうしたコンポーネントを移行対象として洗い出すのでなく、再設 計と再実装が必要になると考えられます。J2EE 仕様の再設計作業全体は、このガイドでは 扱っていません。たとえば、Component Broker(IBM 社の ORB)サービス、CICS または Encina によるトランザクション・モニター、MQSeries ライブラリ、DB2 ライブラリなどを 使用するアプリケーションは、このガイドで定義している移行対象ではありません。

J2EE 仕様からの逸脱

仕様からの逸脱

仕様からの逸脱

仕様からの逸脱

アプリケーション・サーバーのベンダーが違えば、J2EE 仕様のサポート・レベルも異なり、 動作にもばらつきが生じます。たとえば、WebSphere Advanced Edition 3.5.3 では 1.3 より 前の J2EE 仕様をサポートしており、Oracle Application Server では J2EE 1.3 を全面的にサ ポートしています。このため、EJB、JNDI およびセキュリティの移行に問題が生じていま す。このガイドでは、そのような問題点を扱い、コードを大きく変更せずに Oracle Application Server に移行する方法について説明します。

移行アプローチ

移行アプローチ

移行アプローチ

移行アプローチ

このガイド作成にあたっては、WebSphere Advanced Edition 3.5.3 から Oracle Application Server 10g(9.0.4)に、コンポーネントやサンプル・アプリケーションを移行するうえで、 弊社が経験した内容を文書化することに努めました。WebSphere Advanced Edition 4.0 から Oracle Application Server 10g(9.0.4)への移行作業について、付録 A「WebSphere 4.0 から

の移行」にガイドラインを示します。

この移行の演習課題として、WebSphere に同梱されているサンプルをいくつか選択しまし た。このサンプルを WebSphere でテストしてから Oracle Application Server に移行しまし た。この移行作業中に、製品のドキュメントには記載されていない特定の問題点が見つか り、それを記録しました。「J2EE アプリケーションの移行上の課題」で記述しているように、 このような問題点が存在する理由は、WebSphere Advanced Edition 3.5.3 が J2EE 1.3 仕様を サポートしていないことと、WebSphere 固有の API 拡張機能が使用されていることです。

(27)

移行ツール

移行ツール

移行ツール

移行ツール

Oracle JDeveloper Application Migration Assistant(AMA)は、Oracle プラットフォームに アプリケーションを移行するプロセスを簡略化するために、オラクル社が新たに開発した ツールです。このツールは、コードのナビゲーションと進捗状況のレポートを実行すること によって、WebSphere から Oracle Application Server への移行作業を支援します。

この AMA ツールは、Oracle JDeveloper のプラグインとしてインストールされます。そして 正規表現を使用して、アプリケーション・ファイル内のコードのうち、Oracle プラット フォームで機能するために変更が必要になる可能性のあるものを特定します。この正規表現 は、検索ルール・ファイルと呼ばれる XML ファイルに入っています。AMA では、 WebSphere アプリケーションを分析し、分析レポートを生成することができます。このレ ポートでは、プロジェクトの統計を集約し、レビュー項目間のナビゲーションを可能にし、 移行に際して行った変更を追跡した包括的なステータスを提供します。AMA はカスタマイ ズ可能です。カスタマイズするには、拡張可能な API を指定して、特定のアプリケーション 用に、追加の検索ルール・ファイルの作成や調整ができるようにします。

オラクル社では、AMA Search Rules Exchange

(http://otn.oracle.com/tech/migration/ama/exchange/exchange.html)を介して、検索 ルール・ファイルをいくつか提供しています。独自のルールを作成できるほか、ここで用意 されている検索ルール・ファイルをダウンロードして使用することもできます。 このツールおよびそれに関する詳細をダウンロードするには、 http://otn.oracle.com/tech/migration/ama にアクセスしてください。

このガイドの使用方法

このガイドの使用方法

このガイドの使用方法

このガイドの使用方法

このガイドでは、WebSphere Advanced Edition 3.5.3 から Oracle Application Server にコン ポーネントを移行する作業の詳細を説明します。考えられるあらゆる構成に対する解決策を 徹底的に記載したものとは言いませんが、前述の移行上の問題点のいくつかに対する解決策 を示しています。ここで取り上げる問題点は、移行作業において、他の問題点とともに表面 化してくるものです。このガイドに記載した内容は、WebSphere アプリケーションの評価、 そして Oracle Application Server への移行のプランニングおよび実行の助けとなります。こ のガイドの内容は、次の高水準な作業を支援します。 ■ 前述の問題点に応じたコンポーネントの調査 ■ 移行対象の洗い出し ■ 移行環境と移行ツールの準備 ■ 対象コンポーネントの移行とテスト 注意 注意注意 注意 : このドキュメントでは、別途明記しないかぎり、バージョン番号なし

(28)
(29)

2

Oracle Application Server と

WebSphere の機能の比較

の機能の比較

の機能の比較

の機能の比較

WebSphere 3.5.3 と Oracle Application Server は、まったく異なるアーキテクチャから作成 されています。WebSphere は、IBM SanFrancisco Java アプリケーション・フレームワーク とその Component Broker に基づいており、両方とも J2EE 規格に先立つものです。それに 対し Oracle Application Server は、軽量で堅牢な新しい J2EE コンテナを備えており、これ は J2EE 1.3 規格の API をサポートしています。

この章では、製品全体、アーキテクチャ、クラスタリングとロード・バランシング、J2EE の サポート、および開発ツールとデプロイメント・ツールの面で、WebSphere と Oracle Application Server の主な相違点について説明します。

(30)

アプリケーション・サーバー製品の比較

アプリケーション・サーバー製品の比較

アプリケーション・サーバー製品の比較

アプリケーション・サーバー製品の比較

この項では、WebSphere 製品と Oracle Application Server 製品について説明します。

WebSphere 製品

製品

製品

製品

IBM 社では、(WebSphere 3.5.3 の)WebSphere というマーケティング上の部類で、いくつ かのテクノロジを販売しています。WebSphere Application Server は、多彩な WebSphere ファミリ製品の中核となるもので、次の 3 つのバージョンで構成されています。

WebSphere Standard Edition

WebSphere Standard Edition は、HTTP サーバー上で稼動するサーブレットおよび JSP コン テナ・レイヤーです。これは、IBM HTTP Server、Microsoft IIS、Netscape iPlanet サーバー など、一般に広く使用されている多くの HTTP サーバーとともに動作します。WebSphere Standard Edition では、静的 HTML ページ、サーブレット JavaServer Pages および XML を サポートしています。

WebSphere Advanced Edition

WebSphere Advanced Edition は、Standard Edition のすべての機能に加えて、次の機能を備 えています。

■ Enterprise JavaBeans™(EJB)コンポーネント・モデルのフル・サポート

■ 単一の管理ドメイン内で複数のサーバーをサポートするワークロード管理(WLM)機

WebSphere Advanced Edition は、IBM 社の中核となる J2EE サーバーです。

WebSphere Enterprise Edition

WebSphere Enterprise Edition は、Advanced Edition のすべての機能に加えて、次の機能を 備えています。

■ Component Broker(CB): IBM 社のオブジェクト・リクエスト・ブローカ

■ TXSeries: IBM 社のトランザクション・ミドルウェア・ソリューションで、2 つのトラン

ザクション・プロセス・モニター(CICS および Encina)を装備

WebSphere Enterprise Edition の Component Broker は、EJB と CORBA オブジェクトの両 方にサービスを提供します。TXSeries では、EJB、コンポーネント・ベースまたはオブジェ クト指向のプログラミング・モデルが不要なアプリケーションに、純粋なトランザクション 環境が提供されます。要件に応じて、これらのいずれかまたは両方を使用できます。

(31)

Oracle Application Server

Oracle Application Server は、WebSphere と同じく、プラットフォームに依存しない J2EE アプリケーション・サーバーであり、インターネットおよびイントラネット用に、複数階層 の Web 対応エンタープライズ・アプリケーションのホスティングができます。また、ブラ ウザやスタンドアロンのクライアントからアクセス可能です。Oracle Application Server は、 Oracle Application Server Containers for J2EE(OC4J)を備えています。これは、Java で記 述されたスケーラブルな軽量 J2EE コンテナで、J2EE 1.3 の認定を取得しています。そのた め、OC4J は次の J2EE 1.3 API をサポートしています。

■ サーブレット 2.3 ■ JSP 1.2 ■ EJB 2.0 ■ JNDI 1.2 ■ JavaMail 1.1.2 ■ JAF 1.0 ■ JAXP 1.1 ■ JCA 1.0 ■ JAAS 1.0 ■ JMS 1.0 ■ JTA 1.0 ■ JDBC 2.0 Extension

Oracle Application Server は、大規模で可用性の高い、分散型 Java エンタープライズ・アプ リケーションの実行を目的に設計されています。これらのアプリケーションには、インター ネットの商用サイト、エンタープライズ・ポータル、大容量のトランザクション・アプリ ケーションなどがあります。Oracle Application Server は、現実のアプリケーション実装に 不可欠な分野において、J2EE 規格の準拠にとどまらない大きな価値を追加し、次の要素を網 羅した統合型ソリューションのスイート全体を実現します。 ■ Web サービス ■ ビジネス・インテリジェンス ■ 管理およびセキュリティ ■ E-Business 統合 ■ ワイヤレス・クライアントのサポート

(32)

信頼性とスケーラビリティに優れたインフラストラクチャでこれらのソリューションを実装す るには、クラスタリング・メカニズムと各種の高可用性ソリューションを使用して、Oracle Application Server を冗長なアーキテクチャにデプロイします。Oracle Application Server のコ ンポーネントおよび特徴については、この章の「アーキテクチャの比較」と「Oracle

Application Server による高可用性とロード・バランシングのサポート」で詳しく説明します。

アーキテクチャの比較

アーキテクチャの比較

アーキテクチャの比較

アーキテクチャの比較

この項では、WebSphere と Oracle Application Server のアーキテクチャ全体について、説明 と比較を行います。

IBM WebSphere のコンポーネント

のコンポーネント

のコンポーネント

のコンポーネント

WebSphere Advanced Edition 3.5.3 は、次のコンポーネントで構成されています。

IBM HTTP Server

IBM 社の HTTP Server は、Apache HTTP Server(正式な製品サポートのあるもの)に、 IBM 実装の SSL 機能と、キーや証明書などの IBM 管理ツールを組み込んだものです。SSL で使用される公開鍵テクノロジは特許を取得しているため、ライセンス交付用のトラッキン グが必要になります。SSL サポートは、配布されている Apache HTTP Server オープン・ ソースに、IBM が付加した価値の一部です。Apache と IBM どちらの HTTP Server も、す ぐに利用可能なサーブレット・サポートは備えていません。

Web サーバー・プラグイン

サーバー・プラグイン

サーバー・プラグイン

サーバー・プラグイン

Web サーバー・プラグインは、ネイティブ API を使用して Web サーバー内で稼動し、 WebSphere Application Server にリクエストを転送するモジュールです。WebSphere をイン ストールすると、インストール・プログラムによって Web サーバーにフックがインストー ルされます。このフックによって、サーブレットをターゲットとする HTTP リクエストが傍 受され(着信 URL に基づいて、サーブレット・リクエストかどうかが判断されます)、それ らのリクエストはサーブレット・エンジンにリダイレクトされて処理されます。静的コンテ ンツは、そのまま HTTP Server のみで処理されます。

管理サーバー

管理サーバー

管理サーバー

管理サーバー

WebSphere Application Server のコンポーネントが稼動するあらゆるノードで、管理サー バーを実行する必要があります。実行される機能は次のとおりです。 ■ 構成されているすべてのアプリケーション・サーバーの起動、停止および監視 ■ ロケーション・サービス・デーモン(LSD)の提供 ■ 永続性ネーム・サーバー(PNS)の提供 ■ セキュリティ・サーバーの提供 ■ 障害発生時に管理サーバーを再起動する監視プロセスの提供

(33)

図 図図

図 2-1 WebSphere Application Server Advanced Edition のランタイム・コンポーネントのランタイム・コンポーネントのランタイム・コンポーネントのランタイム・コンポーネント

管理リポジトリ

管理リポジトリ

管理リポジトリ

管理リポジトリ

WebSphere Application Server バージョン 3.5.x では、管理サーバー・リポジトリが必要で す。管理サーバー・リポジトリは、構成情報を格納するリレーショナル・データベースで す。このデータベースは、WebSphere Application Server のセットアップ、構成および状態 に関する情報の格納に使用されます。

管理サーバーを起動する前に、管理サーバー・リポジトリが存在するかどうかが、 WebSphere Application Server によってチェックされます。このリポジトリには、アプリ ケーション・サーバーの名前、各サーバーが稼動しているノード、各サーバーにインストー ルされている Enterprise Bean、各サーバーの現在の状態など、ドメイン内の各ノードでの実 行用に構成されたリソースに関する記述情報が格納されます。 管理サーバー・リポジトリによって、すべての構成情報が 1 箇所に格納されるため、システ ム管理者はドメインの管理作業をどのマシンからでも実行できます。各管理サーバーには、 ドメインのリソース構成情報の集中ビューがあります。管理者がリソースの構成を変更する と、すべての管理サーバーにその変更内容が表示されます。

アプリケーション・サーバー

アプリケーション・サーバー

アプリケーション・サーバー

アプリケーション・サーバー

WebSphere では、アプリケーション・サーバーは、サーブレットまたは EJB(あるいはその 両方)をベースにしたアプリケーションを実行し、サーブレットのランタイム・コンポーネ ント(サーブレット・エンジン、Web アプリケーション)と EJB ランタイム(EJB コンテ ナ)の両方を提供するプロセスです。管理サーバーと同じく、個々の WebSphere Application Server は、固有の Java Virtual Machine(JVM)で稼動します。

(34)

Oracle Application Server のコンポーネントと概念

のコンポーネントと概念

のコンポーネントと概念

のコンポーネントと概念

この項では、Oracle Application Server に固有のいくつかのコンポーネントと概念について 説明します。ここではその概要を示します。

OracleAS インスタンス

インスタンス

インスタンス

インスタンス

OracleAS インスタンスは、Oracle Application Server のインストールのランタイムの出現で す。Oracle Application Server インストールには、対応する Oracle ホームがあり、Oracle Application Server のファイルはここにインストールされます。各 Oracle Application Server インストールは、1 つの OracleAS インスタンスのみを実行時に提供できます。1 つの物理 ノードに Oracle ホームが複数ある場合もあります。したがって、Oracle Application Server インストールと OracleAS インスタンスが複数ある場合もあります。 各 OracleAS インスタンスは、複数の相互運用コンポーネントで構成されています。Oracle Application Server は、これらのコンポーネントにより、信頼性とスケーラビリティに優れ た方法で、ユーザーのリクエストを処理することができます。これらのコンポーネントは次 のとおりです。 ■ Oracle HTTP Server ■ OC4J インスタンス

■ Oracle Process Manager and Notification Server(OPMN)サーバー ■ Distributed Configuration Management(DCM)

■ Oracle Application Server Web Cache

■ Oracle Enterprise Manager 10g Application Server Control コンソール ■ Oracle Application Server Infrastructure

Oracle HTTP Server

OracleAS には、Oracle HTTP Server(Apache オープン・ソース・プロジェクトに準拠) と、個別の実行スレッドで実行される OC4J 付属のリスナーという、2 つのリスナーがあり ます。OracleAS インスタンスには、Oracle HTTP Server が 1 つずつ備えられています。 OC4J リスナーは、Oracle HTTP Server の mod_oc4j モジュールからのリクエストをリスニ ングし、適切な OC4J プロセスにリクエストを転送します。機能面で見ると、Oracle HTTP Server は OC4J のプロキシ・サーバーとして機能し、サーブレット・リクエストと JSP リク エストはすべて、OC4J インスタンスにリダイレクトされます。 関連項目 関連項目関連項目 関連項目 :

『Oracle Application Server 10g 概要』

『Oracle Application Server 10g 管理者ガイド』

(35)

mod_oc4j は、Apache JServ Protocol バージョン 1.3(AJP 1.3)を介して OC4J リスナーと 通信します。mod_oc4j は、Apache モジュールとして Oracle HTTP Server と連携して動作 します。OC4J リスナーは、AJP 1.3 リクエストのほかに、HTTP リクエストと RMI リクエ ストも受け入れることができます。

次の図は、OracleAS のシングル・インスタンスにおける、Oracle HTTP Server とその他の Oracle Application Server ランタイム・コンポーネントを示しています。

図 図図

図 2-2 OracleAS インスタンスのコンポーネントインスタンスのコンポーネントインスタンスのコンポーネントインスタンスのコンポーネント

OC4J インスタンス

インスタンス

インスタンス

インスタンス

OC4J インスタンスは、Oracle Application Server で OC4J 実装を論理的にインスタンス化し たものです。この実装は Java 2 Enterprise Edition(J2EE)の完全なセットであり、すべて Java で記述されています。OC4J インスタンスは、OracleAS(JDK 1.3 対応)と一緒にイン ストールされる、標準の Java Development Kit(JDK)1.4 の Java Virtual Machine で実行さ れます。OC4J インスタンスでは、以前の Oracle Application Server の Java 環境や競合 Java アプリケーション・サーバーと比べて、ディスク・フットプリントとメモリー・フットプリ ントが小さくなります。各 OC4J インスタンスは、複数の JVM プロセスで構成できます。 JVM プロセスでは、それぞれのプロセスが複数の J2EE コンテナを実行できます。Oracle Enterprise Manager 10g Application Server Control コンソールの GUI を使用して、OC4J イ ンスタンスごとに JVM プロセスの数を指定できます。

Oracle Application Server では、スケーラビリティと高可用性を実現するために、複数の OC4J インスタンスを Oracle Application Server Cluster のメンバーとしてクラスタリングで きます。OC4J インスタンスをクラスタリングした場合、それぞれのインスタンスに、同じ 構成とアプリケーションがデプロイされます。クラスタリングの詳細は、後述の「Oracle Application Server による高可用性とロード・バランシングのサポート」を参照してくださ い。

(36)

Oracle Process Manager and Notification Server(

(OPMN)サーバー

)サーバー

)サーバー

)サーバー

各 OracleAS インスタンスは、そのインスタンス内で監視機能とプロセス管理機能を実行す る OPMN サーバーを備えています。このサービスでは、OracleAS インスタンスのコンポー ネント間でメッセージがやりとりされ、コンポーネントの起動、停止検出およびリカバリが できます。この通信は、同じクラスタに属する他の OracleAS インスタンスの、他の OPMN サービスにも及んでいます。そのため、クラスタ内の他のインスタンスは、同一クラスタ内 にある他の OracleAS インスタンスで、有効な OC4J プロセスと Oracle HTTP Server プロセ スを認識できます。

OPMN サービスはまた、Application Server Control コンソールとの通信およびインタ フェースを有し、Oracle Application Server の監視、構成および管理を行う統合インタ フェースを実現します。Oracle Application Server のコンポーネント、Oracle HTTP Server、 OC4J インスタンスおよび Distributed Configuration Management(次項で説明)では、発 行と引用(Publish and Subscribe)のメッセージング・メカニズムを使用して OPMN サー ビスと通信します。フェイルオーバーと可用性のために、OPMN サービスを実装するプロ セスでは、OPMN プロセスの障害発生時に OPMN プロセスを再起動するシャドウ・プロセ スが使用されます。

Distributed Configuration Management(

(DCM)

各 OracleAS インスタンスの様々なコンポーネントにおける構成の変更を管理および追跡す るために、各 OracleAS インスタンスには DCM プロセスが配置され、これらの作業を実行 します。OracleAS インスタンスのコンポーネントのいずれかの構成が変更されると、その 変更内容が DCM に伝えられます。DCM はそれを受けて、変更内容を認識し、

Infrastructure データベースの Oracle Application Server Metadata Repository に変更内容を 記録します。このリポジトリには、それぞれの DCM を通じて接続されている OracleAS イ ンスタンスすべての構成情報が格納されます。このように、同一のインフラストラクチャ・ リポジトリに接続されている OracleAS インスタンスはすべて、同一の OracleAS Farm に属 します。OracleAS インスタンスのいずれかで障害が発生すると、これらのインスタンスを 再起動するためにリポジトリから構成情報が取得されます。

各 DCM はまた、それぞれのインスタンスの OPMN と通信し、リポジトリ・データの変更 に関する通知イベントを送信します。これにより、OPMN は Oracle Application Server の コンポーネントに対して、該当する調整を行うことができます。

図 2-1 WebSphere Application Server Advanced Edition のランタイム・コンポーネント のランタイム・コンポーネント のランタイム・コンポーネント のランタイム・コンポーネント
図 2-2 OracleAS インスタンスのコンポーネント インスタンスのコンポーネント インスタンスのコンポーネント インスタンスのコンポーネント
図 2-3 ロード・バランシングに ロード・バランシングに ロード・バランシングに OracleAS Web Cache を使用した ロード・バランシングに を使用した を使用した を使用した OracleAS Cluster
表 A-1  WebSphere 3.5.x と と と と 4.0 の機能上の相違点の要約 の機能上の相違点の要約 の機能上の相違点の要約 の機能上の相違点の要約
+2

参照

関連したドキュメント

Vondrák: Optimal approximation for the submodular welfare problem in the value oracle model, STOC 2008,

ESET Server Security for Windows Server、ESET Mail/File/Gateway Security for Linux は

The performance measures- the throughput, the type A and type B message loss probabilities, the idle probability of the server, the fraction of time the server is busy with type r,

Another new aspect of our proof lies in Section 9, where a certain uniform integrability is used to prove convergence of normalized cost functions associated with the sequence

東京都は他の道府県とは値が離れているように見える。相関係数はこう

サーバー費用は、Amazon Web Services, Inc.が提供しているAmazon Web Servicesのサーバー利用料とな

mkdocs serve - Start the live-reloading docs server.. mkdocs build - Build the

このマニュアル全体を読んで、Oracle Diagnostics Pack に同梱の Oracle Performance Manager、Oracle Capacity Planner、Oracle TopSessions および Oracle Event