第14章 ORB 設定

14.1. Common Object Request Broker Architecture (CORBA)

Common Object Request Broker Architecture (CORBA) は、アプリケーションとサービスが複数の互換性がない言語で記述され、異なるプラットフォームでホストされる場合でも、アプリケーションとサービスが連携することを可能にする標準です。CORBA のリクエストは Object Request Broker (ORB) というサーバーサイドコンポーネントが仲介します。JBoss EAP は、Open JDK ORB コンポーネントを用いて ORB インスタンスを提供します。

ORB は Java Transaction Service (JTS) トランザクションに対して内部的に使用され、ユーザー独自のアプリケーションが使用することもできます。

14.2. JTS トランザクション用 ORB の設定

JBoss EAP のデフォルトインストールでは、トランザクションの ORB サポートが無効になっています。管理 CLI または管理コンソールを使用して iiop-openjdk サブシステムの ORB を設定できます。

注記

iiop-openjdk サブシステムを利用できるのは、管理対象ドメインで full または full-ha プロファイルを使用している場合や、スタンドアロンサーバーの standalone-full.xml または standalone-full-ha.xml 設定ファイルを使用している場合です。

iiop-openjdk サブシステムで使用できる設定オプションの一覧は、「IIOP サブシステムの属性」を参照してください。

管理 CLI を使用した ORB の設定

管理 CLI を使用して ORB を設定できます。これは、JTS と使用するために行う ORB の最低限の設定です。

以下の管理 CLI コマンドは、full プロファイルを使用する管理対象ドメインを対象としています。必要な場合は設定に応じてプロファイルを変更してください。スタンドアロンサーバーを使用している場合は、コマンドの /profile=full 部分を省略してください。

セキュリティーインターセプターの有効化

値を identityに設定し、security 属性を有効にします。

/profile=full/subsystem=iiop-openjdk:write-attribute(name=security,value=identity)
IIOP サブシステムでのトランザクションの有効化

JTS に対して ORB を有効にするには、transactions 属性の値をデフォルトの spec ではなく full に設定します。

/profile=full/subsystem=iiop-openjdk:write-attribute(name=transactions, value=full)
Transactions サブシステムでの JTS の有効化
/profile=full/subsystem=transactions:write-attribute(name=jts,value=true)
注記

JTS をアクティベートするにはリロードでは不十分なため、サーバーを再起動する必要があります。

管理コンソールを使用した ORB の設定

  1. 管理コンソールの上部で Configuration タブを選択します。
  2. Subsystems を選択します。管理対象ドメインの場合は、最初に適切なプロファイルを選択する必要があります。
  3. IIOP サブシステムを選択し、View をクリックします。
  4. Edit ボタンをクリックし、必要な属性を編集します。各フィールドの詳細を表示するには、ヘルプ リンクをクリックします。
  5. Save をクリックして変更を保存します。

14.3. Elytron サブシステムで SSL/TLS を使用するよう IIOP を設定

SSL/TLS/ を使用するよう iiop-openjdk サブシステムを設定し、クライアントとサーバー間の通信をセキュア化することができます。elytron サブシステムおよびレガシーの security サブシステムは、iiop-openjdk サブシステムや JBoss EAP 内の他のサブシステムに SSL/TLS を設定するために必要なコンポーネントを提供します。以下の手順にしたがって、SSL/TLS に elytron サブシステムを使用するよう iiop-openjdk サブシステムを設定します。

  1. 以下の管理 CLI コマンドを使用して、iiop-openjdk サブシステムの現在のレガシー SSL/TLS 設定を表示します。

    /subsystem=iiop-openjdk:read-attribute(name=security-domain)
    {
        "outcome" => "success",
        "result" => "iiopSSLSecurityDomain"
    }

    iiop-openjdk サブシステムは、SSL/TLS にレガシーの security サブシステムか elytron サブシステムのいずれかを使用する必要があります。両方のサブシステムを同時に使用することはできません。上記のコマンドは、 iiop-openjdk サブシステムが SSL/TLS の処理にレガシーのセキュリティードメインを使用していることを示しています。SSL/TLS に elytron サブシステムを使用するよう iiop-openjdk サブシステムを設定する前に、以下の参照を削除する必要があります。

    /subsystem=iiop-openjdk:undefine-attribute(name=security-realm)

    iiop-openjdksecurity-domain 属性が定義されていない場合は、手順を続行できません。

  2. server-ssl-context を作成します。

    iiop-openjdk サブシステムで SSL/TLS を使用するには、server-ssl-context を定義する必要があります。JBoss EAP は、サーバーへの SSL/TLS 接続を確立するときに、server-ssl-context によって提供される設定を使用します。server-ssl-context の作成に関する詳細は、『How to Configure Server Security』の「Enable One-way SSL/TLS for Applications using the Elytron Subsystem」を参照してください。

  3. client-ssl-context を作成します。

    iiop-openjdk サブシステムで SSL/TLS を使用するには、client-ssl-context を定義する必要があります。JBoss EAP は、クライアントへの SSL/TLS 接続を確立するときに、client-ssl-context によって提供される設定を使用します。client-ssl-context の作成に関する詳細は、『How to Configure Server Security』の「Using a client-ssl-context」を参照してください。

  4. client-ssl-context および server-ssl-context を使用するよう、iiop-openjdk サブシステムを設定します。

    例: client-ssl-context および server-ssl-context の設定

    batch
    
    /subsystem=iiop-openjdk:write-attribute(name=client-ssl-context,value=iiopClientSSC)
    
    /subsystem=iiop-openjdk:write-attribute(name=server-ssl-context,value=iiopServerSSC)
    
    run-batch
    
    reload

  5. iiop-openjdk サブシステムを接続先および接続元とする接続の設定

    以下の属性を調整すると、iiop-openjdk サブシステムを接続先および接続元とする接続を確立するときに SSL/TLS 接続を要求するかどうかを示すことができます。

    • iiop-openjdk サブシステムで SSL のサポートを有効にするには、support-ssltrue に設定します。デフォルトは false です。
    • iiop-openjdk サブシステムからの SSL/TLS 接続を要求するには、client-requires-ssltrue に設定します。デフォルトは false です。
    • iiop-openjdk サブシステムへの SSL/TLS 接続を要求するには、server-requires-ssltrue に設定します。デフォルトは false です。
    • socket-binding を調整するには、ssl-socket-binding を希望のバインディングに設定します。デフォルトは iiop-ssl です。

    例: IIOP を接続先および接続元とする SSL/TLS 接続の設定

    /subsystem=iiop-openjdk:write-attribute(name=support-ssl,value=true)
    
    /subsystem=iiop-openjdk:write-attribute(name=client-requires-ssl,value=true)
    
    /subsystem=iiop-openjdk:write-attribute(name=server-requires-ssl,value=true)
    
    /subsystem=iiop-openjdk:write-attribute(name=ssl-socket-binding,value=iiop-ssl)
    
    reload