ヘッダーをスキップ
Oracle Application Server Web Servicesアドバンスト開発者ガイド
10g(10.1.3.1.0)
B31869-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

C OracleAS Web Servicesの信頼性スキーマ

この付録では、信頼性スキーマoracle-webservices-reliability-10_0.xsdで定義されるOracle Application Server Web Servicesの信頼性構成要素を説明しています。このスキーマは、oc4j-schemas.jarファイルにあります。

OC4J_HOME\j2ee\home\lib\oc4j-schemas.jar

OC4J_HOMEは、Oracle Containers for J2EE(OC4J)をインストールしたディレクトリを表します。

通常、信頼性要素は大きなWebサービス管理構成の部分として使用します。信頼できるメッセージング機能を有効化するには、サーバー・サイドのWebサービスおよびクライアントにその機能を構成する必要があります。構成は、アセンブルしてWebサービスまたはクライアントに渡されるXML構成ファイルの部分です。

必須とされる特定の信頼性プロパティ(重複の排除や保証付き配信など)がサーバー・サイドにある場合は、クライアントでもそれらのプロパティを指定する必要があります。

信頼性要素は、ポート・レベルおよび操作レベルで設定できます。

Webサービスおよびクライアントへの信頼性のアセンブルの詳細は、第5章「Webサービスの信頼性の確保」で説明されています。

信頼性構成の階層

次に、oracle-webservices-reliability-10_0.xsdスキーマ・ファイルで信頼性に定義される信頼性要素の要素階層の概要を示します。異なる要素がポートおよび操作レベルで表示されます。


注意:

oracle-webservices-reliability-10_0.xsdスキーマ・ファイルは、信頼性要素を順序として定義します。信頼性構成では、信頼性要素は順番に出現する必要があります。

サーバー・サイドのポート・レベル階層

<reliability>
   <repository>
   <ack-interval>
   <order-interval>
   <cleanup-interval>
   <ack-limit>
   <max-age>

サーバー・サイドの操作レベル階層

<reliability>
   <duplication-elimination-required>
   <guaranteed-delivery-required>

クライアント・サイドのポート・レベル階層

<reliability>
  <repository>
  <retry-interval>
  <retry-limit>
  <poll-interval>
  <cleanup-interval>
  <max-age>
  <standalone-listener-port>
  <async-poll-reply-to-url>

クライアント・サイドの操作レベル階層

<reliability>
  <guaranteed-delivery>
  <duplicate-elimination>
  <group-max-idle-time>
  <group-expiry-time>
  <expiry>
  <reply-pattern>
  <reply-to-url>

信頼性スキーマの要素および属性の説明

この項では、Webサービス管理構成の部分として指定される信頼性要素をアルファベット順に並べます。信頼性要素は、サーバーおよびクライアントに対して、ポート・レベルおよび操作レベルで構成できます。階層の詳細は、前述の項、「信頼性構成の階層」を参照してください。

<ack-interval>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: サーバー・サイド

レベル: ポート・レベル

非同期に処理されたメッセージに対する承認または障害の送信が試行される間隔が秒単位で指定されます。デフォルト値は60秒です。

<ack-limit>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: サーバー・サイド

レベル: ポート・レベル

value属性により、メッセージ承認の試行回数に制限が指定されます。デフォルト値は-1です。これは制限がないこと、または承認の試行回数が無制限であることを示します。値が0の場合は、承認が試行されないことを意味します。

<async-poll-reply-to-url>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

レベル: ポート・レベル

value属性により、非同期ポーリングを実行する場合に、承認および障害が送信されるURLが指定されます。通常、このURLは、リスナーがリスニングするポートとクライアントのホスト名です。

<cleanup-interval>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: サーバーおよびクライアント・サイド

レベル: ポート・レベル

サーバー:

value属性により、期限切れまたは無効なメッセージのストアの削除が試行される間隔が秒単位で指定されます。デフォルトは3600秒(60分)です。

クライアント:

value属性により、期限切れまたは無効なメッセージのストアの削除が試行される間隔が秒単位で指定されます。デフォルトは3600秒(60分)です。

<duplicate-elimination>

親要素: <reliability>

子要素: なし

必須かどうか: 必須

サイド: クライアント・サイド

レベル: 操作レベル

