Oracle Fusion Middleware Oracle SOA Suite、WebCenterおよびADFアップグレード・ガイド 11g リリース1(11.1.1) B55926-02 |
|
戻る |
次へ |
この章では、Oracle BPEL Process ManagerアプリケーションをOracle Fusion Middleware 11gにアップグレードする際に重要な追加情報について説明します。
Oracle SOA Suite、WebCenterおよびADFの各アプリケーションのアップグレード時に必要となる主なタスクは、第8章「Oracle SOA Suite、WebCenterおよびADFアプリケーションのアップグレードの概要」で説明しています。
次の各項では、Oracle BPEL Process ManagerのアプリケーションとプロジェクトをOracle Fusion Middleware 11gにアップグレードするために必要となる可能性のあるアップグレード・タスクについて説明します。
次の各項では、Oracle JDeveloper 11gでOracle Application Server 10g Oracle SOA Suiteアプリケーションを開いた後に実行する必要のある一般的なアップグレード・タスクについて説明します。
これらのタスクは、Oracle JDeveloperの移行ウィザードで自動的にアップグレードされないアイテムを表しています。
この項では、Oracle JDeveloperでOracle BPEL Process Managerプロジェクトをアップグレードした後に、不足しているバインディングに関するコンパイラの警告メッセージを修正する方法について説明します。
警告メッセージが生成される理由 アプリケーションのソース・プロジェクトが、Oracle Application Server 10g リリース3(10.1.3)Oracle BPEL Process ManagerまたはOracle Enterprise Service Bus(ESB)サービスに依存している場合、移行に先立って、Oracle JDeveloperの移行ウィザードにより抽象WSDLのローカル・コピーが作成されます。
抽象WSDLの定義には、サービスおよびポートのエンドポイント情報が不足しています。アップグレード中に、移行ウィザードによってサービス依存性の外部コンポジット参照が作成される際には、参照はバインディング情報なしで抽象参照として作成されます。
これらの抽象参照には、アップグレード・ログで警告メッセージのフラグが設定されます。アップグレード後にプロジェクトをコンパイルしようとすると、Oracle JDeveloperでコンポジットに抽象参照が含まれていることを示すコンパイル・エラーが生成されます。
HTTPバインディングを使用するOracle SOA Suite 10g Webサービスを使用している場合も、同様のメッセージが表示されます。これらのサービスは、Oracle SOA Suite 11gではサポートされていません。 詳細は、第10.2.8項「HTTPバインディングを使用するアプリケーションのアップグレード」を参照してください。
10g リリース3(10.1.3)または11gの依存性サービスの使用 依存性ツリー上のすべてのサービスのアップグレードおよびデプロイメント・スケジュールに基づいて、10g リリース3(10.1.3)の依存性サービスを引き続き使用するか、依存性サービスをアップグレードして再デプロイするかを選択できます。
一般に、アップグレード処理を行う前に、ソース・プロジェクトとその依存性について理解しておくことをお薦めします。この分析により、アップグレードをスムーズに進めることができます。
再コンパイル中に検出されたバインディング・エラーの修正方法 抽象参照によるバインディング・エラーを修正するには、Oracle JDeveloper 11gのコンポジット・エディタで参照ノードを右クリックして、正しい具体的なWSDLを選択します。10g リリース3(10.1.3)の依存性サービスを引き続き使用することもできます。 アップグレード・ログに記録される依存性サービス・エンドポイントURLの一部は、このステップで使用できます。
また、Oracle JDeveloper 11gでWSILブラウザ(リソース・パレット)を使用して依存性を再設計し、コンポジット・モデラーのUIからサービスを検出することもできます。
詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
Oracle JDeveloperでのアップグレード中に、BPELテスト・スイートはコンポジット・テスト・スイートに変換されます。ただし、移行されるのはインスタンス開始アクションのみです。このため、コンポジット・テストでは、テスト実行のみが開始されます。その他のBPELベースのテスト・アクションは自動的に移行されないため、アップグレード後に手動で設定する必要があります。
11g環境でのテストの設定方法については、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のSOAコンポジット・アプリケーションのテストに関する項を参照してください。
Oracle Application Server 10gでOracle BPEL Process Managerのユーザー・プロジェクトに対して設定したデプロイメント・プランおよび構成プランは、Oracle JDeveloper 11gでアップグレードされません。
Oracle Fusion Middleware11gでは、コンポジットにデプロイメント・プランとデプロイメント中の構成プランを付随させることができます。ただし、Oracle JDeveloperでアプリケーションを移行した後に、11gのデプロイメント・プランを手動で作成する必要があります。
11gで構成プランを作成する方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の開発、テストおよび本番環境間でのSOAコンポジット・アプリケーションの移動に関する項を参照してください。
Oracle JDeveloperで10gアプリケーションを開き、Oracle JDeveloperの移行ウィザードを使用してアプリケーションをアップグレードする場合、ユーザー・プロジェクトで設定したフォルト・ポリシーとバインディングは自動的に11gにアップグレードされません。
この理由は、次のとおりです。
Oracle BPEL Process Manager 10gでは、フォルト・ポリシーはサーバーとともに格納され、バインディングはサーバーとともに格納されるか、bpel.xml
に指定されます。Oracle BPEL Process Manager 11gでは、フォルト・ポリシーとフォルト・バインディングはOracle JDeveloper 11gプロジェクトに格納されます。
一般に、Oracle BPEL Process Manager 11gのフォルト・ポリシーとバインディングは、以前のリリースのものとは異なります。たとえば、11gでは、ファイル名と構文が異なり、フォルト・ポリシーはOracle MediatorとOracle BPEL Process Managerの両方に適用され、バインディングは参照、コンポーネントおよびコンポジット・レベルで行われます。
このため、アプリケーションをアップグレードした後、Oracle JDeveloper 11gプロジェクトでフォルト・ポリシーとバインディングを手動で再作成する必要があります。
同様に、Oracle Enterprise Service Bus 10g リリース3(10.1.3)のプロジェクトを11gにアップグレードする場合は、esb_config.ini
ファイルで定義されている再試行パラメータを11gのfault-policy.xml
ファイルに追加する必要があります。
詳細は、次の項を参照してください。
『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のBPEL Processでのフォルト処理の使用に関する項
『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のMediatorのエラー処理の使用に関する項
アップグレードしている10g リリース3(10.1.3)アプリケーションに、BPELアーチファクトがプロジェクト内の独自のフォルダに分離されず、すべてのプロジェクト・アーチファクトが1つのフォルダに含まれているプロジェクトがある場合は、Oracle JDeveloperの移行ウィザードではそれらのアーチファクトをアップグレードできません。
この問題を回避するには、次のいずれかの手順を実行します。
プロジェクトをアップグレードする前に、Oracle JDeveloper 10gを使用してBPELフォルダを作成し、build.xmlおよびbuild.propertiesファイルを除くすべてのアーチファクトをそのフォルダに移動します。その後、プロジェクトのアップグレードを続行できます。
Oracle SOA Suiteコマンドライン・アップグレード・ツールを使用します。コマンドライン・ツールでは、プロジェクトにBPELフォルダがない場合でも、アーチファクトがアップグレードされます。詳細は、第9.3.6項「Oracle SOA Suiteコマンドライン・アップグレード・ツールの使用方法」を参照してください。
Enterprise Java Bean(EJB)との通信にWSIFバインディングを使用するOracle SOA Suite 10gプロジェクトがある場合、プロジェクトを11gにアップグレードした後、いくつかの変更を加える必要があります。
たとえば、WSIFバインディングおよびEJBを使用するプロジェクトをアップグレードした後、WSIFバインディング・エラーによりプロジェクトを実行できなくなります。
このような問題に対処するために、通常、プロジェクトをOracle JDeveloper 11gにアップグレードした後、次のステップを実行する必要があります。
ecomposite.xmlファイルの<binding.wsif>エントリのプロパティを、Oracle WebLogic Serverの正しいJNDI関連プロパティに置換します。
たとえば、BankTransferDemo
アプリケーションというアプリケーションのOracle WebLogic Serverドメインに対して設定されている一般的なプロパティは次のとおりです。このアプリケーションは、以前Oracle Application Server 10g リリース3(10.1.3)にデプロイされました。
<binding.wsif port="......." location="......"> . <property name="jndiName"> ejb/session/BankTransfer </property> . <property name="java.naming.factory.initial"> weblogic.jndi.WLInitialContextFactory </property> . <property name="java.naming.provider.url"> t3://[SERVER HOST NAME]:[SERVER PORT] </property> . <property name="java.naming.security.principal"> [DOMAIN ADMIN USER NAME] </property> . <property name="java.naming.security.credentials"> [DOMAIN ADMIN PASSWORD] </property> . </binding.wsif>
新しくアップグレードされた11gプロジェクトの次のディレクトリにEJBクラスをコピーします。
SOA_JDEV_PROJECT_HOME/SCA-INF/classes/
Oracle JDeveloperを使用してOracle SOA Suiteアプリケーションを変更する方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
次の各項では、Oracle BPEL Process Managerアプリケーションをアップグレードした後に確認する必要のある、その他の考慮事項について説明します。
Oracle Application Server 10g リリース3(10.1.3)アプリケーションがbpel.xml
デプロイメント・ディスクリプタに格納されているプロパティを参照している場合は、これらのプロパティはcomposite.xml
デプロイメント・ディスクリプタ・ファイルで設定されるようになったことに注意してください。
composite.xml
デプロイメント・ディスクリプタで使用可能なプロパティの詳細と、Oracle Fusion Middleware 11gでサポートされなくなったプロパティに関する重要な情報については、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のデプロイメント・ディスクリプタ・プロパティに関する項を参照してください。
Oracle JDeveloper 11gでアプリケーションを開いてアップグレードする場合、アプリケーション・プロジェクトのカスタムXPath関数は、自動的にアップグレードされません。
このため、アプリケーションをアップグレードした後、すべてのXPath関数クラスをサーバーのクラスパスにコピーし、サーバーの構成ファイルに関数を登録する必要があります。Oracle JDeveloperの移行ウィザードではサーバー情報を想定できないため、このステップは手動で行う必要があります。
詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のユーザー定義XPath拡張関数の作成に関する項を参照してください。
Oracle BPEL Process Manager 11gでは、複数の実装を含む単一のBPELファイルをアップグレードできません。
10g リリース3(10.1.3)の複数のプロジェクトを単一のBPEL実装ファイルに移行するには、各プロジェクトでBPELファイル名を変更する必要があります。各プロジェクトのbpel.xmlファイルで、bpelファイル名とデプロイメントID名も同じ名前に変更する必要があります。
アプリケーションをアップグレードする前に、bpel.xml
ファイルと*.bpel
ファイルを確認してください。BPELファイル名とプロセス名が同じであることを確認し、bpel.xml
ファイルでファイル名とデプロイメントID名が一致していることを確認してください。
非同期サービスで相関セットを使用するOracle BPEL Process Manager 10gプロジェクトを作成した場合は、Oracle BPEL Process Manager 10g リリース3(10.1.3)の開発者ガイドで説明されているように、相関セット・プロパティ・ファイルで次のような適切なネーミング規則が使用されていることを確認してください。
BPEL_FILE_NAME_Properties.wsdl
Oracle BPEL Process Manager 10gプロジェクトがこのファイルのネーミング規則に従っていない場合、プロパティは正しくアップグレードされません。ファイルのネーミング規則に従って名前を変更する必要がある場合は、プロパティのファイル名をインポートするwsdl
ファイルも更新してください。
構成プロパティtransaction=participate
を持つOracle BPEL Process Manager 10gプロジェクトを開いてアップグレードする場合、Oracle JDeveloper 11gでアプリケーションを開いたときに、このプロパティは11gに移行されません。この構成プロパティは、Oracle Fusion Middleware 11gではサポートされません。
partnerLinkバインディング・プロパティtransaction=participateを持つOracle BPEL Process Manager 10gプロジェクトを開いてアップグレードする場合、このプロパティはコール元で削除されます。コール先のプロジェクトには、bpel.config.transaction=requiredというプロパティ設定が必要となります。このコール元からコール先への設定の伝播はアップグレードによって実行されないため、アプリケーションをアップグレードした後、そのアプリケーションをOracle Fusion Middleware 11gにデプロイする前に手動で実行する必要があります。
Oracle BPEL Process Manager 10gでは、ドメインのプロパティをdomain.xml
ディスクリプタ・ファイルに指定します。
Oracle BPEL Process Manager 11gでは、Oracle BPEL Process Managerエンジンのプロパティをbpel-config.xml
とsoa-infra-config.xml
に指定します(両方ともMBeansとしてアクセスできます)。
表10-1は、Oracle BPEL Process Manager 10gおよびOracle BPEL Process Manager 10gで使用可能なドメイン・ディスクリプタ・プロパティを比較しています。
Oracle BPEL Process Manager 11gには、ドメインは1つのみです。つまり、これらのプロパティはサーバー全体に影響します。
表10-1 Oracle BPEL Process Manager 10gおよび11gのドメイン・ディスクリプタ・プロパティ
複数のOracle BPEL Process Managerドメインを使用してOracle Application Server 10g BPELプロジェクトを開発およびデプロイした場合、Oracle Fusion Middleware 11gは複数のBPELドメインをサポートしていないことに注意してください。
Oracle Application Server 10gで複数のドメインを使用している場合、Oracle Fusion Middleware 11gにアップグレードする際に次の2つのオプションがあります。
複数のOracle SOA Suite Oracle WebLogic Serverドメインをインストールおよび構成できます。 その後、各Oracle BPEL Process Manager 10gドメインを個別のOracle WebLogic Serverドメインにマップできます。
すべてのOracle BPEL Process Managerプロジェクトを単一のOracle SOA Suite Oracle WebLogic Serverドメインにデプロイできます。
詳細は、『Oracle Fusion Middleware Oracle SOA Suite and Oracle Business Process Management Suiteインストレーション・ガイド』を参照してください。
アプリケーションをOracle SOA Suite 10gからOracle SOA Suite 11gにアップグレードする場合、HTTPバインドは自動的にアップグレードされません。 ただし、アプリケーションをOracle SOA Suite 11gにアップグレードした後、外部参照への適切なバインディングを構成するようにOracle JDeveloperのcomposite.xml
ファイルを変更できます。
詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
BPELプロジェクトをOracle SOA Suite 11gにアップグレードする前に、bpel.xmlファイルのプロセスID、BPELプロジェクトの名前およびBPELファイルの名前がすべて同じ値であることを確認します。 この確認を行わないと、Oracle JDeveloper 11gでプロジェクトをアップグレードする際にエラーが発生したり、プロジェクトの一部の要素が正しくアップグレードされない可能性があります。