ヘッダーをスキップ
Oracle Containers for J2EE構成および管理ガイド
10g(10.1.3.5.0)
B56030-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

1 Oracle Containers for J2EE(OC4J)の概要

この章では、Oracle Containers for J2EE(OC4J)の概要を説明します。この章の内容は次のとおりです。

OC4Jの概要

Oracle Containers for J2EE 10g(10.1.3.5.0)、すなわちOC4Jは、Java 2 Enterprise Edition(J2EE)1.4に完全準拠した環境を提供します。OC4Jには、J2EE仕様で規定されたコンテナ、APIおよびサービスがすべて装備されています。

OC4Jは、次の2つの構成で配布されます。

OC4Jは、完全にJavaで記述されており、Java Platform Standard Edition(Java SE)Development Kit(JDK)6、Java Platform 2 Standard Edition(J2SE)Development Kit(JDK)5.0(JDK 1.5とも呼ばれる)、またはJDK 1.4.2のJava仮想マシン(JVM)で稼働します。OPMN管理のOC4Jでは、JDK 5.0はサーバー・バイナリとともにインストールされ、デフォルトでOC4Jインスタンスを起動するために使用されます。スタンドアロンOC4Jの場合は、JDKを指定する必要があります。複数のJVMで実行するOC4Jインスタンスを構成できます。

OC4Jドキュメントでは、Javaプログラミング、J2EEテクノロジ、WebアプリケーションおよびEJBアプリケーションのテクノロジについて基礎知識があることを前提にしています。これには、/WEB-INFおよび/META-INFディレクトリなどのデプロイ規則が含まれます。

OC4JにおけるJ2EEサポート

OC4J 10g(10.1.3.5.0)では、表1-1に示す標準J2EE仕様がサポートされています。

表1-1 サポートされるJ2EE仕様

J2EE仕様 OC4Jでサポートされるバージョン

JavaServer Pages(JSP)

2.0

Servlet

2.4

Enterprise JavaBeans(EJB)

2.1、3.0(完全なEJB 3.0およびJPA実装)

Java Management Extensions(JMX)

1.2

J2EE Management

1.0

J2EE Application Deployment

1.1

Java Transaction API(JTA)

1.0

Java Message Service(JMS)

1.1

Java Naming and Directory Interface(JNDI)

1.2

Java Mail

1.2

Java Database Connectivity(JDBC)

3.0

Java Authentication and Authorization Service(JAAS)Provider

1.0

J2EE Connector Architecture

1.5

Enterprise Web Services

1.1

Java API for XML-Based RPC(JAX-RPC)

1.1

SOAP with Attachments API for Java(SAAJ)

1.2

Java API for XML Processing(JAXP)

1.2

Java API for XML Registries(JAXR)

1.0.5


OC4Jの新機能および変更された機能

次の各項では、Oracle Containers for J2EE 10g(10.1.3.x)の新機能の他に、旧リリースからの機能の変更点について説明します。

OC4Jの新機能

Oracle Containers for J2EE 10g(10.1.3.x)には、次の各項で説明する多くの新機能および追加機能があります。

Webサービスのサポート

OC4Jでは、JAX-RPC 1.1などのJ2EE 1.4標準に従ってWebサービスを完全サポートします。Webサービスの相互運用性も同様にサポートします。

  • Enterprise Web Services 1.1仕様のサポート

  • EJB 2.1 Webサービス・エンド・ポイント・モデル

  • JSR 109クライアントおよびサーバーのデプロイメント・モデル

  • CORBA Webサービス: 既存の基本CORBAサーバントのWebサービスとしてのラッピング、およびIDLからのWSDLの自動生成のサポート

  • 呼出しおよび終了の形式(RPC/リテラル、RPC/エンコード、ドキュメント/リテラル)などのWebサービスの動作をカスタマイズするためのソース・コードのアノテーション、JavaとXMLのマッピングのカスタマイズ、およびセキュリティ強化のサポート。

  • データベースおよびJMS Webサービス

アプリケーションの管理およびデプロイに関する新しいJ2EE 1.4仕様のサポート