enabled属性がtrueの場合、メッセージの重複の排除が有効化されます。デフォルト値はtrueです。

<duplication-elimination-required>

親要素: <reliability>

子要素: なし

必須かどうか: 必須

サイド: サーバー・サイド

レベル: 操作レベル

trueに設定されている場合、信頼できないクライアントはこの操作を起動できないことを示します。具体的には、重複の排除のSOAPヘッダーがないメッセージは拒否されます。デフォルトはfalseです。

<expiry>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

レベル: 操作レベル

value属性により、グループ内の1つのメッセージの有効期限が指定されます。たとえば、メッセージが有効期限よりも長い期間に渡って承認されていない場合は、メッセージ配信はそれ以上試行されません。クライアントには障害が通知されます。

<group-expiry-time>に値が設定されている場合、その値は<expiry>よりも大きい値である必要があります。デフォルトは3600秒(60分)です。

<group-expiry-time>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

レベル: 操作レベル

value属性により、グループ内のすべてのメッセージに対して有効期限が秒単位で指定されます。<group-expiry-time>の値は、<expiry>に設定されている値よりも大きい必要があります。デフォルト値は84600秒(1日)です。

<group-max-idle-time>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

レベル: 操作レベル

value属性により、一連のメッセージに対して最大のアイドル時間が秒単位で指定されます。この要素は必須ではありません。

<guaranteed-delivery>

親要素: <reliability>

子要素: なし

必須かどうか: 必須

サイド: クライアント・サイド

レベル: 操作レベル

enabled属性がtrueの場合、メッセージの保証付き配信が有効化されます。デフォルト値はtrueです。

<guaranteed-delivery-required>

親要素: <reliability>

子要素: なし

必須かどうか: 必須

サイド: サーバー・サイド

レベル: 操作レベル

trueに設定されている場合、信頼できないクライアントはこの操作を起動できないことを示します。具体的には、保証付き配信のSOAPヘッダーがないメッセージは拒否されます。デフォルトはfalseです。

<max-age>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: サーバーおよびクライアント・サイド

レベル: ポート・レベル

サーバー:

value属性により、メッセージが保存される最大時間が指定されます。デフォルト値は86400秒(1日)です。

クライアント:

value属性により、メッセージが保存される最大時間が指定されます。デフォルト値は86400秒(1日)です。

<order-interval>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: サーバー・サイド

レベル: ポート・レベル

value属性により、順序付けされていないメッセージが処理される間隔が秒単位で指定されます。デフォルトは60秒です。

<poll-interval>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

レベル: ポート・レベル

value属性により、承認を受信していない信頼できるメッセージのために、ポーリング・メッセージがサーバーに送信される間隔が秒単位で指定されます。デフォルト値は60秒です。

<reliability>

親要素: 信頼性構成のルート要素

子要素: 

サーバー、ポート・レベル: <ack-interval><ack-limit><cleanup-interval><max-age><order-interval><repository>

サーバー、操作レベル: <duplication-elimination-required><guaranteed-delivery-required>

クライアント、ポート・レベル: <async-poll-reply-to-url><cleanup-interval><max-age><poll-interval><repository><retry-interval><retry-limit><standalone-listener-port>

クライアント、操作レベル: <duplicate-elimination><expiry><group-expiry-time><group-max-idle-time><guaranteed-delivery><reply-pattern><reply-to-url>

必須かどうか: 信頼性構成を区切る場合、必須。

サイド: サーバーおよびクライアント・サイド

この要素は信頼性構成の開始および終了を区切ります。

<reply-pattern>

親要素: <reliability>

子要素: なし

必須かどうか: 必須

サイド: クライアント・サイド

value属性は、Callback(非同期承認/障害)、Response(同期承認/障害)またはPolling(承認または障害のポーリング)のいずれかです。デフォルト値はPollingです。

Callbackを使用する場合は、リスナーを構成する必要があります。これは、J2SEクライアントではできません。

<reply-pattern>要素を設定する必要があるのは、<guaranteed-delivery>trueの場合のみです。<guaranteed-delivery>を参照してください。

<reply-to-url>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

value属性により、非同期承認が必要なメッセージに対して承認および障害が送信されるURLが指定されます。通常、このURLは、リスナーがリスニングするポートとクライアントのホスト名です。

