デプロイメント ガイド
ドメイン内のリソースは、Java Management Extensions (JMX) の管理対象 Bean (MBean) を使用して管理機能をエクスポーズします。MBean は、JMX 仕様に従って開発された Java の具象クラスです。MBean を使用すると、管理対象リソース内の各管理属性に対するゲッター操作とセッター操作だけでなく、リソースが提供するその他の管理操作を実行できます。
AquaLogic Service Bus の DeploymentMBean
を使用すると、AquaLogic Service Bus コンフィグレーションのプログラムによるインポートとエクスポート、および環境固有のコンフィグレーション情報の変更を行うことができます。DeploymentMBean
インタフェースを使用して、Java プログラムおよび WLST スクリプトを作成し、AquaLogic Service Bus コンフィグレーションについて開発環境からテスト環境とステージング環境を経て、最終的にプロダクション環境に至るまでのプロモーションを自動化できます。
以下の節では、DeploymentMBean
を使用して WLST スクリプト内からこれらのデプロイメント アクティビティを実行する方法を説明します。
DeploymentMBean
インタフェースのリファレンス資料と Java の使用例については、AquaLogic Service Bus クラスの Javadoc の com.bea.wli.management パッケージを参照してください。
AquaLogic Service Bus コンフィグレーションは AquaLogic Service Bus Console で作成され、エクスポートにより .jar
ファイルに格納されます。コンフィグレーション .jar
ファイルをエクスポートしたら、そのコンフィグレーションを別の AquaLogic Service Bus ドメインにインポートし、コンフィグレーションの環境固有の値を新しい環境の値に合わせて変更して、コンフィグレーションをプロモートできます。
DeploymentMBean
インタフェースのメソッドは、AquaLogic Service Bus Console で提供されている対話機能と同等の機能であり、対応する GUI と同じ順序で実行する必要があります。以下の表に、必要な手順、および各手順で使用する DeploymentMBean
インタフェースのメソッドを示します。
以下の例では、DeploymentMBean
を使用して WLST スクリプト内から上記のアクティビティを実行する方法を示します。
注意 : sb-public.jar
および sb-internal.jar
をクラスパスに置く必要があります。
コードリスト A-1 WLST を使用したコンフィグレーションのインポート、更新、およびエクスポート
import wlstModule
from java.io import File
from java.util import List
from com.bea.wli.config import Ref
from com.bea.wli.config import TypeIds
def connectToServer():
connect("weblogic", "weblogic", "t3://localhost:7001")
domainRuntime()
# コンフィグレーション jar ファイルをインポートします。
def importConfig(jarfilename):
infile = File(jarfilename)
infile = infile.getAbsoluteFile() # サーバでのファイル検索を有効にします。
# デプロイメント MBean を検索します。
mbean = findService("Deployment", "com.bea.wli.management.DeploymentMBean")
# Service Bus コンフィグレーションのすべての変更を 1 つのセッション内で行う必要があります。
session = mbean.openImportSession()
# jar ファイル全体をセッションにインポートします。
mbean.importIntoSession(session, infile)
# 通常、環境に依存する値を変更します。
# ここでは、「localhost:7001」を「productionserver:7001」に変更します。
mbean.findAndReplaceEnvValues(session, TypeIds.URI_ENV_VALUE_TYPE,
"localhost:7001", "productionserver:7001")
# 最後にセッションをコミットします。変更はコア データに送信され、
# セッションは破棄されます。
mbean.commitImportSession(session)
# すべてのリソースをエクスポートします。
def exportConfig(jarfilename, projectname, exportDependencies):
outfile = File(jarfilename)
outfile = outfile.getAbsoluteFile() # サーバでのファイル検索を有効にします。
# デプロイメント MBean を検索します。
mbean = findService("Deployment", "com.bea.wli.management.DeploymentMBean")
# 指定のプロジェクトのすべてのリソースをエクスポートします。exportDependencies が
# true の場合、これらのリソースが依存する他のリソースも
# エクスポートされます。false の場合、指定のプロジェクトのリソースのみ
# エクスポートされます。
mbean.export(outfile, [projectname], [], exportDependencies)
# ここでは定義済み関数を呼び出します。
try:
# 実行中のサーバに接続します。
connectToServer()
# コンフィグレーションをインポートします。
importConfig(sys.argv[1])
# デフォルト プロジェクトのすべてのリソースとその依存関係をエクスポートします。
exportConfig("temp.jar", "default", true)
except:
print "Unexpected error: ", sys.exc_info()[0]
dumpStack()
raise
この例では、1 つのコンフィグレーション ファイルの内容全体がインポートされます。コンフィグレーションのエクスポート元の環境では、1 つまたは複数のサービス エンドポイントが localhost:7001
に設定されていました。この例では、findAndReplaceEnvValues()
を使用して、localhost:7001
の値を持つ各サービス エンドポイントを productionserver:7001
に設定します。この変更は、プロキシ サービスとビジネス サービスの両方のコンフィグレーションの該当するエンドポイントに影響します。更新されたコンフィグレーションがコミットされて、別のコンフィグレーション ファイルにエクスポートされます。
DeploymentMBean
インタフェースのリファレンス資料については、AquaLogic Service Bus クラスの Javadoc の com.bea.wli.management パッケージを参照してください。
WLST スクリプト作成の詳細については、『WebLogic Scripting Tool ガイド』を参照してください。
findAndReplaceEnvValues()
メソッドを使用して、以下のアーティファクトの値を適切な環境固有の値に更新できます。
findAndReplaceEnvValues()
メソッドを使用する場合、更新するアーティファクトの種類を envValueType
パラメータで指定します。コードリスト A-1 で示しているように、サービス エンドポイント URI の検索置換用の TypeIds.URI_ENV_VALUE_TYPE
を envValueType
パラメータとして使用します。ディレクトリ要素 (エラー ディレクトリ、アーカイブ ディレクトリなど) を更新する場合は、完全修飾ディレクトリ パスの検索置換用の TypeIds.FILE_PATH_ENV_VALUE_TYPE
を envValueType
パラメータとして使用します。
...
mbean.findAndReplaceEnvValues(session, TypeIds.FILE_PATH_ENV_VALUE_TYPE,
"c:/myArchiveDirectory", "d:/production/ArchiveDirectory")
...
セキュリティ コンフィグレーションと他のすべての環境固有の設定は、AquaLogic Service Bus Console を使用して対話的に更新する必要があります。セキュリティのコンフィグレーションについては、『AquaLogic Service Bus Console の使い方』の「着信メッセージおよび発信メッセージの保護」を参照してください。他の環境固有の設定のコンフィグレーションについては、「手順 4. AquaLogic Service Bus コンフィグレーションのデプロイ」を参照してください。