OC4Jでは、J2EE環境におけるアプリケーションのデプロイおよび管理について新しい標準を定義する次の仕様をサポートします。

  • J2EE Application Deployment API(JSR-88): J2EEアプリケーションおよびモジュールを構成し、J2EEと互換性のある環境にデプロイするための標準APIを定義します。OC4J実装には、コンポーネントをOC4Jにデプロイするために必要なOC4J固有の構成データを含むデプロイ・プランを作成または編集する機能が含まれます。

  • Java Management Extensions(JMX)1.2仕様: J2EE環境でリソース(サービス、アプリケーションなど)を管理するための標準インタフェースを作成できるようにします。JMXのOC4J実装には、OC4Jサーバーとその内部で稼働するアプリケーションを完全に管理するために使用できるJMXクライアントが装備されます。

  • J2EE Management仕様(JSR-77): J2EE環境でアプリケーションを管理するための標準コンポーネントを作成できるようにします。

Enterprise JavaBeans 3.0のサポート

OC4J 10g(10.1.3.5.0)では、EJBの注釈および依存性インジェクションのサポートを含め、Enterprise JavaBeans 3.0の最終仕様を完全にサポートしています。この最終仕様は、次のWebサイトで入手できます。

http://java.sun.com/products/ejb/

注意:

EJB 3.0のサポートを有効にするには、OC4JでJDK 6または5.0を使用する必要があります。JDK 5.0は、OPMN管理のOC4JインスタンスにおいてデフォルトでJDK5.0が使用される10g(10.1.3.5.0)リリースに同梱されています。

Oracle Application Server TopLinkのサポート

Oracle Application Server TopLinkは、様々なJava 2 Enterprise Edition(J2EE)およびJavaアプリケーションのアーキテクチャで使用するための高度なオブジェクト永続性フレームワークです。Oracle TopLinkには、Bean管理の永続性(BMP)の開発を容易にするOC4Jのコンテナ管理の永続性(CMP)コンテナおよびベース・クラスのサポートが含まれます。

Oracle Job Scheduler

Oracle Job Schedulerは、J2EEアプリケーションに非同期スケジュール・サービスを提供します。主な特長として、ジョブの送信、制御および監視を行う機能があり、各ジョブは作業実行時に動作する作業単位として定義されます。

新しい2フェーズ・コミット・トランザクション・コーディネータ機能

OC4Jの新しい分散トランザクション・マネージャは、Oracleだけでなく他のベンダーやJMSプロバイダ(IBM WebSphere MQなど)のデータベースを含むあらゆるタイプのXAリソース間で2フェーズ・コミット・トランザクションを調整できます。障害時の自動トランザクション・リカバリもサポートされます。

汎用JMSリソース・アダプタの拡張機能

汎用JMSリソース・アダプタを、IBM WebSphere MQ JMSバージョン5.3のみではなく、OC4J 10g(10.1.3.5.0)に付属しているOracle Enterprise Messaging Service(OEMS)のOC4Jプラグインとして使用できるようになりました。

遅延トランザクション登録のサポートが追加されているため、JMS接続をキャッシュすることができます。また、JMS接続は、これまでどおりグローバル・トランザクションに正しく参加できます。

汎用JMSリソース・アダプタのエラー処理が改善されています。エンドポイントは、プロバイダまたはシステムの障害後に自動的に再試行され、onMessage()エラーは正しく処理されるようになりました。

admin_client.jarの新しいコマンドおよびリモート・クライアント

admin_client.jarユーティリティには、データソース、およびOC4J JMSコネクション・ファクトリや接続先を管理するための新しいコマンドがあります。admin_client.jarコマンドは、リモートの管理クライアント・ユーティリティでも使用できます。これらのコマンドをコマンドライン・ツールまたは関連するJMX MBeansを介して使用し、データソース、およびJMSコネクション・ファクトリや接続先に関する情報の追加、削除および取得を実行できます。詳細は、第6章「admin_client.jarユーティリティの使用方法」を参照してください。

旧リリースからの構成ファイルの変更点

Oracle Application ServerのコンポーネントとしてインストールされたOC4Jインスタンス、およびスタンドアロンOC4Jで使用される構成ファイルに、次の変更が加えられています。ここに示すファイルはすべてORACLE_HOME/j2ee/instance/configにデフォルトでインストールされます。ここで、instanceはOC4Jインスタンス名を表します。