<reply-to-url>要素を設定する必要があるのは、<guaranteed-delivery>trueの場合のみです。<guaranteed-delivery>を参照してください。

<repository>

親要素: <reliability>

子要素: なし

必須かどうか: 必須

サイド: サーバーおよびクライアント・サイド

サーバー:

サーバーがメッセージの保存に使用するストアの種類が指定されます。

メモリー・ストア(memory)の場合、nameは必須属性です。その名前のストアがサーバーの別のアプリケーションに構成されている場合は、そのストアが使用されます。それ以外の場合は、新しいストアが構成されます。

データベース・ストア(jdbc)の場合、サーバーにデータソースが構成され、その場所がjndiLocationで指定されている必要があります。

表C-1 <repository>属性、サーバー・サイド

名前 説明

jndiLocation

値: string

デフォルト: n/a(type=jdbcの場合、必須)

サーバーのデータソースのJNDI名を指定します。メッセージをデータベースに保存する場合にのみ必要です。

name

値: string

デフォルト: n/a

リポジトリの名前を指定するStringです。

type

値: memory|jdbc

デフォルト: memory

構成するストアの種類を決定します。typeに許容される値は、メモリー・ストアの場合はmemoryで、データベース・ストアの場合はjdbcです。デフォルトはmemoryです。


クライアント:

メッセージの保存に使用するストアの種類を説明します。

表C-2 <repository>属性、クライアント・サイド

名前 説明

connection-driver

値: string

デフォルト: n/a

このデータソースのJDBCドライバ・クラス名で、java.sql.Connectionを処理するデータソースで使用される場合もあります。データソースの多くでは、ドライバはoracle.jdbc.driver.OracleDriverです。この属性が適用されるのは、クラス属性がcom.evermind.sql.DriverManagerDataSourceであるエミュレートしたデータソースのみです。

jndiLocation

値: string

デフォルト: n/a

サーバーのデータソースのJNDI名を指定します。メッセージをデータベースに保存する場合にのみ必要です。

name

値: string

デフォルト: n/a

リポジトリの名前を指定するStringです。

password

値: string

デフォルト: n/a

リポジトリのユーザーのパスワードを指定します。

type

値: memory|jdbc

デフォルト: memory

構成するストアの種類を決定します。typeに許容される値は、メモリー・ストアの場合はmemoryで、データベース・ストアの場合はjdbcです。デフォルトのストアの種類は、メモリー・ストアです。

memoryが指定されている場合、nameは必須属性です。同じ名前のストアが別のサーバー・アプリケーションに構成されている場合は、そのストアが使用されます。それ以外の場合は、新しいストアが構成されます。

jdbcが指定されている場合は、クライアント・サイドのデータベース・サポートを指定する必要があります。J2EEクライアントの場合は、データソースが構成され、その場所がjndiLocationで指定されている必要があります。

url

値: string

デフォルト: n/a

データベース接続のURLを指定します。

username

値: string

デフォルト: n/a

リポジトリにアクセス可能なユーザー名を指定します。


<retry-interval>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

value属性により、承認または障害を受信していないメッセージの再送信が試行される間隔が指定されます。デフォルト値は60秒です。

<retry-limit>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

value属性により、メッセージが再試行される回数に制限が指定されます。デフォルト値は10です。-1は制限がないこと、または再試行回数が無制限であることを示します。


注意:

value属性が0に設定されている場合、クライアントはメッセージの再送信を試行しません。これにより、保証付き配信のサービスのクオリティは事実上無効になります。value属性が0に設定されている場合、最適化として、信頼性スタックによりデータベース内にメッセージが保持されます。メッセージが宛先に到達し承認が戻されるという保証を作成できないため、これらのメッセージに対するポーリングは実行されません。

<standalone-listener-port>

親要素: <reliability>

子要素: なし

必須かどうか: オプション

サイド: クライアント・サイド

value属性により、承認または障害を受信するためにリスナーが起動されるポートが指定されます。これは、承認を送信するインフラストラクチャがないJ2SEクライアントに使用されます。クライアントがJ2EEアプリケーションに存在する場合は、指定されたサーブレットが使用されます。

信頼性構成のリスト

Webサービスおよびクライアントへの信頼性構成のサンプルは、第5章「Webサービスの信頼性の確保」を参照してください。