この章の内容は次のとおりです。
リソース・グループ・テンプレートは、複数のリソース・グループによってパターンとして使用されるデプロイ可能なリソースの名前付きのドメイン・レベル・コレクションです。特定のテンプレートを参照する各リソース・グループには、そのテンプレートに定義されているリソースの独自のランタイム・コピーが含まれます。
リソース・グループ・テンプレートは、複数テナント用にリソースを定義およびレプリケートする便利な方法です。リソース・グループ・テンプレートにより、アプリケーションとリソースの同じコレクションを複数のドメイン・パーティションにデプロイすることが非常に簡単になります。
リソース・グループ・テンプレートは、WebLogic Server Multitenant (MT)が同じアプリケーションとリソースを複数回(ドメイン・パーティションごとに1回ずつ)アクティブ化するSoftware-as-a-Service環境で特に役立ちます。そのようなリソースに関する情報のいくつかはすべてのドメイン・パーティションで同じになり、Java Message Service (JMS)キューの属性やデータベース接続の属性などのそのいくつかはパーティション間で異なります。
リソース・グループ・テンプレートは次の2つの方法で作成できます。
新しいリソース・グループ・テンプレートを作成します。これにより、リソース・グループ・テンプレートの基本構造が作成されます。次に、このリソース・グループ・テンプレートを必要に応じて編集する必要があります。
Oracle WebLogic Server管理コンソールを使用している場合は、既存のリソース・グループ・テンプレートのクローン(コピー)を作成できます。構成は、テンプレートから新しいリソース・グループ・テンプレートにコピーされます。次に、リソース・グループ・テンプレートからの値を必要に応じて編集およびオーバーライドする必要があります。
この項には次のトピックが含まれます:
リソース・グループ・テンプレートとリソース・グループ間の主な相違の1つは、リソース・グループ・テンプレートにはターゲットがないことです。リソース・グループ・テンプレートは(場合によっては多数のパーティション内の)複数のリソース・グループによってパターンとしてのみ使用されることを目的としているため、ターゲット固有の情報は、ほとんどの場合リソース・グループに固有となります。
したがって、次のようになります。
アプリケーションをリソース・グループ・テンプレートにデプロイする場合は、リソース・グループ・テンプレートがリソース・グループによって参照されるまで、アプリケーションを起動できません。
リソース・グループ・テンプレートを開始または停止できません。
リソース・グループ・テンプレートは、ResourceGroupTemplateMBean
に基づき、次のリソースを含めることができます。
全般(名前)
デプロイメント
サービス
Java Database Connectivity(JDBC)
メッセージ
メール・セッション
永続ストア
外部Java Naming and Directory (JNDI)プロバイダ
OSGiフレームワーク
診断
ノート
リソース・オーバーライドによって、パーティション・レベルでリソースをカスタマイズできます。
リソース・グループ・テンプレートから導出されたリソース設定を次のようにオーバーライドします。
リソース・グループ・テンプレートを作成します。
必要に応じて、アプリケーションをリソース・グループ・テンプレートにデプロイします。
必要に応じて、リソース・グループ・テンプレートでサービスを定義します。
パーティションを作成してから、リソース・グループ・テンプレートを参照するリソース・グループを作成します。
リソース・グループのリソース・グループ・テンプレートからの値をオーバーライドします。
オーバーライド構成MBean、リソース・デプロイメント・プランおよびパーティション固有のアプリケーション・デプロイメント・プランを使用して、パーティションのリソース定義をオーバーライドできます。リソース・オーバーライドの詳細は、「リソース・オーバーライドの構成」を参照してください。アプリケーション・オーバーライドの詳細は、「パーティション・リソース・グループへのアプリケーションのデプロイ」を参照してください。
SaaS環境があり、特定のビジネス・アプリケーションの1つのインスタンスを3つの異なるパーティションで実行する必要があると仮定します。このビジネス・アプリケーションには1つのプラガブル・データベースが必要です。つまり、各アプリケーション・インスタンスには、他のアプリケーション・インスタンスから分離された独自のデータが必要であるため、パーティションごとに1つのプラガブル・データベースが必要です。
さらに、プラガブル・データベースの構成が、データベース名、ユーザー名およびパスワードを除き、3つのパーティションで同じであると仮定します。これらの値には、表4-1の値を使用するとします。
表4-1 プラガブル・データベースの例
PDB名 | ユーザー名/パスワード | 使用元 |
---|---|---|
|
pdbuser1/pdbuser1 |
Partition1 |
|
pdbuser2/pdbuser2 |
Partition2 |
|
pdbuser3/pdbuser3 |
Partition3 |
リソース・グループ・テンプレートを構成するには、次の手順に従います。
新しいリソース・グループ・テンプレートを作成するには、次のようにします。
「ドメイン」→「環境」→「リソース・グループ・テンプレート」に移動します。
新しいリソース・グループ・テンプレートを作成します。この名前はドメイン内で一意にする必要があります。
これらのタスクについては、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のリソース・グループ・テンプレートの作成に関する項で説明しています。
最初のリソース・グループ・テンプレート構成は基本スケルトンで、使用する前に構成する必要があります。タスクには、JDBCシステム・データ・ソース、JMSサーバーおよびリソース、外部JNDIプロバイダなどの構成が含まれます。
詳細は、「リソース・グループ・テンプレートの構成: 主な手順およびWLSTの例」を参照してください。
この例では、次の操作を実行しています。
# Create Pep partition resource group, and resource group template edit() startEdit() wls:/base_domain/edit/ !> domain=getMBean('/') wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep') wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('VirtualTarget-0') wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('localhost')],String)) wls:/base_domain/edit/ !> vt.setUriPrefix('/foo') wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt) wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG') wls:/base_domain/edit/ !> peprg.addTarget(vt) wls:/base_domain/edit/ !> peprgt=domain.createResourceGroupTemplate('TestRGT') wls:/base_domain/edit/ !> peprg.setResourceGroupTemplate(peprgt) wls:/base_domain/edit/ !> activate() wls:/base_domain/edit/ !> startPartitionWait(peppart)
この項では、次のタスクを取り上げます。
リソース・グループ・テンプレートのデプロイメント設定を表示および定義するには、次のようにします。
これらのタスクについては、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のリソース・グループ・テンプレートのデプロイメントの構成に関する項で説明しています。
詳細は、「アプリケーションのリソース・グループ・テンプレートへのデプロイ」を参照してください。
この項では、次のタスクを取り上げます。
この項では、次のタスクを取り上げます。
このリソース・グループ・テンプレートに作成されたJMSサーバーの構成設定を表示するには、次のようにします。
これらのタスクについては、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のWebLogic Serverメッセージングに関する項で説明しています。
詳細は、「メッセージングの構成」を参照してください。
このリソース・グループ・テンプレートに作成されたストア・アンド・フォワード(SAF)エージェントの構成設定を表示するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のSAFエージェント設定の構成に関する項を参照してください。
詳細は、「メッセージングの構成」を参照してください。
リソース・グループ・テンプレートのリソース設定をモニターするには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のSAFエージェント設定の構成に関する項を参照してください。
既存のJMSリソースの構成の詳細は、「メッセージングの構成」を参照してください。
リソース・グループ・テンプレートのJMSモジュールを構成するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のJMSモジュール設定の構成に関する項を参照してください。
詳細は、「メッセージングの構成」を参照してください。
リソース・グループ・テンプレートのメッセージング・ブリッジ設定を構成するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のメッセージング・ブリッジの構成に関する項を参照してください。
詳細は、「メッセージングの構成」を参照してください。
リソース・グループ・テンプレートのJMSブリッジ宛先設定を構成するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のJMSブリッジ宛先の構成に関する項を参照してください。
詳細は、「メッセージングの構成」を参照してください。
リソース・グループ・テンプレートのパス・サービス設定を構成するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のパス・サービスの構成に関する項を参照してください。
詳細は、「メッセージングの構成」を参照してください。
このリソース・グループ・テンプレートに作成されたメール・セッションの構成設定を表示するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のWebLogic Serverメール・セッションに関する項を参照してください。
このリソース・グループ・テンプレートに作成された永続ストアの構成設定を表示するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のWebLogic Server永続ストアに関する項を参照してください。
詳細は、「メッセージングの構成」を参照してください。
このリソース・グループ・テンプレートに作成された外部JNDIプロバイダの構成設定を表示するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のWebLogic Server外部JNDIプロバイダに関する項を参照してください。
詳細は、「JNDIの構成とプログラミング」を参照してください。
このリソース・グループ・テンプレートに作成された診断システム・モジュールの構成設定を表示するには、次のようにします。
これらのタスクの詳細は、『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のWebLogic Server診断に関する項を参照してください。
詳細は、「パーティションのモニタリングおよびデバッグ」を参照してください。
リソース・グループ・テンプレートのノートを作成するには、次のようにします。
この例では、次の操作を実行しています。
# Create Pep partition resource group, and resource group template edit() startEdit() wls:/base_domain/edit/ !> domain=getMBean('/') wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep') wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('VirtualTarget-0') wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('localhost')],String)) wls:/base_domain/edit/ !> vt.setUriPrefix('/foo') wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt) wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG') wls:/base_domain/edit/ !> peprg.addTarget(vt) wls:/base_domain/edit/ !> peprgt=domain.createResourceGroupTemplate('TestRGT') wls:/base_domain/edit/ !> deploy(appName='MySimpleEJB', path='c:/webservices/MySimpleEjb.jar', resourceGroupTemplate='TestRGT') wls:/base_domain/edit/ !> peprg.setResourceGroupTemplate(peprgt) wls:/base_domain/edit/ !> activate() wls:/base_domain/edit/ !> startPartitionWait(peppart)
リソース・グループ・テンプレートがリソース・グループによって参照されている場合は、このリソース・グループ・テンプレートを削除する前に、参照を削除する必要があります。
削除するリソース・グループを選択します。
リソース・グループを削除します。
この例では、次の操作を実行しています。
# Create Pep partition resource group, and resource group template edit() startEdit() wls:/base_domain/edit/ !> domain=getMBean('/') wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep') wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('VirtualTarget-0') wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('localhost')],String)) wls:/base_domain/edit/ !> vt.setUriPrefix('/foo') wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt) wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG') wls:/base_domain/edit/ !> peprg.addTarget(vt) wls:/base_domain/edit/ !> peprgt=domain.createResourceGroupTemplate('TestRGT') wls:/base_domain/edit/ !> peprg.setResourceGroupTemplate(peprgt) wls:/base_domain/edit/ !> peprg.unSet('ResourceGroupTemplate') wls:/base_domain/edit/ !> domain.destroyResourceGroupTemplate(peprgt) wls:/base_domain/edit/ !> activate() wls:/base_domain/edit/ !> startPartitionWait(peppart)