この章では、開発またはテスト環境から本番環境へなど、環境間でWebサービス・アプリケーションを移行する方法について説明します。この章の内容は次のとおりです。
Webサービス・アプリケーションを、環境間で(たとえばテスト環境から本番環境など)またはスケーリングされたクラスタ環境に個別に移行するには、アプリケーションをデプロイできるようにポリシーとデプロイ構成情報を新しい環境にエクスポートする必要があります。構成によっては、ポリシー構成アーティファクトやポリシー・アサーション・テンプレートの移行も必要になります。
デプロイメント・ディスクリプタは、アプリケーションの基本的なデプロイ構成が格納されたXMLファイルです。WebLogic ServerおよびWebLogic Java EE Webサービスのアプリケーションの場合は、アプリケーションを新しい環境にデプロイするために必要なデプロイメント・ディスクリプタを含めたデプロイ・プランを作成します。
ただし、ADFビジネス・コンポーネントおよびWebCenterサービスの場合は、ランタイム・ポリシーの変更は、独自のデプロイメント・ディスクリプタ(PDD)ファイルであるoracle-webservices.xmlおよびoracle-webservices-client.xmlに保持されます。これらのファイルはWebLogicデプロイ・プランに含まれず、他のデプロイメント・ディスクリプタと一緒にエクスポートされないため、これらのPDDファイルを単独でエクスポートしてインポートする必要があります。また、アプリケーションをクラスタ環境にスケーリングする場合も、これらのPDDファイルを単独でエクスポートしてインポートする必要があります。
次のOracle Infrastructure Webサービス・コンポーネントでは、使用される構成管理メカニズムが異なることに注意してください。
SOAコンポジット、Webサービス、およびOracle WSMでは、構成はcomposite.xmlファイルに保持されます。このファイルはデプロイ構成に使用される構成プランに含まれます。SOAフレームワークでは、コンポジット・サービスおよび構成のライフサイクルと同期化に独自のメカニズムが使用されます。
ADF Webサービスのデータ管理構成では、WebCenterサービスの接続詳細はconnections.xmlファイルに格納され、デプロイ後の変更はすべてカスタマイズとしてMetadata Services(MDS)リポジトリに格納されます。
Webサービス・アプリケーションを開発またはテスト環境から本番環境へ移行する一般的な手順は、次のとおりです。
本番環境を、必要なコンポーネントとともにインストールし、構成します。
ユーザーとグループ、アイデンティティとポリシー・ストア、資格証明などのセキュリティ情報を移行します。詳細は、「ポリシー構成の移行」を参照してください。
必要に応じて、ポリシーとデプロイ構成を移行します。詳細は、「ポリシーの移行」および「デプロイメント・ディスクリプタの移行」を参照してください。ホスト名やポートなど、新しい環境に固有の情報を変更します。
アプリケーションを新しい環境にデプロイします。
環境間のFusion Middlewareアプリケーションの移行についての詳細は、『Oracle Fusion Middleware管理者ガイド』の高度な管理: 環境の拡張に関する項を参照してください。
次の手順では、アプリケーションの開発やデプロイのサイクルでの様々なステージでポリシーを作成および水平移行する方法の一般的なシナリオについて説明します。
Oracle Enterprise Manager Fusion Middleware Controlを使用して、ポリシーを作成します。
詳細は、「Webサービス・ポリシーの作成」を参照してください。
ポリシーをファイルにエクスポートします。
詳細は、「ポリシーの移行」を参照してください。
ポリシー・ファイルを、Oracle JDeveloper環境のポリシーの格納場所にコピーします。
Oracle JDeveloperでWebサービスを作成し、そのWebサービスにポリシーを添付します。
詳細は、JDeveloperのオンライン・ヘルプのWebサービスでの開発に関する項にある、Webサービスでのポリシーの使用に関する項目を参照してください。
Webサービスをステージング・サーバーにデプロイし、Webサービスをテストします。
詳細は、JDeveloperのオンライン・ヘルプにあるWebサービスの開発に関する項を参照してください。
ポリシーを本番のサーバー環境にインポートします。
詳細は、「ポリシーの移行」を参照してください。
必要に応じて、次の情報を移行します。
ポリシーの構成。「ポリシー構成の移行」を参照してください。
アサーション・テンプレート。「アサーション・テンプレートの移行」を参照してください。
アプリケーションを本番環境にデプロイし、Webサービスをテストします。
「Webサービス・アプリケーションのデプロイ」および「Webサービスのテスト」を参照してください。
次の項では、PDDファイルを移行する必要のあるADFビジネス・コントロールまたはWebCenter Webサービス・アプリケーションのユースケース例を示します。
次の手順では、クラスタ内にデプロイされたADFビジネス・コントロールまたはWebCenter Webサービス・アプリケーションのスケーリングのユースケース例について説明します。
ADFビジネス・コントロールまたはWebCenter Webサービス・アプリケーションを、たとえば、管理サーバーと2つの管理対象サーバー(MServer1とMServer2)で構成されるクラスタ化されたWebLogic Serverドメインにデプロイするとします。デプロイの詳細は、第5章 「Webサービス・アプリケーションのデプロイ」を参照してください。
Fusion Middleware ControlまたはWLSTを使用して、ポリシー構成を変更します。たとえば、oracle/wss_username_token_service_policy
という名前のポリシーを、MServer2上のWebサービスに添付します。詳細は、第8章 「Webサービスへのポリシーの添付」を参照してください。
構成の変更は、PDDファイルに保持されます。
アプリケーションを再起動します。
exportJRFWSApplicationPDD
コマンドを使用して、PDDをJARファイルにエクスポートします。詳細は、「デプロイメント・ディスクリプタの移行」を参照してください。
WebLogic Server管理コンソールを使用して、クラスタ内にMServer3という名前の新しい管理対象サーバーをMServer2のクローンとして作成します。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのクローン・サーバーに関する項を参照してください。
新しい管理対象サーバー、MServer3を起動します。
ポリシーoracle/wss_username_token_service_policy
はアプリケーションが最初にデプロイされた後で添付されたため、MServer3には添付されていません。
importJRFWSApplicationPDD
コマンドを使用して、手順4で作成したOracle WSM PDDファイルを含むJARファイルをMServer3にインポートします。詳細は、「デプロイメント・ディスクリプタの移行」を参照してください。
アプリケーションを再起動します。
次の手順では、ADFビジネス・コントロールまたはWebCenter Webサービス・アプリケーションのランタイム・ポリシー変更を、クラスタ内のすべてのサーバーに伝播するユースケース例について説明します。
ADFビジネス・コントロールまたはWebCenter Webサービス・アプリケーションを、たとえば、管理サーバーと3つの管理対象サーバー(MServer1、MServer2、MServer3)で構成されるクラスタ化されたWebLogic Serverドメインにデプロイするとします。デプロイの詳細は、第5章 「Webサービス・アプリケーションのデプロイ」を参照してください。
Fusion Middleware ControlまたはWLSTを使用して、ポリシー構成を変更します。たとえば、MServer2からすべてのポリシーを解除します。詳細は、第8章 「Webサービスへのポリシーの添付」を参照してください。
構成の変更は、PDDファイルに保持されます。
アプリケーションを再起動します。
exportJRFWSApplicationPDD
コマンドを使用して、PDDをMServer2からJARファイルにエクスポートします。詳細は、「デプロイメント・ディスクリプタの移行」を参照してください。
savePddToAllAppInstancesInDomain
コマンドを、restartApp
引数をtrue
に設定して使用します。詳細は、「デプロイメント・ディスクリプタの移行」を参照してください。
これでポリシーがドメイン内のすべてのサーバー・インスタンスから解除され、アプリケーションが再起動されます。
Oracle Enterprise Manager Fusion Middleware Controlからポリシーを個別にエクスポートできます。ポリシーをディレクトリにコピーすることも、ポリシーをインポートして別のリポジトリに移動することもできます。
注意: Oracle RACデータベースを使用している場合は、ポリシーまたはメタデータ・アップロードの一括インポートを実行するときにデータベースの切替えを行わないでください。インポートが失敗することがあります。 |
Fusion Middleware Controlを使用したポリシーのエクスポートとインポートの詳細は、「Webサービス・ポリシーの管理」の次の項を参照してください。
または、WLSTコマンドexportRepository
およびimportRepository
を使用して、ポリシーをエクスポートおよびインポートすることもできます。次に、必要な手順を説明します。
WLSTコマンドを使用してポリシーを移行する手順は次のとおりです。
exportRepository
コマンドを使用して、zipファイルなど、サポートされているアーカイブ・ファイルにOracle WSMポリシーをエクスポートします。
たとえば、すべてのOracle WSMポリシーをpolicies.zipという名前のアーカイブにエクスポートするには、次のように入力します。
wls:/jrfServer_domain/serverConfig> exportRepository('/tmp/policies.zip',['policies:oracle/%'])
Exporting "/policies/oracle/binding_authorization_denyall_policy"
Exporting "/policies/oracle/binding_authorization_permitall_policy"
Exporting "/policies/oracle/binding_permission_authorization_policy"
.
.
.
Exporting "/policies/oracle/wss_username_token_over_ssl_service_policy"
Exporting "/policies/oracle/wss_username_token_service_policy"
Successfully exported "84" documents.
必要に応じて、作成後のアーカイブを編集できます。たとえば、すべてのポリシーを新しい環境に移行する必要がない場合は、それをアーカイブから手動で削除できます。
アーカイブを新しいマシンに移動します。Oracle WSM Policy Managerが新しいマシンにデプロイされていることを確認します。
importRepository
コマンドを使用して、Oracle WSMポリシーをインポートします。たとえば、前の手順でエクスポートされたポリシーをインポートする手順は、次のとおりです。
wls:/jrfServer_domain/serverConfig> importRepository('/tmp/policies.zip')
Importing "META-INF/policies/oracle/binding_authorization_denyall_policy"
Importing "META-INF/policies/oracle/binding_authorization_permitall_policy"
Importing "META-INF/policies/oracle/binding_permission_authorization_policy"
.
.
.
Importing "META-INF/policies/oracle/wss_username_token_over_ssl_service_policy"
Importing "META-INF/policies/oracle/wss_username_token_service_policy"
Successfully imported "84" documents
このWLSTコマンドの詳細は、WebLogic Scripting Toolコマンド・リファレンスのWebサービスのカスタムWLSTコマンドに関する項を参照してください。
次の項では、Oracle WSMポリシーの構成アーティファクトを移行する方法を説明します。この付録には、次の項があります。
メッセージ保護ポリシーを使用している場合は、キーストアを移行する必要があります。キーストアを移行する手順は次のとおりです。
キーストアを新しい環境に手動でコピーします。
Java SEアプリケーションの場合は、キーストアをユーザー定義の場所にコピーします。Java EEアプリケーションの場合は、キーストアをjps-config.xmlファイルと同じディレクトリ、DOMAIN_HOME/config/fmwconfigにコピーします。
デフォルトでは、キーストアの名前はdefault-keystore.jksです。キーストアの名前を変更した場合は、Oracle Platform Security Servicesのキーストア・サービス・インスタンスでキーストア名を構成する必要があります。
キーストアの構成の詳細は、「メッセージ保護に関するキーストアの構成」を参照してください。
ユーザーとグループは、WebLogic Serverのセキュリティ・レルムの一部として保持されます。
組込みLDAPのユーザーとグループを移行する場合は、Oracle WebLogic管理コンソールまたはWLSTのいずれかを使用してデータを移行できます。必要な手順の詳細は、Securing Oracle WebLogic Serverのセキュリティ・データの移行に関する項を参照してください。
LDAPストアのユーザーとグループを移行する場合は、移行パスはありません。新しい環境でユーザーとグループを再作成し、LDAPストアでの割当てを指定する必要があります。Securing Oracle WebLogic Serverの"認証プロバイダの構成に関する項を参照してください。
移行が必要な可能性のある、資格証明ストアに保持された資格証明には2つのタイプがあります。
ユーザー名およびパスワード
キーストアおよび暗号化キー・パスワード
次の項では、移行手順を説明します。
組込みLDAPに格納されているユーザーを「ユーザーおよびグループの移行」の説明に従って移行する場合、単純に既存の資格証明を新しい資格証明ストアに移行します。必要な手順の詳細は、Securing Oracle WebLogic Serverのセキュリティ・データの移行に関する項を参照してください。
ユーザーがLDAPストアに格納されている場合、自動移行パスはありません。資格証明ストアに資格証明を再作成する必要があります。資格証明の構成の詳細は、「資格証明ストアへの鍵およびユーザー資格証明の追加」を参照してください。
Webサービスで認可ポリシーを使用する場合は、Oracle Platform Security Servicesアプリケーション、および権限を付与するシステム・ポリシーを移行する必要があります。詳細は、Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイドのOPSSセキュリティ・ストアの構成に関する項のmigrateSecurityStoreスクリプトの移行に関する説明を参照してください。
Oracle Platform Security Services構成には、自動移行パスはありません。新しい環境で構成を再作成する必要があります。
再作成が必要な可能性のあるOracle Platform Security Servicesの構成には、3つのタイプがあります。
信頼できるSAMLアサーション発行者名(すべてのSAMLポリシーに適用可能)。
信頼できるSAML発行者名構成にデフォルトの構成を使用する場合は、移行は必要ありません。新しい環境でのSAMLの構成の詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
キーストアの場所、およびキーストアとキーストア・パスワードのCSFキー構成(メッセージ保護ポリシーのみに適用可能)。
キーストアにデフォルトの構成を使用する場合は、移行は必要ありません。新しい環境でのキーストアの構成の詳細は、「メッセージ保護に関するキーストアの構成」を参照してください。
keytabの場所およびサービス・プリンシパル名(Kerberosポリシーに適用可能)
新しい環境でのkeytabの場所およびサービス・プリンシパル名の構成の詳細は、「SAMLおよびKerberosログイン・モジュールの構成」を参照してください。
SSL構成には、自動移行パスはありません。新しい環境でSSLキーストアを構成して設定する必要があります。新しい環境でのSSLキーストアの構成と設定の詳細は、「SSLに関するキーストアの構成 」を参照してください。
Kerberos構成を移行する手順は次のとおりです。
Kerberos構成ファイルを、同じディレクトリ構造の新しい環境にコピーします。Kerberos構成ファイルは、各オペレーティング・システムで次の場所にあります。
UNIX: /etc/krb5.conf
Windows: C:\windows\krb5.ini
チケット・キャッシュを適切な資格証明で初期化します。
詳細は、「Kerberosトークンの使用」を参照してください。
Oracle Enterprise Manager Fusion Middleware Controlからアサーション・テンプレートを個別にエクスポートできます。ポリシーをディレクトリにコピーすることも、ポリシーをインポートして別のリポジトリに移動することもできます。
アサーション・テンプレートのエクスポートとインポートの詳細は、次の項を参照してください。
アプリケーションを新しい環境にデプロイするには、アプリケーションのデプロイ構成を新しい環境にエクスポートする必要があります。WebLogic Java EE Webサービス、SOAコンポジット、およびADFデータ・コントロールのデプロイ構成のエクスポートの詳細は、次のトピックを参照してください。
WebLogic Java EE Webサービス: Oracle WebLogic Serverへのアプリケーションのデプロイの新しい環境へのデプロイのためのアプリケーションのエクスポートに関する項。
SOAコンポジット: Oracle Fusion Middleware管理者ガイド for Oracle SOA Suite and Oracle Business Process Management Suiteの実行中のSOAコンポジット・アプリケーションのエクスポートに関する項
ADFデータ・コントロール: 『Oracle Fusion Middleware Oracle WebCenterポータル管理者ガイド』のWebCenterポータルの構成に関する項。
ADFビジネス・コントロールおよびWebCenter Webサービス・アプリケーションに対するランタイムWebサービス・ポリシーの変更は、独自のデプロイメント・ディスクリプタ(PDD)ファイルに保持されます。これらのポリシー変更をスケーリングされた環境または新しい環境に保存するか、またはこれらの変更をドメインに伝播するには、WLSTコマンドを使用してPDDファイルを移行する必要があります。次に、PDDファイルを移行するのに必要な手順を示します。
アプリケーションがデプロイされるドメインにあるWebLogic管理サーバーの実行中のインスタンスに接続します。手順については、「WebサービスのカスタムWLSTコマンドへのアクセス」を参照してください。
オプションとして、listWebServices(None,None,true)
コマンドを使用して、ドメイン内のすべてのアプリケーションおよびコンポジットのすべてのWebサービスをリストします。
たとえば、次のようにします。
wls:/wls-domain/serverConfig> listWebServices(None,None,true)
/wls-domain/ManagedServer1/j2wbasicPolicy:
moduleName=j2wbasicPolicy, moduleType=web, serviceName={http://namespace/}WssUsernameService
enableTestPage: true
enableWSDL: true
JRFWssUsernamePort http://host:port/j2wbasicPolicy/WssUsername
enable: true
enableREST: false
enableSOAP: true
maxRequestSize: -1
loggingLevel: NULL
security : oracle/wss_username_token_service_policy, enabled=true
enableWSDL: true
Attached policy or policies are valid; endpoint is secure.
.
.
.
注意:
|
Fusion Middleware ControlまたはWLSTを使用して、ポリシー構成を変更します。たとえば、WLSTを使用してポリシーoracle/wsmtom_policy
をManagedServer1に添付するには、次のコマンドを入力します。
wls:/wls-domain/serverConfig> attachWebServicePolicy ('/wls-domain/ManagedServer1/j2wbasicPolicy','j2wbasicPolicy','web', 'WssUsernameService','JRFWssUsernamePort', 'oracle/wsmtom_policy,')
ポリシーの変更は、アプリケーションPDDに保持されます。
アプリケーションを再起動します。
オプションとして、もう一度listWebServices(None,None,true)
コマンドを使用して、ポリシーがサーバー・インスタンスに添付されているかどうかを検証します。たとえば、次のようにします。
wls:/wls-domain/serverConfig> listWebServices(None,None,true)
/wls-domain/ManagedServer1/j2wbasicPolicy :
moduleName=j2wbasicPolicy, moduleType=web, serviceName={http://namespace/}WssUsernameService
enableTestPage: true
enableWSDL: true
JRFWssUsernamePort http://host:port/j2wbasicPolicy/WssUsername
enable: true
enableREST: false
enableSOAP: true
maxRequestSize: -1
loggingLevel: NULL
security : oracle/wss_username_token_service_policy , enabled=true
mtom : oracle/wsmtom_policy , enabled=true
Attached policy or policies are valid; endpoint is secure.
WLSTコマンドexportJRFWSApplicationPDD
を使用して、アプリケーションPDDをJARファイルにエクスポートします。
exportJRFWSApplicationPDD(application,pddJarFileName=None)
たとえば、デフォルトのJARファイル名を使用してj2wbasicPolicyアプリケーションのPDDをエクスポートするには、次のコマンドを使用します。
wls:/wls-domain/serverConfig> exportJRFWSApplicationPDD('/wls-domain/ManagedServer1/j2wbasicPolicy', None)
JARファイルのデフォルト名とパスが表示されます。
/tmp/j2wbasicPolicy-PDD-20100115-145338.jar
環境をスケーリングしている場合は、WebLogic Server管理コンソールを使用して新しい管理対象サーバーをクローン作成します。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのクローン・サーバーに関する項を参照してください。
アプリケーションを新しい環境に移行する場合、ポリシーおよびその他の構成アーティファクトが新しい環境にコピーされていることを確認します。詳細は、「ポリシーの移行」および「ポリシー構成の移行」を参照してください。
スケーリングされた環境で、クローン作成された管理対象サーバーを起動します。
oracle/wsmtom_policy
は、クローン作成された管理対象サーバーに添付されないことに注意してください。これを行うには、次のようにlistWebServices
コマンドを使用します。
wls:/wls-domain/serverConfig> listWebServices(None,None,true)
.
.
.
/wls-domain/ClonedManagedServer/j2wbasicPolicy :
moduleName=j2wbasicPolicy, moduleType=web,serviceName={http://namespace/}WssUsernameService
enableTestPage: true
enableWSDL: true
JRFWssUsernamePort http://host:port/j2wbasicPolicy/WssUsername
enable: true
enableREST: false
enableSOAP: true
maxRequestSize: -1
loggingLevel: NULL
security: oracle/wss_username_token_service_policy , enabled=true
Attached policy or policies are valid; endpoint is secure.
importJRFWSApplicationPDD
コマンドを使用して、アプリケーションPDDを新しいサーバーまたは新しい環境にインポートします。
importJRFWSApplicationPDD(application,pddJarFileName)
たとえば、手順6で作成されたPDD JARをクローン作成された管理対象サーバーにインポートするには、次のコマンドを使用します。
wls:/wls-domain/serverConfig> importJRFWSApplicationPDD ('/wls-domain/ClonedManagedServer/j2wbasicPolicy','/tmp/j2wbasicPolicy-PDD-20100115-145338.jar') application /wls-domain/ClonedManagedServer/j2wbasicPolicy PDD has been reset, please restart application now to uptake changes!
アプリケーションを再起動し、オプションとして、もう一度listWebServices(None,None,true)
コマンドを実行して変更を検証します。たとえば、次のようにします。
wls:/wls-domain/serverConfig> listWebServices(None,None,true)
.
.
.
/wls-domain/ClonedManagedServer/j2wbasicPolicy :
moduleName=j2wbasicPolicy, moduleType=web,serviceName={http://namespace/}WssUsernameService
enableTestPage: true
enableWSDL: true
JRFWssUsernamePort http://host:port/j2wbasicPolicy/WssUsername
enable: true
enableREST: false
enableSOAP: true
maxRequestSize: -1
loggingLevel: NULL
security:oracle/wss_username_token_service_policy , enabled=true
mtom : oracle/wsmtom_policy , enabled=true
Attached policy or policies are valid; endpoint is secure.
savePddToAllAppInstancesInDomain
コマンドを使用して、ポリシーの変更(手順9でimportJRFWSApplicationPDD
コマンドを使用して単一サーバーに適用した変更)をドメイン内のすべてのサーバー・インスタンスに適用します。このコマンドは、ランタイム・ポリシーの変更をクラスタ内のすべてのサーバーに伝播する場合に役立ちます。
savePddToAllAppInstancesInDomain(applicationName,pddJarFileName,restartApp=true)
たとえば、同じポリシー添付をドメイン内のアプリケーションを実行しているすべてのサーバー・インスタンスに添付するには、次のコマンドを使用します。
wls:/wls-domain/serverConfig> savePddToAllAppInstancesInDomain('j2wbasicPolicy','/tmp/j2wbasicPolicy-PDD-20100115-145338.jar',true)
これでoracle/wsmtom_policy
はドメイン内のすべてのサーバー・インスタンスに添付され、アプリケーションは自動的に再起動されます。
オプションとして、listWebServices(None,None,true)
コマンドを実行して、変更がすべてのサーバーに適用されたことを検証します。
これらのデプロイメント移行のWLSTコマンドおよびその引数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのWebサービスのカスタムWLSTコマンドに関する項を参照してください。