Skip navigation.

デプロイメント ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

AquaLogic Service Bus デプロイメント API の使用

ドメイン内のリソースは、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 インタフェースのメソッドを示します。

表 A-1 デプロイメントの手順と対応するメソッド

手順

メソッド

    1. セッションを作成する。

openImportSession()

    2. コンフィグレーション .jar ファイルの一部またはすべてをインポートする。

importIntoSession()

    3. 環境固有の情報を、ドメインで必要な値に更新する。

findAndReplaceEnvValues()

    4. コンフィグレーションに衝突がないことを確認する。

isSessionReadyForCommit()

    5. セッションをアクティブにする。

commitImportSession()

    6. コンフィグレーションを別のドメインにプロモートする準備ができたら、コンフィグレーションをエクスポートする。

export() または exportAll()


 

以下の例では、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_TYPEenvValueType パラメータとして使用します。ディレクトリ要素 (エラー ディレクトリ、アーカイブ ディレクトリなど) を更新する場合は、完全修飾ディレクトリ パスの検索置換用の TypeIds.FILE_PATH_ENV_VALUE_TYPEenvValueType パラメータとして使用します。

以下のコードでは、ディレクトリの値を更新する例を示します。

コードリスト A-2

コードリスト A-3 ディレクトリの値の更新

...
mbean.findAndReplaceEnvValues(session, TypeIds.FILE_PATH_ENV_VALUE_TYPE,
"c:/myArchiveDirectory", "d:/production/ArchiveDirectory")
...

セキュリティ コンフィグレーションと他のすべての環境固有の設定は、AquaLogic Service Bus Console を使用して対話的に更新する必要があります。セキュリティのコンフィグレーションについては、BEA AquaLogic Service Bus Console のオンライン ヘルプで「着信メッセージおよび発信メッセージの保護」を参照してください。他の環境固有の設定のコンフィグレーションについては、「手順 4. AquaLogic Service Bus コンフィグレーションのデプロイ」を参照してください。

 

ナビゲーション バーをスキップ  ページの先頭 前 次