マイグレーションされたアプリケーションが WebSphere® InterChange Server で意図された機能と整合性が取れた状態で、WebSphere Process Server でも機能できるようにするには、WebSphere Process
Server と WebSphere InterChange
Server のアーキテクチャーの違いから、いくつかの領域で特別な注意が必要です。
補正レベル
WebSphere InterChange Server のコラボレーションと
WebSphere Process
Server の BPEL の間の補正レベルには直接の対応関係はないため、マイグレーションされたアプリケーションでは、WebSphere InterChange Server のコラボレーション
で指定された補正レベルは無視され、デフォルトの BPEL 補正レベルが使用されます。
希望する機能を得るためには、BPEL 補正について理解し、マイグレーションしたアプリケーションをそれに合わせて調整する必要があります。
InstallAdministrativeObjects.py スクリプト
WebSphere InterChange Server の成果物に対応する成果物が WebSphere Process
Server にはない場合、マイグレーション中に Jython
® スクリプトが生成されます。 このスクリプトは、
wsadmin コマンドを使用して実行することができ、元の WebSphere InterChange
Server の成果物に対応する WebSphere Process
Server 構成定義を作成します。 この方法で処理される WebSphere InterChange Server の成果物は、DBConnection プール、関係データベース、およびスケジューラー・エントリーです。 生成された Jython スクリプトには、
InstallAdministrativeObjects.py という名前が付き、共有される成果物がある場合には必ず、このスクリプトのコピーが含まれています。
つまり、
InstallAdministrativeObjects.py スクリプトは、ReposMigrate コマンドによって作成されるすべての JAR ファイル内に存在します。また、このスクリプトは、WebSphere Integration Developer でのインポート時に指定されたライブラリー・プロジェクトに置かれます。
InstallAdministrativeObjects.py スクリプトは、このスクリプトを必要とする成果物がない場合でも必ず生成されます。 このスクリプトに変更を加えて項目の追加や削除を行った後、
wsadmin を使用してスクリプトを実行することができます。
次のことに注意してください。
- 適切な JDBC プロバイダーが定義されていない場合、InstallAdministrativeObjects.py スクリプトにより、デフォルトの JDBC プロバイダー・テンプレートを使用して、JDBC プロバイダーが作成されます。 このようなデフォルトの JDBC プロバイダー・テンプレートを使用することによる副次作用として、空のサンプル・データ・ソース定義が作成されます。 このサンプル・データ・ソースは使用されません。 サンプル・データ・ソースに、データ・ソースに必要なすべての情報が指定されていないことが原因で、サーバーの始動時に発生する可能性のある例外を回避するために、このサンプル・データ・ソースを削除してください。
- InstallAdministrativeObjects.py スクリプトは、WebSphere InterChange Server 環境、つまり、WebSphere InterChange
Server システム用に一度リソースが定義されている環境をシミュレートするために、WebSphere Process Server 内にセル・スコープでリソースを定義します。WebSphere Process Server システム内には、デフォルトの JDBC プロバイダー・テンプレートから作成された JDBC プロバイダーで使用するために、WebSphere 変数が事前に定義されています。 ただし、ノードごとにこの変数をカスタマイズすることができるため、この変数はノード・スコープで定義されます。 このスコープ設定の不一致のため、作成された JDBC プロバイダーで必要な WebSphere 変数をセル・スコープで定義するか、または InstallAdministrativeObjects.py スクリプトを実行した後、JDBC プロバイダーをノード・スコープに移動するかのいずれかの作業が必要です。 どちらの WebSphere 変数が必要かを判別するには、管理コンソールを使用して生成された JDBC プロバイダーを調べます。管理コンソールから、
「環境」>「WebSphere 変数」を選択して、必要な変数を作成します。
(詳しくは、WebSphere Application Server Network Deployment
インフォメーション・センターの『WebSphere 変数の構成』を参照してください。)
wsadmin コマンドについて詳しくは、
WebSphere Application Server インフォメーション・センターの『Wsadmin ツール』を参照してください。
Access Enterprise JavaBean (EJB) サポート
WebSphere
InterChange Server は、J2EE EJB (Enterprise JavaBeans™) プロトコルを使用した、クライアント・コードによるコラボレーションの起動をサポートします。 このコラボレーションの起動方法のサポートを、「Access EJB」または「Access for EJB」のサポートと呼びます。 WebSphere Process Server は、後方互換性を確保するために Access EJB への非推奨のサポートを提供します。Access EJB サポートでは、呼び出される SCA BPEL モジュールが、本書で説明する WebSphere InterChange Server マイグレーション・ツール群によって生成されていることが前提となっています。 コラボレーション名およびポート名 (つまり、Access EJB 用の入力パラメーター) から SCA モジュール名へのマッピング、インターフェース、およびビジネス・オブジェクト・タイプでは、このマイグレーション・ツール群で使用される規則を前提としています。 WebSphere Process
Server での Access EJB サポートは、AccessEJB.zip プロジェクト交換ファイルとして提供されます。このファイルは、
install_root/HeritageAPI ディレクトリー内にあります。
AccessEJB サポートは、SCA BPEL モジュールを呼び出す SCA モジュール・プロジェクト (DynamicRouting) を参照する EJB (Access EJB) から成ります。この
SCA BPEL モジュールは、WebSphere InterChange
Server で呼び出されていたコラボレーションのマイグレーション版です。DynamicRouting モジュールは、セレクター・コンポーネントを使用して、Access EJB に渡されたコラボレーション名とポート名を基に正しい SCA ターゲットを選択します。 WebSphere Process Server で Access EJB サポートを使用可能にするには、以下のようにします。
- Access
EJB 呼び出しのターゲットであるコラボレーションを格納する WebSphere InterChange
Server リポジトリーを、WebSphere Integration Developer にインポートします。
- AccessEJB.zip プロジェクト交換ファイルを WebSphere Integration
Developer にインポートします。
- DynamicRouting プロジェクトを開き、セレクター・テーブルを更新して Access EJB が呼び出すマイグレーション済みモジュールをセレクター・テーブルに挿入します。
- Access EJB が呼び出す、BPEL コンポーネントを含むマイグレーション済みプロジェクトに移動して、BPEL モジュールを参照するエクスポートを DynamicRouting プロジェクト上にドラッグします。
- Access EJB を使用してアクセス可能にする BPEL モジュールごとに、ステップ 3 と 4 を繰り返します。
- プロジェクトをビルドし、WebSphere Process Server サーバーに配置します。
- WebSphere Process
Server サーバーのランタイム・クラスパスに、必要なデータ・ハンドラーがあることを確認します。
- アクセス・クライアントが WebSphere Process Server を使用できるようにするため、アクセス・クライアントが WebSphere Process Server サーバーを指し示し、Access EJB の検索時に JNDI
名 com/crossworlds/access/business/cwsession/CwSession を使用することを確認します。
DynamicSend API
WebSphere InterChange Server では、
DynamicSend API を使用して、1 つのコラボレーションを別のコラボレーションから直接呼び出すことができます。
呼び出すコラボレーションを事前に設定しておく必要はなく、実行時に動的に決定することができます。 WebSphere Process Server での DynamicSend API のサポートでは、
Access Enterprise JavaBean (EJB) サポートで説明した DynamicRouting プロジェクトを使用します。 指定した BPEL モジュールを起動できるように DynamicSend API を使用可能にするには、このセクションで説明した手順に従ってください。
セキュリティー
WebSphere Process Server において、WebSphere InterChange Server で実現可能であったセキュリティーと同等の形で、ビジネス・インテグレーション・システムのセキュリティーを確保するための方法が提供されています。 このトピックについて参考になる記事は、IBM
® developerWorks
® Web サイトにあります。
http://www.ibm.com/developerworks にある『テクニカル・ライブラリー』を参照してください。
イベント順序付け
WebSphere Process
Server において、WebSphere InterChange Server で可能であったものと同様の形で、イベントの順序付けを行うための方法が提供されています。この主題について参考になる記事は、IBM developerWorks Web サイトから入手することができます。
http://www.ibm.com/developerworks にある『テクニカル・ライブラリー』を参照してください。