application.xml

  • <persistence>要素は、新しいsystem-application.xmlファイルに移動されました。

  • <jazn>要素で指定するOC4Jインスタンスのセキュリティ構成ファイルは、新しいsystem-jazn-data.xmlファイルになりました。<jazn>の詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

  • <orion-application>ルート要素のdefault-data-source属性で指定するデフォルトのデータソースは、スタンドアロンOC4JとOracle Application Serverの両方でjdbc/OracleDSになりました。

  • PortComponentLinkResolverの<ejb-module>要素は、削除されました。

  • defaultアプリケーションのODLロギングを有効にするための<odl>要素が<log>のサブ要素として追加されましたが、コメント・アウトされています。

ascontrol-web-site.xml

  • このファイルは、スタンドアロンOC4JとOracle Application Serverの両方から削除されました。OC4JにデプロイされるApplication Server Controlインスタンスは、デフォルトでdefault-web-site.xmlにバインドされ、/emコンテキスト・ルートからアクセスできます。

default-web-site.xml

  • このファイルは、スタンドアロンOC4JとOracle Application Serverの両方で使用されるデフォルトWebサイトを構成します。OC4JインスタンスにデプロイされるApplication Server Controlインスタンスを含むすべてのアプリケーションは、デフォルトで、このファイルに指定されたコンテキスト・ルートを使用してデフォルトWebサイトを介してアクセスされます。

