ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Event Processing管理者ガイド
11gリリース1 (11.1.1.7)
B61653-06
  目次へ移動
目次

前
 
次
 

9 Oracle Event Processing用のネットワークI/Oの構成

この章は、Oracle Event ProcessingでのネットワークI/Oの構成方法を、ネットワークI/Oサーバーまたはクライアントのいずれの構成方法も含めて説明します。

この章の内容は次のとおりです。

9.1 Oracle Event ProcessingにおけるネットワークI/Oの概要

Oracle Event Processingは、サーバー・モードおよびクライアント・モードの両方で様々なプロバイダを使用して、Transmission Control Protocol/Internet Protocol (TCP/IP)を介してネットワーク入力/出力(I/O)をサポートします。

Secure Socket Layer (SSL)と非SSLネットワーク・アクセスの両方のネットワークI/Oを定義できます。

Oracle Event Processingは、IPv4とIPv6の両方をサポートします。

次のOracle Event Processingサービスは、次のネットワークI/O構成に依存します。

詳細は、次を参照してください:

9.1.1 ネットワークI/Oプロバイダ

表9-1は、Oracle Event ProcessingがサポートするネットワークI/Oプロバイダのリストです。

表9-1 Oracle Event ProcessingネットワークI/Oプロバイダ

provider-type SSL? 説明

non-blocking

いいえ

非プロック・プロバイダは、読取りおよび書き込みに対して完全な非ブロックI/Oを提供します。つまり、接続インタフェースでの読取りまたは書込みへの各呼び出しは、ブロックなしで即座に戻されます。基となる接続の準備ができていない場合、読取りまたは書込み呼び出しはゼロを戻すだけです。その時点で、呼び出しコードはNetIO APIのいずれかの通知メカニズムを使用して、接続の読取りまたは書込みの準備ができるまで待機する必要があります。非ブロック・プロバイダも非ブロックconnect呼び出しをサポートしますが、これはリモート・サーバーへの接続を確立する(または確立に失敗する)のに長い時間がかかった場合に、スレッドがブロックされる必要がないことを意味します。

semi-blocking

いいえ

セミブロック・プロバイダは、読取りの呼出しに対しては非ブロックI/Oを提供しますが、各書込み呼出しはデータがTCP/IPスタックに渡されるまでにブロックされます。一部のプラットフォームは、完全な非ブロック・プロバイダに比べて高速な書込みブロック・プロバイダを実装できるようにするメカニズムを提供します。

blocking

いいえ

ブロック・プロバイダは、それぞれの読取りおよび書込みの呼出しが完了するまでそれらをブロックします。読取り準備が可能なデータがない場合、読取りはデータが存在するまでブロックされます。このタイプのプロバイダは、データを持つ各ネットワーク接続を待機するスレッドが存在する必要があるため、拡張性が低くなっています。通常はこのタイプのプロバイダを使用しないことをお薦めします。

native

いいえ

NativeAsyncEngineが試行されます。サポートされない場合、エラーが発生します。

NIO脚注 1 

はい

NIOEngineが常に使用されます。


脚注 1 デフォルトprovider-type.

例9-1は、provider-type子要素を使用して、Oracle Event Processingサーバーのconfig.xmlファイルのnetio要素でプロバイダを指定する方法を示します。

例9-1 provider-typeが定義されたOracle Event Processing netio要素

<netio>
    <name>myNetio</name>
    <port>12345</port>
    <provider-type>non-blocking</provider-type>
</netio>

9.1.2 IPv4およびIPv6のサポート

Oracle Event Processingサーバーは、IPv4単独またはIPv4/IPv6デュアル・スタックで使用するための認証を受けています。

Oracle Event ProcessingはIPv6をサポートしていません。

IPv6の詳細は、RFC 2460: Internet Protocol, Version 6 (IPv6)の仕様(http://www.ietf.org/rfc/rfc2460.txt)を参照してください。

9.2 ネットワークI/Oサーバー(netio)の構成

サーバーとして機能し、受信接続をリスニングするために他のサービスによって使用されるネットワークI/Oサービスを定義できます。

あるいは、9.3項「ネットワークI/Oクライアント(netio-client)の構成」で説明されるように、クライアントのネットワークI/Oサービスを作成できます。

9.2.1 ネットワークI/Oサーバーを構成する方法

Oracle Event Processingサーバーのconfig.xmlファイルのnetio要素を使用して、ネットワークI/Oサーバー・サービスを構成します。

詳細は、次を参照してください:

ネットワークI/Oサーバーを構成するには、次の手順を実行します。

  1. Oracle Event Processingサーバーのconfig.xmlファイルで、例9-2で示すように、netio要素を作成します。

    例9-2 Oracle Event Processing netio要素

    <netio>
    </netio>
    
  2. 例9-3で示すように、このOracle Event Processingサーバーでこのnetio要素を一意で識別するname要素を追加します。

    例9-3 name要素を持つOracle Event Processing netio要素

    <netio>
        <name>MyNetIO</name>
    </netio>
    
  3. port要素を追加し、例9-4で示すように、このnetioサービスが接続リクエストをリスニングする元となるTCP/IPポートを定義します。

    例9-4 port要素を持つOracle Event Processing netio要素

    <netio>
        <name>MyNetIO</name>
        <port>9002</port>
    </netio>
    
  4. オプションで、例9-5で示すように、provider-typeを指定します。

    例9-5 port要素を持つOracle Event Processing netio要素

    <netio>
        <name>MyNetIO</name>
        <port>9002</port>
        <provider-type>NIO</provider-type>
    </netio>
    

    詳細は、9.1.1項「ネットワークI/Oプロバイダ」を参照してください。

  5. オプションで、他のnetio子要素を指定します。

    詳細は、『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のnetioに関する項を参照してください。

9.3 ネットワークI/Oクライアント(netio-client)の構成

非ブロック・ネットワークI/Oの実行に使用できるネットワークI/Oサービスを定義できます。ただし、サーバーとしては機能せず、受信接続もリスニングしません。

あるいは、9.2項「ネットワークI/Oサーバー(netio)の構成」で説明されるように、サーバーのネットワークI/Oサービスを作成できます。

9.3.1 ネットワークI/Oクライアントを構成する方法

Oracle Event Processingサーバーのconfig.xmlファイルのnetio-client要素を使用して、ネットワークI/Oクライアント・サービスを構成します。

詳細は、次を参照してください:

ネットワークI/Oクライアントを構成するには、次の手順を実行します。

  1. Oracle Event Processingサーバーのconfig.xmlファイルで、例9-2で示すように、netio-client要素を作成します。

    例9-6 Oracle Event Processing netio-client要素

    <netio-client>
    </netio-client>
    
  2. 例9-3で示すように、このOracle Event Processingサーバーでこのnetio要素を一意で識別するname要素を追加します。

    例9-7 name要素を持つOracle Event Processing netio-client要素

    <netio-client>
        <name>MyNetIOClient</name>
    </netio-client>
    
  3. オプションで、例9-5で示すように、provider-typeを指定します。

    例9-8 port要素を持つOracle Event Processing netio-client要素

    <netio-client>
        <name>MyNetIOClient</name>
        <provider-type>NIO</provider-type>
    </netio-client>
    

    詳細は、9.1.1項「ネットワークI/Oプロバイダ」を参照してください。

  4. オプションで、他のnetio-client子要素を指定します。

    詳細は、『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のnetio-clientに関する項を参照してください。