BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
|
e-docs > WebLogic Integration > AI トピック > Application Integration ユーザーズ ガイド > Application Integration データの移行 |
Application Integration ユーザーズ ガイド |
Application Integration データの移行
この章では、以下のトピックを取り上げます。
データ移行の概要
Application Integration 機能のコンフィグレーション データは、Business Process Management (BPM) 機能のコンフィグレーション データと同じリポジトリに格納されます。したがって、どちらの機能のデータ移行にも同じツールを使用できます。ただし、Application Integration データを移行し、およびそのデータを対象環境にデプロイする場合、特に考慮すべき点がいくつかあります。
注意: 現行の Application Integration エンジンでは、モジュラ デプロイメントをサポートしています。この方式では、EAR (Enterprise Application Archive) ファイルにまとめられ、有効なすべての WebLogic ドメインで使用できます。BPM 機能は必ずインストールされているとは限りませんので、アプリケーション ビューに対してはインポート/エクスポート ツールのコマンドライン インタフェースが用意されています。詳細については、アプリケーション ビューのインポートおよびエクスポートを参照してください。
Application Integration データの移行は、単独の EIS (Enterprise Information System : エンタープライズ情報システム) インスタンス内の WebLogic Server ドメイン間で行う場合は簡単にできます。異なる EIS インスタンス内の WebLogic Server ドメイン間でアプリケーション データを移行する場合、移行対象の環境でソリューションが正常に機能するためには特別な手順を実行する必要があります。
この節では、以下のシナリオを使用して WebLogic Server ドメイン間で Application Integration データを移行する方法について説明します。
単独の EIS インスタンス内でのデータの移行
この節では、単独の EIS インスタンス内にある複数のドメイン間で Application Integration データを移行する方法について説明します。たとえば、WebLogic Integration の異なるドメインに対するリポジトリ間でアプリケーション ビュー定義を移動するとします。この場合は WebLogic Integration ドメインだけが変更され、アプリケーション ビュー内で参照される対象の EIS インスタンスは同じです。
この場合、ワークフロー パッケージのインポート/エクスポート ユーティリティ(WebLogic Integration Studio から利用できる)を使えば、データの移行は簡単にできます。ソース ドメイン内の Studio からパッケージをエクスポートし、そのパッケージを対象ドメイン内の Studio にインポートします。
インポート/エクスポート ユーティリティの詳細は、『WebLogic Integration Studio ユーザーズ ガイド』の「ワークフロー パッケージのインポートとエクスポート」を参照してください。
アプリケーション ビューのエクスポート
Application Integration 機能を含むワークフローをエクスポートするとき、そのワークフローで使用されるアプリケーション ビューおよびその他のリソースはエクスポート ツールによって自動的に識別されます。リストA-1 および リストA-2 では、エクスポート ツール内で識別されるアプリケーション ビューと、そのビューで使用されるリソースの値を示します。通常、アプリケーション ビューの値は、リストA-1 で示された位置に表示(エクスポート ツール内)されます。
リスト A-1 BPM エクスポート ツール内でのアプリケーション ビューの位置
All Workflow Objects
|-- XML Repository
|-- Folder: WLAI.Namespace.Root
|-- Folder: WLAI.Namespace.Root.firstfolder
|-- Folder: WLAI.Namespace.Root.firstfolder.nthfolder
|-- Entity: WLAI.ApplicationView.Root.firstfolder.
nthfolder.appviewname
通常、アプリケーション ビューに関連するエンティティは nth_folder の下に表示され、リストA-2 に示す規約に従って名前が付けられます。ただし、すべてのアプリケーション ビューがこの規約に従うわけではありません。
リスト A-2 BPM エクスポート ツール内でのアプリケーション ビュー リソースの位置
Entity: WLAI.entity_type.Root.firstfolder.nthfolder.appviewname_
event/servicename_adapterspecific
アプリケーション ビューを完全にエクスポートするには、タイプが Schema および ConnectionFactory のエンティティも含め、そのビューに関連するすべてのエンティティを選択しなければなりません。
アプリケーション ビューのエクスポート例
EastCoast.Sales フォルダに CustomerManagement というアプリケーション ビューがあり、BPM エクスポート ツールの中では、リストA-3 に示す位置に表示されています。
リスト A-3 BPM エクスポート ツール内でのアプリケーション ビュー
All Workflow Objects
|-- XML Repository
|-- Folder: WLAI.Namespace.Root
|-- Folder: WLAI.Namespace.Root.EastCoast
|-- Folder: WLAI.Namespace.Root.EastCoast.Sales
|-- Entity:WLAI.ApplicationView.Root.EastCoast.
Sales.CustomerManagement
CustomerManagement アプリケーション ビューを完全にエクスポートするため、エクスポート ツールでは次のパターンに一致するすべてのエンティティが自動的に選択されます。
Entity: WLAI.entitytype.Root.EastCoast.Sales.CustomerManagement
CustomerManagement アプリケーション ビューには、いくつかのイベントおよびサービスが含まれています。エクスポート ユーティリティによれば、イベントごとに 1 つの Schema タイプのエンティティと、サービスごとに 2 つの Schema タイプのエンティティが示されています。また、CustomerManagement アプリケーション ビューは、DBMS アダプタも使用しており、CustomerCreated という名前のイベントと CreateCustomer という名前のサービスが 1 つずつあります。したがって、リストA-4 に示すエンティティが、エクスポート ユーティリティによってリストされています。
リスト A-4 アプリケーション ビューによって使用されるエンティティ
Entity: WLAI.Schema.Root.EastCoast.Sales.CustomerManagement_CustomerCreated_
CUSTOMER_TABLE_insert
Entity: WLAI.Schema.Root.EastCoast.Sales.CustomerManagement_CreateCustomer_input
Entity: WLAI.Schema.Root.EastCoast.Sales.CustomerManagement_
CreateCustomer_output
CustomerManagement アプリケーション ビューには、接続ファクトリも 1 つ定義されています。この接続ファクトリのエンティティ名は次のとおりです。
Entity: WLAI.ConnectionFactory.Root.EastCoast.Sales.CustomerManagement.
ConnectionFactory
CustomerManagement アプリケーション ビューが正しくエクスポートされるためには、リストA-4 に示されたすべてのエンティティを選択する必要があります。
アプリケーション ビューのインポート
アプリケーション ビューをインポートする手順は、次のとおりです。
これで、アプリケーション ビューが対象環境で使用できるようになります。
複数の EIS インスタンス内でのデータの移行
複数インスタンスの EIS 間の WebLogic Server ドメインどうしでデータを移行する場合、特定の EIS インスタンスに定義されたアプリケーション ビューには、そのインスタンス固有の識別子その他のデータが含まれているため注意が必要です。これは、アプリケーション ビューで使用される接続ファクトリについても当てはまります。
起こり得るエラーを防ぐには、アプリケーション ビューまたは接続ファクトリ内にある EIS インスタンス固有のデータを、次の手順に従って手動で変更する必要があります。
アプリケーション ビュー定義と接続ファクトリ定義を確実に編集してください。アプリケーション ビュー定義の以下のパラメータが変更対象です。
アプリケーション ビューのインポート例
CustomerManagement の例では、ソース環境に CUST というデータベースがあり、対象環境には CustDB というデータベースがあります。リストA-5 は、アプリケーション ビューと接続ファクトリを表現する XML テキストを示します。実際に示している内容は、CustomerManagement アプリケーション ビューに関するアプリケーション ビュー記述子です。Application View Console を使用する場合は、設計時 UI フォーム内の該当するフィールドを使用して、この情報を表示し、変更する必要があります。
リスト A-5 アプリケーション ビューと接続ファクトリに関する XML テキストの例
<?xml version="1.0"?>
<!DOCTYPE applicationView>
<applicationView asyncEnabled="true"
connectionFactory="com.bea.wlai.connectionFactories.EastCoast.Sales.
CustomerManagement_connectionFactoryInstance"
connectionFactoryName="EastCoast.Sales.CustomerManagement_connectionFactory"
eventRouterURL="http://localhost:7001/DbmsEventRouter/EventRouter"
name="CustomerManagement"
ownsConnectionFactory="true">
<description>Manages customers in the east coast sales database</description>
<service interactionSpecClass="com.bea.adapter.dbms.cci.InteractionSpecImpl"
name="CreateCustomer"
ownsRequestSchema="true"
ownsResponseSchema="true"
requestDocumentType="EastCoast.Sales.CustomerManagement_CreateCustomer_input/Input"
responseDocumentType="EastCoast.Sales.CustomerManagement_CreateCustomer_output/RowsAffected">
<description>create a new customer in database</description>
<interactionSpecProperty name="functionName">executeUpdate</interactionSpecProperty>
<interactionSpecProperty name="sql">insert into CUST.dbo.CUSTOMER_TABLE
(FirstName, LastName, DOB) values ([FirstName varchar], [LastName varchar], [DOB
timestamp])</interactionSpecProperty>
</service>
<event name="CustomerCreated"
ownsSchema="true"
rootElementName="CUSTOMER_TABLE.insert"
schemaName="EastCoast.Sales.CustomerManagement_CustomerCreated_CUSTOMER_TABLE_insert">
<description>New customer created in database</description>
<eventProperty name="tableName">CUSTOMER_TABLE</eventProperty>
<eventProperty name="triggerType">insert</eventProperty>
<eventProperty name="catalogName">CUST</eventProperty>
<eventProperty name="schemaName">dbo</eventProperty>
</event>
</applicationView>
このアプリケーション ビューには、以下の要素が定義されています。
各アダプタに作成されるアプリケーション ビュー記述子のサービスおよびイベント記述子には、異なるプロパティが格納されます。新しい EIS インスタンスで正常に機能するためにはどのプロパティを変更する必要があるかについては、アダプタのマニュアルを参照してください。
接続ファクトリ記述子も、新しいインスタンスを参照するように変更する必要があります。リストA-6 は、接続ファクトリの例を示しています。
リスト A-6 接続ファクトリの例
<?xml version="1.0"?>
<!DOCTYPE connection-factory-dd>
<connection-factory-dd name="CustomerManagement_connectionFactory">
<jndi-name>com.bea.wlai.connectionFactories.EastCoast.Sales.CustomerManagement_connectionFactoryInstance</jndi-name>
<pool-parms allowPoolToShrink="true"
maxPoolSize="10"
minPoolSize="0"
targetFractionOfMaxPoolSize="0.1"/>
<mcf-parm name="MessageBundleBase">
<mcf-parm-value>BEA_WLS_DBMS_ADK</mcf-parm-value>
</mcf-parm>
<mcf-parm name="DataSourceName">
<mcf-parm-value>eventSource</mcf-parm-value>
</mcf-parm>
<mcf-parm name="AdditionalLogContext">
<mcf-parm-value>CustomerManagement</mcf-parm-value>
</mcf-parm>
<mcf-parm name="UserName">
<mcf-parm-value>system</mcf-parm-value>
</mcf-parm>
<mcf-parm name="Password">
<mcf-parm-value>security</mcf-parm-value>
</mcf-parm>
<mcf-parm name="RootLogContext">
<mcf-parm-value>BEA_WLS_DBMS_ADK</mcf-parm-value>
</mcf-parm>
<mcf-parm name="PingTable">
<mcf-parm-value>CUST.dbo.CUSTOMER_TABLE</mcf-parm-value>
</mcf-parm>
<mcf-parm name="LogLevel">
<mcf-parm-value>WARN</mcf-parm-value>
</mcf-parm>
<mcf-parm name="LogConfigFile">
<mcf-parm-value>BEA_WLS_DBMS_ADK.xml</mcf-parm-value>
</mcf-parm>
<adapter-logical-name>BEA_WLS_DBMS_ADK</adapter-logical-name>
</connection-factory-dd>
上記のコードに示されているように、この接続ファクトリ記述子は直接 CUST データベースと eventSource という JDBC データ ソースを参照しています。対象環境でこの接続ファクトリが確実に正しく機能するためには、以下の変更を行う必要があります。
この時点で、必要なすべての参照の修正が完了し、アプリケーション ビューと接続ファクトリで必要とされるすべてのリソースが対象ドメイン内に定義されたことになります。これで、Application View Console (通常は http://host:port/wlai にあります) を使用して、インポートしたアプリケーション ビューをすべてデプロイできます。
推奨事項
ここでは、複数の環境間で Application Integration データを移行する際に必要となる作業を軽減するためのアドバイスを紹介します。