global-web-application.xml

  • <dtd>要素は、Oracle Application Server用のこのファイルから削除されました。

  • rmi-tunnelサーブレット定義の<url-pattern>要素は、スタンドアロンOC4JとOracle Application Serverの両方でrmiTunnel/*を指定しています。

http-web-site.xml

  • このファイルは、スタンドアロンOC4JとOracle Application Serverの両方から削除されました。OC4Jインスタンスにデプロイされるアプリケーションはすべて、デフォルトでdefault-web-site.xmlにバインドされます。

j2ee-logging.xml

  • この新しいファイルは、Javaログ出力(oracleログ出力など)を構成するために使用されます。

jazn-data.xml

  • このファイルには、OC4Jインスタンスのセキュリティ構成が含まれなくなりました。この構成は、新しいsystem-jazn-data.xmlファイルで定義されるようになりました。ただし、アプリケーション・レベルでユーザーおよびロールを定義するよう、jazn-data.xmlファイルを指定できます。jazn-data.xmlおよびsystem-jazn-data.xmlファイルの詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

oc4j-connectors.xml

  • <connector>要素のlocation属性は、datasourcesおよびOracle Enterprise Messaging Service(OEMS)コネクタに対して指定されなくなりました。

server.xml

  • http-web-site.xmlおよびascontrol-web-site.xmlを示す<web-site>要素は削除されました。1つの要素が、デフォルトWebサイトの構成ファイルであるdefault-web-site.xmlを示すようになりました。

  • 複数の<shared-library>要素が追加され、それぞれがOC4Jとともにインストールされる共有ライブラリを参照しています。

  • OC4JプロセスおよびOC4Jインスタンスにデプロイされるアプリケーションで使用できるようにスレッド・プールを定義するための<thread-pool>要素が、server.xmlに追加されました。この要素は、OC4J 10g(10.1.3.5.0)では非推奨の<global-thread-pool>および<work-manager-thread-pool>要素を置き換えます。

  • アプリケーションに個別のカスタム・スレッド・プールを定義するための<custom-thread-pool>要素が、server.xmlファイルに追加されました。

system-application.xml

  • このファイルは、systemアプリケーションの構成を指定するために新しく追加されたファイルです。この新しい内部コンポーネントの詳細は、「systemアプリケーション」を参照してください。

system-jazn-data.xml

  • この新しいファイルに、OC4Jインスタンスのセキュリティ構成が含まれています。このファイルは実質的に、jazn-data.xmlのかわりとなります。jazn-data.xmlおよびsystem-jazn-data.xmlファイルの詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

スタンドアロン構成でのOC4J

スタンドアロン(非管理)のOC4J構成は、管理しやすく堅牢なJ2EE準拠のコンテナを提供します。この構成では、単一のOC4Jインスタンスが1つのORACLE_HOMEディレクトリ(Oracleソフトウェアがインストールされるルート・ディレクトリ)にインストールされます。スタンドアロンOC4J構成には次のコンポーネントが含まれます。

Application Server Controlは、インストールと同時に使用できます。この管理インタフェースの使用方法は、「Oracle Enterprise Manager 10g Application Server Control」を参照してください。

インストール

スタンドアロンOC4Jのディストリビューション(Application Server Controlを含む)は、ZIPアーカイブとして提供されます。手順は、第2章「スタンドアロンOC4Jのインストール」を参照してください。

管理

スタンドアロンOC4Jは、インスタンスとともにインストールされるApplication Server Controlアプリケーション、組込みコマンドライン・ユーティリティの1つであるadmin_client.jar、またはOC4J Antタスクを使用して、スタンドアロンOC4Jインスタンスとして管理されます。これらのツールの詳細は、第3章「OC4Jの管理用ツール」を参照してください。

スタンドアロンOC4Jは、OC4J Antタスクおよびadmin_client.jarが含まれる管理クライアント・ユーティリティを使用して、リモートで管理することもできます。リモート管理の詳細は、「リモート管理クライアントのダウンロードおよび抽出」を参照してください。

OC4Jで提供されるadmin.jarツールは、スタンドアロンOC4Jサーバーでのみ管理タスクを実行できます。このツールの使用方法の詳細は、第7章「admin.jarユーティリティの使用方法」を参照してください。

起動、停止および再起動

スタンドアロン構成では、OC4Jインスタンスは、oc4jコマンド・スクリプト、または実行可能なoc4j.jarアーカイブを使用して起動します。起動オプションおよびシステム・プロパティは、コマンド・スクリプトの場合は起動前に、oc4j.jar直接実行モデルを使用する場合は起動時に設定します。

詳細は、「スタンドアロン環境でのOC4Jの起動」を参照してください。

スタンドアロンOC4Jサーバーは、admin_client.jarまたはadmin.jarコマンドライン・ユーティリティか、oc4jコマンド・スクリプトを使用して停止および再起動できます。詳細は、「スタンドアロン環境でのOC4Jの停止」「スタンドアロン環境でのOC4Jインスタンスの再起動」または「スタンドアロン環境でのOC4Jの停止および再起動」を参照してください。

バックアップ、リストアおよび障害リカバリ機能

スタンドアロンOC4J構成には、バックアップ、リストアおよび障害リカバリ機能はありません。

Web通信

スタンドアロン環境でのWeb通信は、組込みOC4J Webサーバーを介して提供されます。このサーバーは、Oracle HTTP Serverを使用せずにHTTPおよびHTTPS通信をネイティブにサポートします。

デフォルトWebサイトは、default-web-site.xmlファイルに定義されています。このファイルは、ポート8888にデフォルトのHTTPリスナーを指定します。このファイルを変更して使用することで、追加のWebサイトを定義できます。OC4Jで追加のWebサイトを作成する手順は、第13章「OC4JでのWebサイトの管理」を参照してください。

Oracle Application Server構成でのOC4J

この構成では、OC4Jは、Oracle Application Serverクラスタ内の1つ以上のOC4Jインスタンスのグループに、Oracle Application Serverのコンポーネントとしてインストールされます。通常の構成には、次のコンポーネントが含まれます。

Oracle Application Serverでは、クラスタ・トポロジ内のOC4Jインスタンスのグループでの、HTTPセッションおよびステートフル・セッションEnterprise JavaBean(EJB)のレプリケーションとロード・バランシングをサポートします。詳細は、第9章「OC4Jでのアプリケーションのクラスタリング」を参照してください。

Oracle Application Serverクラスタ内での接続は、Oracle Application Serverコンポーネント(OC4JやOracle HTTP Serverなど)間の通信を管理するOracle Notification Server(ONS)の機能により提供されます。ONSサーバーは、Oracle Process Manager and Notification Server(OPMN)のコンポーネントで、すべてのOracle Application Serverホストにデフォルトでインストールされます。

Oracle Universal Installerには、次のような複数のインストール・オプションがあります。

インストール

Oracle Universal Installerを使用して、様々なコンポーネントがインストールされます。インストールされた各コンポーネントを監視できるようにするには、OPMNをすべてのORACLE_HOMEディレクトリにインストールする必要があります。

管理

管理タスクは、次のツールを使用して実行できます。

これらのツールの詳細は、第3章「OC4Jの管理用ツール」を参照してください。

Oracle Application Serverのクラスタ化された環境では、単一のApplication Server Controlインスタンスを使用してクラスタ内のすべてのOC4Jインスタンスを管理できます。このアプリケーションの詳細は、「Oracle Enterprise Manager 10g Application Server Control」を参照してください。

OC4Jには、Oracle Application Serverクラスタ内のOC4Jインスタンスのグループ、OPMN管理のOC4Jインスタンス、またはスタンドアロンOC4Jサーバーで管理タスクを実行するための一連のAntタスクが含まれています。Antタスクの詳細、およびアプリケーション作成プロセスにそれらのタスクを統合するためのガイドラインは、『Oracle Containers for J2EEデプロイメント・ガイド』のOC4J Antタスクによるデプロイに関する項を参照してください。

OC4Jで提供されているadmin_client.jarツールは、Oracle Application Serverクラスタ内のOC4Jインスタンスのグループ、またはOC4Jインスタンスで管理タスクを実行できます。また、管理クライアント・ユーティリティのディストリビューションであるoc4j_admin_client_101350.zipには、次に示す3つの方法でリモート・クライアントから管理操作を実行する際に必要なクライアント・サイドのJARが含まれています。

リモート管理の詳細は、「リモート管理クライアントのダウンロードおよび抽出」を参照してください。

起動および停止

管理環境では、すべてのコンポーネント(OC4Jなど)の起動および停止にOPMNを使用する必要があります。詳細は、「Oracle Application Server環境でのOC4Jの起動」を参照してください。

OC4Jランタイム・オプションおよびシステム・プロパティは、OPMN構成ファイルopmn.xmlに手動で設定できます。詳細は、第4章「OC4Jランタイムの構成」を参照してください。

バックアップ、リストアおよび障害リカバリ機能

これらの機能は、管理Oracle Application Server構成で使用できます。

Web通信

スタンドアロンOPMN管理のOC4Jインスタンス(「J2EE Serverおよびプロセス管理」インストール・タイプ)は、組込みOC4J Webサーバーを使用して、HTTP(S)リクエストを直接受信し応答します。

また、OC4JとのWeb通信はOracle HTTP Serverおよびmod_oc4jモジュールを使用して管理できます。OHSはフロントエンド・リスナーとして機能し、mod_oc4jモジュールはApache JServ Protocol(AJP)1.3を使用してHTTPリクエストをOC4Jインスタンスに転送します。

Oracle HTTP ServerとOC4J間のリクエスト/レスポンス・フローは次のとおりです。

  1. 受信HTTPリクエストがOracle HTTP Serverリスナーによって受信されます。

  2. Oracle HTTP Serverは、mod_oc4jモジュールを介してリクエストをOC4Jインスタンスに渡します。Oracle HTTP ServerとOC4J間の接続では、OC4Jの起動時に決定されたポート番号でApache JServ Protocol(AJP)が使用されます。

図1-1 OHSを使用したOC4JのWeb通信

図1-1の説明が続きます
「図1-1 OHSを使用したOC4JのWeb通信」の説明

リクエスト元アプリケーションとして機能するOC4JインスタンスにリクエストURLをマップするマウント・ポイントは、アプリケーションのデプロイ時にmod_oc4jに動的に作成されます。特定のマウント・ポイントに対するリクエストは、そのマウント・ポイントに対応するOC4Jインスタンスにルーティングされます。

OHSおよびmod_oc4jモジュールの構成および管理の詳細は、『Oracle HTTP Server管理者ガイド』を参照してください。

OC4Jのアプリケーション階層の概要

この項では、OC4Jインスタンス内のアプリケーション階層の概要を説明します。

systemアプリケーション

systemアプリケーションは、Oracle Containers for J2EE 10g(10.1.3.5.0)の内部コンポーネントです。このアプリケーションは、OC4Jの初回起動時に、OC4JインスタンスまたはスタンドアロンOC4Jに自動デプロイされます。

このアプリケーションは、主にOC4Jへのアプリケーションのデプロイまたは再デプロイに関連する問題に対処するために追加されました。アプリケーション階層のルートに存在し、OC4Jの起動時に必要なクラスおよび構成を提供します。たとえば、その他のすべてのデプロイ済アプリケーション(Oralce JDBCドライバ実装やXMLパーサー実装など)によってデフォルトでインポートされる共有ライブラリを提供します。

systemアプリケーションは、OC4Jの内部コンポーネントにすぎません。アプリケーションをデプロイすることも、別のアプリケーションの親として宣言することもできません。defaultアプリケーションは、すべてのデプロイ済アプリケーションのデフォルトの親として引き続き機能します。

systemアプリケーションの構成は、system-application.xmlに定義されています。このファイルは、ORACLE_HOME/j2ee/instance/configにデフォルトでインストールされます。インストール時に作成されるデフォルトのOC4J instanceは、homeという名前です。


重要:

systemは、OC4Jの起動に不可欠な主要な内部コンポーネントであるため、<jazn>および<log>タグを除き、system-application.xmlファイルは変更しないでください

<jazn>タグは、セキュリティ・プロバイダ、OC4Jセキュリティ構成ファイル(system-jazn-data.xml)の場所、あるいはその両方への変更を指定するために、必要に応じて変更できます。<jazn>およびsystem-jazn-data.xmlファイルの詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

<log>タグを変更して、システム・ログ・ファイルを循環できます。


defaultアプリケーション

defaultアプリケーションは、アプリケーション階層のsystemの直下に存在します。OC4Jインスタンスにデプロイされたその他すべてのJ2EEアプリケーションのデフォルトの親として引き続き機能します。したがって、defaultアプリケーションに対して定義された構成パラメータはすべて、アプリケーション・レベルで明示的に上書きされないかぎり、その他すべてのアプリケーションによって継承されます。

スタンドアロンWebモジュール(WARファイル)をdefaultアプリケーションにデプロイすることもできます。

defaultアプリケーションの構成は、application.xmlに定義されています。このファイルは、ORACLE_HOME/j2ee/instance/configにデフォルトでインストールされます。インストール時に作成されるデフォルトのOC4J instanceは、homeという名前です。

グローバルWebアプリケーション

グローバルWebアプリケーションは、defaultアプリケーションのWebモジュール・コンポーネントです。OC4JインスタンスにデプロイされたすべてのWebモジュールにデフォルトで適用される構成データを提供します。また、すべてのサーブレットにデフォルトで適用される初期化パラメータも含まれます。

デフォルトのWebアプリケーションの構成ファイルは、global-web-application.xmlです。このファイルは、ORACLE_HOME/j2ee/instance/configにデフォルトでインストールされます。このファイルには、OC4JインスタンスにデプロイされたすべてのWebモジュールにデフォルトで適用されるパラメータの他に、すべてのサーブレットに適用されるサーブレット初期化パラメータも含まれます。これらのパラメータ値はいずれも、Webモジュールのorion-web.xmlファイルの対応する値によって上書きできます。

スタンドアロンOC4Jインストールでは、デフォルトのWebアプリケーションのルート・ディレクトリは、j2ee/home/default-web-appです。デフォルトのWebアプリケーションにデプロイするには、Webアプリケーションの標準のディレクトリ構造で、JSPページおよびクラス・ファイルをこのディレクトリ内に配置します。

J2EEアプリケーション

デフォルトでは、OC4Jインスタンスにデプロイされたアプリケーションは、指定された親アプリケーションから、あるいは他の親が指定されていない場合はdefaultアプリケーションから、構成パラメータを継承します。ただし、アプリケーションのorion-application.xmlディスクリプタに設定されたパラメータ値は、親から継承された該当するパラメータに優先します。

Webモジュールは親J2EEアプリケーションに含まれている必要があります。WARファイルは通常、親J2EEアプリケーションを定義するEARファイルとともにパッケージおよびデプロイされます。しかし、WARファイルは、スタンドアロンWebモジュールとしてdefaultアプリケーションにデプロイできます。