[FMW, BPM] BPM 12cのPAMに関すること

昨日に続いて、BPM 12cについてよく頂戴する質問への回答をご紹介します。

Q1) Process Asset Manager (PAM) って何?
A1) Process ComposerとJDeveloperで作成したアセットを管理するための中央リポジトリです。

PAMとは、 12cで新たに導入されたコンポーネントで、11gまではMDS(Metadata Services)と呼ばれたものに近いものですが、かなり違いがあります。

MDS
(11g)
MDS
(12c)
PAM
データを保持する場所 データベース
(*_MDS)
データベース
(*_MDS)
ファイルシステム
設計時の情報を保持できるか ×
バージョン管理の可否 ×
バージョン管理の方法 スナップショット ×Subversion
BPMプロジェクト以外の成果物(ADF Formなど)も管理できるか × ×
クラスタ構成が可能か ×
MDSは12cでも存在するのですが、12cでは設計情報は持たず、ランタイム情報の共有のために利用するようになりました。とはいえ、Process ComposerやJDeveloperで作成した開発成果物を保持するための領域が必要なので、12cでPAMが導入されました。

(こっそり)リリース直前に名前がBAC(Business Asset Catalog)からPAMに変わったため、ExceptionやPackage名には、PAMではなく、まだBACが使われている箇所が多く見られます。今後整理されることでしょう。

PAMのアーキテクチャ概略は以下のようになっています。BPM Studio(=JDeveloper)からもComposerからもアクセスできるようになっていますが、背後にいるのはSubversionなので、NetBeansやEclipse、Visual Studioであっても、Subversionクライアントの機能があれば、直接Subversionにアクセスできます。



Q2) 開発環境で、物理ノード(マシン)を複数使うクラスタ構成にしたんだけど、PAMってファイルシステムに情報を保持するんだよねぇ。その場合、どうやればクラスタ構成に対応させればいいの?
A2) デフォルトのリポジトリ保持場所の変更が必要です。全てのクラスタメンバからアクセスできるファイルシステムにリポジトリを作成する必要があります。

A1で記載したように、Subversionのリポジトリはファイルシステム上に作成します。そのため、クラスタ構成を採っている環境では、PAMのリポジトリをクラスタメンバ全てからアクセスできる場所に作成する必要があります。

# 開発環境でそこまでやるか、という話はさておき...

具体的には、デフォルトのPAMのリポジトリの在処は
<Domain_Home>/bpm/bac/<server名>/repositories
です。Pathからもわかる通り、サーバ毎に作成されてしまうため、たとえ単一ノード内に複数サーバでクラスタを構成したとしても、リポジトリが複数作成されてしまいます。これを回避するためには、BACNodeとBacConfigurationManagerというMBeanの設定を変更する必要があります。

変更するには
  1. Enterprise Manager Fusion Middleware Controlに管理者としてログイン
  2. WebLogicドメイン>ドメイン名を右クリック>システムMBeanブラウザへ遷移
  3. 検索(双眼鏡アイコン)ボタンを押し、MBean名として上述のMBeanを指定
まず、BacConfigurationManager。

クラスタ構成の場合、Active-Active、Active-Passiveの選択ができます。
必要であれば、Protocol(プレーンもしくはSSH)も変更できます(デフォルトはプレーン)。

続いてBACNode。

この中のRepositoryPath(リポジトリのパス)を、クラスタメンバからアクセスできる場所に設定してください。その他、必要があればAddresses(PAMへアクセスするためのホスト名もしくはIPアドレス)、AdminAddresses(管理用のアドレス)、AdminPort(管理用のポート)、Port(PAMへ接続するためのポート番号)を指定してください。

注意
PAMはSOA Suiteでは利用できません(BPM Suiteのライセンスが必要です)。
BacConfigurationManager、BACNodeに対し変更を加えた場合、設定を反映させるためにはサーバ再起動が必要です。

0 件のコメント:

コメントを投稿