Oracle® Fusion Middleware Oracle SOA Suite、WebCenter PortalおよびADFアップグレード・ガイド 11g リリース1 (11.1.1.7.0) B55926-06 |
|
前 |
次 |
この章では、Oracle SOAアプリケーションをOracle Fusion Middleware 11gにアップグレードする際に重要な追加情報について説明します。
Oracle SOA Suite、WebCenterおよびADFの各アプリケーションのアップグレード時に必要となる主なタスクは、第8章「Oracle SOA Suite、WebCenterおよびADFアプリケーションのアップグレードの概要」で説明しています。
ここでは、Oracle SOAアプリケーションのアップグレードのみに該当するタスクについて説明します。
Oracle Enterprise Service Bus 10gからOracle Mediator 11gへのアップグレードの詳細は、次の各項を参照してください。
サービスとして公開されないOracle Enterprise Service Busルーティング・ルールのアップグレード
SOAPヘッダーのあるOracle Enterprise Service BusプロジェクトのOracle Mediator 11gへのアップグレード
Oracle Enterprise Service Busのメッセージ・ヘッダーのフィルタ、変換または設定のアップグレード
Webサービスとして公開されないESBルーティング・サービスを含むOracle Enterprise Service Bus 10gプロジェクトをアップグレードする場合、ルーティング・サービスと関連コンポジットは、アップグレード後に起動されません。
この問題を解決するには、Oracle Mediator 11gで、ルーティング・サービスをWebサービスとして公開されるように変更します。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のMediatorルーティング・ルールの作成に関する項を参照してください。
また、アップグレード・プロセスを開始する前に、Oracle Enterprise Service Bus 10gプロジェクトのすべてのルーティング・サービスがWebサービスとして公開されることを確認することもできます。
Oracle Enterprise Service Bus 10gプロジェクトでドメイン値マップを使用する場合、DVMのxPath関数と相互参照は自動的にアップグレードされますが、DVMと相互参照メタデータを11gにアップグレードするために、アップグレード後に特定のタスクを実行する必要があります。
詳細は、第9.4.9.7項「ESBリポジトリのドメイン値マップ(DVM)と相互参照(XREF)のアップグレード」を参照してください。
Enterprise Service Bus(ESB)10gでXSLT関数を使用してSOAPヘッダーを操作していた場合、アプリケーションのアップグレード後、Oracle Mediator 11gでは、これらのヘッダー操作は割当てとしてモデル化されます。
複雑なヘッダー操作については、アップグレードしたOracle Mediator 11gプロジェクトをデプロイする前にSOAPヘッダーを手動で確認してください。
詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の静的ルーティング・ルールの作成に関する項を参照してください。
Oracle Enterprise Service Bus 10gでは、非同期ルーティング・サービスはサポートされていませんでした。Oracle Enterprise Service BusによってOracle BPEL Process Managerの非同期プロセスが呼び出されると、OneWayサービスが作成されていました。
このようなOneWayサービスを使用するプロジェクトを作成した場合は、Oracle JDeveloper 11gでアプリケーションを開いてアップグレードした後、古いルーティング・サービスを削除して、OneWayを起動するかわりにOracle Mediator 11g非同期ルーティングを使用するルーティング・サービスを再作成できます。
Oracle Enterprise Service Bus 10gでは、SOAP、JCA、JMS、AQアダプタなどのアダプタの標準およびカスタム・ヘッダー・プロパティで、メッセージ・ヘッダーのフィルタリングまたは設定がサポートされます。Oracle Enterprise Service Busでのフィルタリングは、ルーティング・ルールの<filterExpression>
タグの一部として実行されます。
フィルタ式の多くは自動的にアップグレードされますが、複雑なフィルタの場合、アップグレードは部分的になる可能性があります。
Oracle JDeveloper 11gでOracle Enterprise Service Busプロジェクトを開くと、各ルーティング・ルールがケースにアップグレードされ、フィルタ式が条件に変換されます。これらの変更は、ルーティング・サービスのmplan
ファイルで確認できます。
たとえば、次のコード・スニペットは、Oracle Enterprise Service Bus 10gルーティング・ルールのフィルタ式を示しています。
<filterExpression>{ehdr:getRequestHeader ('/fhdr:InboundFileHeaderType/fhdr:fileName') = 'Mobile.xml'};{ namespace fhdr=http://xmlns.oracle.com/pcbpel/adapter/file/ namespace ehdr=http://www.oracle.com/XSL/Transform/java /oracle.tip.esb.server.headers.ESBHeaderFunctions } </filterExpression>
アップグレード中に、この例はmplanファイル内のケースの対応する条件に変換されます。
<condition language="xpath" xmlns:ehdr="http://www.oracle.com/XSL /Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions" xmlns:fhdr="http://xmlns.oracle.com/pcbpel/adapter/file/"> <expression>$in.property.jca.file.FileName ='Mobile.xml'</expression> </condition>
メッセージ・ヘッダーの設定は、変換ファイルの一部として実行され、assign文にアップグレードされます。
次のコード・スニペットは、Oracle Enterprise Service Bus 10gのメッセージ・ヘッダー設定の例を示しています。
<xsl:variable name="inputCountry" select="/imp1:CustomerData/Country"/> <select="ehdr:setOutboundHeader ('/jhdr:JMSOutboundHeadersAndProperties /jhdr:JMSOutboundProperties/jhdr:Property[position()=1]/@value',$inputCountry, 'jhdr=http://xmlns.oracle.com/pcbpel/adapter/jms/;')"/>
アップグレード中に、この例は、次のように11gの対応するassign要素に変換されます。
<assign> <copy expression="$in.CustomerData/CustomerData/Country" target="$out.CustomerData/jhdr:JMSOutboundHeadersAndProperties /jhdr:JMSOutboundProperties/jhdr:Property[position()=1]/@value"/> </assign>
フィルタおよびXSLが正常にアップグレードされたかどうかを検証する必要があります。ほとんどの標準ヘッダー・プロパティは、対応する11gヘッダーにアップグレードされます。カスタマイズされたヘッダーは、ベスト・エフォート方式でアップグレードされますが、カスタマイズされたヘッダーのすべてのバリエーションをアップグレードすることはできません。このため、カスタマイズされたヘッダーは、対応する条件またはassign要素と対応するmplan
アーチファクトに手動でアップグレードする必要があります。
次に示すESBヘッダー関数は、10gでは使用可能ですが、11gではサポートされていないため推奨されません。
ehdr:getRequestHeader
ehdr:setRequestHeader
ehdr
ヘッダーを含むフィルタ式は自動的に移行されます。ただし、カスタマイズされたフィルタがすべて自動的に移行できるとは限りません。
10gで使用可能であったsetHeader
関数は、11gではサポートされていません。
XSLでは、非推奨関数が条件要素(if
、for
など)に該当しない場合は、メディエータ割当てに移行されるため、同様の動作が実現されます。この場合、XSLの内容は削除され、メディエータ割当てに移行されます。つまり、.xsl
ファイルから.mplan
ファイルに移行されます。これは、認識済ヘッダーに適用されます。
XSLでは、非推奨関数が条件要素(if
、for
など)に該当しない場合、認識済ヘッダーは11gプロパティに移行されます。ただし、正常に移行される保証はありません。この場合、.xsl
ファイルで移行が実行され、.mplan
ファイルへの内容の移動は行われません。そのため、XSLファイルの条件がまだ移行されていない場合は、これを手動で移行する必要があります。例:
10gでは、次のようになります。
<xsl:if test="$INFILENAME!=''"> <xsl:variable name="OUTFILENAME" select="ehdr:setOutboundHeader('/fhdr:OutboundFileHeaderType/fhdr:fileName', 'sample.xml', 'fhdr=http://xmlns.oracle.com/pcbpel/adapter/file/;')"/> </xsl:if>
11gでは、次のようになります。
<xsl:if test="$INFILENAME!=''"> <xsl:variable name="OUTFILENAME" select="mhdr:setProperty('out.property.jca.file.FileName', 'sample.xml')"/> </xsl:if>
条件要素に該当する非推奨関数をアップグレードすると、次の警告がアップグレード・ログに表示されます。
"WARNING: UPGMED-02060: Encountered XSL conditional element like xsl:if or xsl:for-each. All ehdr functions may not be migrated properly from the XSL. Manually check the XSL PSFTProduct_To_SFOStoreProduct.xsl and modify accordingly"
詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のOracle Mediatorの概要に関する項を参照してください。
Oracle Enterprise Service Bus 10gプロジェクトをOracle SOA Suite 11gにアップグレードする際に問題が発生するのを回避するには、ESBサーバー上のサービスが、現在ESB Oracle JDeveloperプロジェクト内にあるサービスと同期されていることを確認します。
このタスクを実行する手順は、次のとおりです。
Oracle JDeveloper 10gの「設計」タブの上部にある「ESBサーバーと同期」アイコンをクリックします。
「ESBサーバーとの同期の確認」ダイアログの「はい」をクリックします。
詳細は、Oracle Technology Network(OTN)のOracle Application Server 10g リリース3(10.1.3.1.0)で提供されている『Oracle Enterprise Service Bus開発者ガイド』のESBサーバーとのサービスの同期に関する項を参照してください。
http://www.oracle.com/technology/documentation/middleware.html
次の各項では、Technology AdaptersをOracle Fusion Middleware 11gにアップグレードする際に必要となる可能性のあるアップグレード・タスクについて説明します。
Oracle SOA Suite 10gのプロジェクトをOracle SOA Suite 11gにアップグレードした後、アダプタ構成ウィザードを使用して、テクノロジ・アダプタのアップグレードを確認することをお薦めします。これにより、11gのすべての必須フィールドに値が指定されていること、および新しいOracle Fusion Middleware 11g環境へのアダプタの接続が有効であることを確認できます。
詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』でご使用のアダプタに関する説明を参照してください。
アダプタ・ヘッダーを使用するアプリケーションをアップグレードした後、Oracle JDeveloper 11gでアプリケーションを開くとエラーが表示されることが多くあります。このエラーは、ヘッダー関数の解析中に変数またはパラメータが認識されなかったことを示しています。
これは、Oracle Fusion Middleware 11gでアダプタ・ヘッダー変数の定義方法が変更されたためです。
Oracle Application Server 10g リリース3(10.1.3)では、次のような名前、または方向および使用しているアダプタ・タイプに応じた同様な名前のwsdl
ファイルで、アダプタ・ヘッダー変数を作成します。
fileAdapterOutboundHeader.wsdl
Oracle Fusion Middleware 11gでは、アダプタ・ヘッダー変数は、Oracle JDeveloperの「起動」ダイアログ・ボックスの「プロパティ」タブで設定するプロパティです。
たとえば、JCA Adapter for Files/FTPに対して設定できるプロパティについては、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のインバウンド・ヘッダーに関する項で説明されています。
Oracle JDeveloper 11gでプロジェクトを開いた後、Oracle Application Server 10g用に作成したwsdlヘッダー・ファイルはプロジェクトに添付されなくなります。wsdlファイル内の各変数を、ヘッダー変数を使用する各アダプタ・タイプのプロパティとして定義する必要があります。
詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』の各アダプタ・タイプに関する章を参照してください。
Oracle Application Server 10gでは、JCAファイル内の非管理接続を使用して開発リソースを指すことができます。たとえば、JCAファイル内のnon-managed-connection
要素を使用して、データソース定義を指定できます。
Oracle Application Server 10gでは、非管理接続の使用は開発専用に予約されていました。Oracle Fusion Middleware 11gでは、非管理接続はサポートされていません。
Oracle Application Server 10gのプロジェクトをOracle Fusion Middleware 11gにアップグレードする前に、datasources.xmlまたはoc4j-ra.xmlファイルで適切に定義されている接続へのJNDI参照のみを含むJCAファイルをすでに使用していることが理想的です。
アダプタ接続のために非管理接続を使用するアプリケーションをアップグレードする場合は、アップグレード後に、Oracle WebLogic Server管理コンソールなど、サポートされている管理ツールを使用して定義された適切な接続を使用するようにプロジェクトを変更する必要があります。
アダプタ構成ウィザードを使用して10g リリース3(10.1.3)テクノロジ・アダプタを作成し、ウィザードの「説明」フィールドにアダプタの説明を入力した場合、Oracle JDeveloper 11gでプロジェクトを開いて移行すると、その説明は失われます。
これは、アップグレード中にdocumentation
要素がWSDLファイルから削除されるためです。
アダプタが重要な場合は、プロジェクトのアップグレード後に、Oracle JDeveloper 11gのアダプタ構成ウィザードを使用して説明を追加できます。
Oracle SOA Suite 10gでMQSeriesアダプタのインバウンド同期リクエスト/リプライ・ユースケースを使用していた場合、メッセージ・タイプが1つ(REQUEST)のみであることに気付きます。
Oracle SOA Suite 11gでは、MQアダプタはREQUESTとNORMALの2つのメッセージ・タイプをサポートします。REQEUST MQメッセージ・タイプでは、ヘッダーに常にreplyToQueue
が設定されるため、FallbackQueueName
とFallbackQueueManagerName
は必要ありません。これに対し、NORMALメッセージには、FallbackQueueName
とFallbackQueueManagerName
が設定される場合とされない場合があります。
このため、10gのインバウンド同期リクエスト/リプライ・シナリオを11gにアップグレードした場合、メッセージ・タイプはREQUESTタイプのままです。したがって、FallbackQueueName
とFallbackQueueManagerName
は、そのプロパティが.jca
ファイルには存在しますが、実行時には必要ありません。これらのプロパティを使用する場合は、メッセージ・タイプをNORMALに設定する必要があります。
インバウンド同期リクエスト/リプライ・ユースケースの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のOracle MQ Seriesアダプタのユースケースに関する項を参照してください。
10g リリース3(10.1.3)のドキュメント化されたユースケースであるMQSeriesアダプタのアウトバウンド・デキュー・ユースケースを使用していた場合、これらのタイプのプロジェクトはOracle JDeveloper 11gにアップグレードできないことに注意してください。
このため、Oracle JDeveloper 11gへのアップグレード後に再作成する必要があります。プロジェクトの再作成中に、UITransmissionPrimitive
の値をSynchronousDequeue
に設定する必要があります。
詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のアウトバウンド・デキュー・シナリオに関する項を参照してください。
Oracle Application Server Adapter for Advanced Queuing(AQアダプタ)を使用するアプリケーションをアップグレードしている場合、Oracle Fusion Middleware 11gでは、AQアダプタ・ヘッダーへのアクセス方法が異なることに注意してください。
具体的には、Oracle SOA Suite 11gにアップグレードした後、AQアダプタ・ヘッダーに対して次のアップグレード後のステップを実行する必要があります。この手順は、Oracle MediatorにアップグレードされるOracle BPEL Process ManagerプロジェクトとOracle Enterprise Service Busプロジェクトの両方に対して必要です。
Oracle Mediatorへのアップグレード後、Oracle Mediatorファイルの.mplan
ファイルで、インバウンドからアウトバウンドにjca.aq.HeaderDocument値を割り当てます。
Oracle BPEL Process Manager 11gへのアップグレード後、次の手順を実行します。
文字列タイプの新しい変数vInboundHeadersを定義します。
例:
<variable name="vInboundHeaders" type="xsd:string"/>
receiveアクティビティで、jca.aq.HeaderDocument
プロパティが前述の変数に書き込まれていることを確認します。
例:
<bpelx:property name="jca.aq.HeaderDocument" variable="vInboundHeaders"/>
起動時に、vInboundHeaders値がjca.aq.HeaderDocument
プロパティにコピーされることを確認します。
<invoke name="Invoke_1" inputVariable="Invoke_1_Enqueue_InputVariable" partnerLink="EnqueueClobPayload" portType="ns2:Enqueue_ptt" operation="Enqueue"> <bpelx:inputProperty name="jca.aq.HeaderDocument" variable="vInboundHeaders"/> </invoke>
AQアダプタを使用していない場合は、次の手順を使用するため、jca.aq.HeaderDocument
プロパティの値は取得されません。このシナリオでは、プロパティを手動で移入する必要があります。
このシナリオには2つのステップがあります。Oracle Enterprise Service BusをOracle Mediator 11gにアップグレードした後に最初のステップを実行し、Oracle BPEL Process Manager 11gにアップグレードした後に2番目のステップを実行します。
これらの例は、アダプタ・ヘッダーからOracle B2Bを起動する方法を示しています。
Oracle Mediatorへのアップグレード後に実行するステップの例
Oracle Mediatorへのアップグレード後、Oracle Mediatorファイルの.mplan
ファイルで、インバウンドからアウトバウンドにjca.aq.HeaderDocument
値を割り当てます。
例:
<copy target="$out.property.jca.aq.HeaderDocument" expression="'<?xml version = "1.0" standalone= "yes"?><tns:Header xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/aq/outbound/"> <tns:PayloadHeader><MSG_ID>< /MSG_ID><INREPLYTO_MSG_ID>< /INREPLYTO_MSG_ID><FROM_PARTY>GlobalChips< /FROM_PARTY><TOPARTY>Acme< /TO_PARTY><ACTION_NAME></ACTION_NAME><DOCTYPE_NAME>ORDERS< /DOCTYPE_NAME><DOCTYPE_REVISION>D98A< /DOCTYPE_REVISION><MSG_TYPE>1< /MSG_TYPE><PAYLOAD>< /PAYLOAD></tns:PayloadHeader></tns:Header>'"/>
Oracle BPEL Process Managerへのアップグレード後に実行するステップの例
Oracle BPEL Process Manager 11gへのアップグレード後、次の手順を実行します。
string
タイプの新しい変数headerVariableを定義します。
例:
<variable name="headerVariable" type="xsd:string"/>
例14-1にあるようなassignブロックを作成します。
起動時に、headerVariable値がjca.aq.HeaderDocument
プロパティにコピーされることを確認します。
<invoke name="Send_PO" partnerLink="X12_4010_850_ENQ_Service" portType="ns2:Enqueue_ptt" operation="Enqueue" inputVariable="Send_PO_Enqueue_InputVariable"> <bpelx:inputProperty name="jca.aq.HeaderDocument" variable="headerVariable"/> </invoke>
例14-1 アダプタ・ヘッダーをアップグレードする際のAssignブロック
<assign name="assign header"> <copy> <from expression="'<?xml version = "1.0"standalone = "yes"?><tns:Header xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/aq/Inbound/"> <tns:PayloadHeader><MSG_ID>12345< /MSG_ID><INREPLYTO_MSG_ID>54321< /INREPLYTO_MSG_ID><FROM_PARTY>Acme< /FROM_PARTY><TO_PARTY>GlobalChips< /TO_PARTY><ACTION_NAME>contentType:application/octet-stream; filename:abc.xml< /ACTION_NAME><DOCTYPE_NAME>850< /DOCTYPE_NAME><DOCTYPE_REVISION>4010< /DOCTYPE_REVISION><MSG_TYPE>1</MSG_TYPE><PAYLOAD>< /PAYLOAD></tns:PayloadHeader></tns:Header>'"/> <to variable="headerVariable"/> </copy> </assign>
第14.2.7項「AQアダプタ・ヘッダーのアップグレード」では、アプリケーションがペイロード・ヘッダーにアクセスする必要がある場合にOracle Fusion Middleware 11gで必要なjca.aq.HeaderDocument
プロパティの使用方法を説明しています。ペイロード・ヘッダー機能にアクセスするすべてのOracle Application Server 10g BPELプロセスおよびESBプロセスに対して、この項で説明した手順を実行する必要があります。
第14.2.7項に記載されている情報以外に、<Header>
要素および<PayloadHeader>
要素のターゲット・ネームスペースにより、Oracle Fusion Middleware11g リリース1(11.1.1.3.0)が変更されました。そのため、ペイロード・ヘッダーにアクセスし、Oracle SOA Suite 10gを使用して設計されたBPELプロセスおよびESBプロセスの場合、アダプタ・ウィザードを使用してサービスおよび参照アーチファクトを再生成する必要があります。これは、Oracle Application Server 10gではパートナ・リンクとも呼ばれます。
<Header>
要素の定義に正しいターゲット・ネームスペースが使用されるように、アーチファクトを再生成する必要があります。ペイロード・ヘッダーにアクセスするには、第14.2.7項に記載されているステップ以外にこのステップを実行する必要があります。
さらに、<Header>
要素を使用するAssignおよびTransformationsも変更する必要があります。このステップを実行しないと、設計時と実行時にネームスペースが一致しないため、XPathエラーおよびメッセージ・エンキュー・エラーが発生します。
Oracle Fusion Middleware 11gでは、Oracle BPEL Process ManagerプロジェクトのAQアウトバウンド・リクエスト/リプライ・シナリオの作成に使用する手順が変更されています。
このため、このシナリオを使用するOracle SOA Suite 10gアプリケーションをアップグレードする場合、アップグレード中に作成されるWSDLファイルには必要なバインディング情報が含まれていません。
この問題を解決するために、Oracle JDeveloper 11gでアプリケーションを開いてアップグレードした後に次の手順を実行します。
アップグレードによって作成されたWSDLファイルに、次のようにJCAエントリを追加します。
<?binding.jca CombinedRequestReply_aq.jca?> <wsdl:definitions name="CombinedRequestReply" ... > . . . </wsdl:definitions>
composite.xml
ファイルにバインディング・エントリを追加します。
<reference ui:wsdlLocation="CombinedRequestReply.wsdl" name="CombineRequestReply"> <interface.wsdl interface="http://xmlns.oracle.com/pcbpel /adapter/aq/EnqueueRequest/#wsdl.interface(Enqueue_ptt)" callbackInterface="http://xmlns.oracle.com/pcbpel /adapter/aq/DequeueReply/#wsdl.interface(Dequeue_ptt)" xmlns:ns="http://xmlns.oracle.com/sca/1.0"/> <binding.jca config="CombinedRequestReply_aq.jca"/> </reference>
.bpel
ファイルから、使用されないWSDL参照をすべて削除します。
第9.2項「Oracle SOA Suiteアプリケーションに対するOracle JDeveloper 11g移行ウィザードの使用」の説明に従って、11gにアップグレードする前に、Oracle SOA Suite環境に最新のパッチ・セットを適用し、最新の10g リリース3 (10.1.3) Oracle JDeveloperを使用することをお薦めします。
ただし、10g リリース3(10.1.3.3)以前のリリースからアップグレードしている場合は、ストアド・プロシージャ用のデータベース・アダプタを使用する際に次のことに注意してください。
Oracle SOA Suite 10g リリース3(10.1.3.3)以前では、アダプタのXSDジェネレータにより、非修飾要素を含むXSDが生成されます。非修飾要素は、XSDファイルのInputParameters
ルート要素を確認することによって識別できます。非修飾要素は、次のように表示されます。
<db:InputParameters ... ></db:InputParameters>
db:
ネームスペースは、スキーマの定義で指定され、ターゲット・ネームスペースと同じです。
10g リリース3(10.1.3.4)以降では、XSDジェネレータによって修飾要素が生成されます。これは、次のようにInputParameters
ルート要素に表示されます。
<InputParameters ..></InputParameters>
db:
ネームスペースが削除されていることに注意してください。
Oracle SOA Suiteバージョンと互換性のないOracle JDeveloper 10g リリース3(10.1.3)のバージョンを使用している場合は、要素が削除されるシナリオに遭遇する可能性もあります。
<null>(some value)</null>
この解決策は、次のとおりです。
最初に、Oracle SOA Suite環境のバージョンと一致しているOracle JDeveloperバージョンを使用していることを確認します。
次に、Oracle JDeveloperとOracle SOA Suite10g リリース3(10.1.3.4)、またはOracle SOA SuiteとOracle JDeveloper 11gにアップグレードした後、XSDを再生成します。
XSDをアップグレードして再生成した後、関連する割当てアクティビティとxPath式を適切に変更する必要があります。
コマンドラインを使用してデータベース・アダプタ10gプロジェクトをアップグレードすると、アップグレード・プラグインはアップグレード後、DBAdapterOutboundHeader.wsdl
からDBAdapterOutboundHeader.wsdl.orig
に変更されます。手動でDBAdapterOutboundHeader.wsdl.orig
をDBAdapterOutboundHeader.wsdl
に名前変更する必要があります。
DBAdapterOutboundHeader.wsdl.orig
ファイルは、composite.xml
ファイルが置かれたディレクトリにあります。
注意: このタスクは、JDeveloperを使用してデータベース・アダプタをアップグレードする場合には不要です。 |
ヒューマン・ワークフロー・タスクを使用するOracle SOA Suiteアプリケーションをアップグレードしている場合は、次のアップグレード・タスクについて考慮する必要があります。
ヒューマン・タスクのタスク詳細を含むOracle SOA Suite 10gアプリケーションをアップグレードしている場合は、次のことに注意してください。
Oracle SOA Suite 10g リリース3(10.1.3)では、タスク詳細は同じコンポジット・プロジェクト内で生成され、コンポジットのデプロイ中にデプロイされていました。
Oracle SOA Suite 11gでは、タスク詳細は、個別にデプロイする必要のある個別のプロジェクトとして生成されます。
このため、Oracle Human Workflowのアップグレード中に、Oracle JDeveloper 11gで自動的にタスク詳細UI用の新しいプロジェクトが作成され、タスク詳細ページがアップグレードされます。関連するコンポジット・アプリケーションをデプロイした後、このプロジェクトを個別にデプロイする必要があります。
共通のヒューマン・ワークフロー・タスクを共有する複数のOracle JDeveloperプロジェクトを含むアプリケーションをアップグレードしている場合、Oracle JDeveloper 11gでアップグレードされたアプリケーションを慎重に確認してください。
アップグレード中に複数のプロジェクトが共通ディレクトリに移動するため、2つのプロジェクトのワークフロー・タスクで同じ名前が使用されている場合には、最初のプロジェクトに関連付けられているデータによって2番目のプロジェクトのデータが上書きされる可能性があります。
Oracle JDeveloperで、Oracle SOA Suite 10gプロジェクトを11gに移行するようプロンプトが表示された際は必ず、SOAプロジェクトとは異なるディレクトリにアプリケーションを作成してください。アプリケーションおよびSOAプロジェクトが同じディレクトリ内にあり、コンポジットをデプロイする場合、コンポジット内の再生成されたタスク・フローはOracle BPMワークリストに正常に表示されません。
正常なデプロイメントを確実に実行するには、次の手順を実行します。
Oracle JDeveloper 11gで、Oracle SOA Suite 10gプロジェクトを開きます。
「プロジェクトを収容するアプリケーションの作成」ダイアログが表示されます。
SOAプロジェクトが置かれたディレクトリとは異なるディレクトリをアプリケーションに対して指定し、「OK」をクリックします。移行ウィザードが表示されます。
10gプロジェクトが11g形式に移行されます。
タスク・フローを再生成します。
新たに生成されたタスク・フローを使用してSOAコンポジット・アプリケーションをデプロイします。正常にデプロイされたことを確認します。
Oracle Enterprise Managerで、SOAコンポジット・アプリケーションのインスタンスを起動します。
Oracle BPM Worklistにログインします。
タスクの詳細を表示するタスクをクリックすると、これが正しく表示されます。手順2で、アプリケーションとSOAプロジェクトに同じディレクトリを指定した場合は、次の例外が表示される場合があることに注意してください。
OracleJSP error: java.io.FileNotFoundException:
Oracle JDeveloper 11gを使用してヒューマン・ワークフロー・タスクによりアプリケーションをアップグレードした後に、タスク・ファイルを編集するタスク・エディタを使用すると、Oracle JDeveloperでは、新しいペイロードXSDファイルが自動的に生成されます。
ただし、既存のWorkflowTask XSDファイルには、10gバージョンのアプリケーションで使用されるペイロードXSDファイルへの参照が含まれます。
この問題を修正するには、WorkflowTask XSDファイルが新しいペイロードXSDファイルを参照するように編集します。
例:
次のエントリを変更します。
<include schemaLocation="***_payload.xsd" xmlns=""/>
これを次のように変更します。
<include schemaLocation="***Payload.xsd" xmlns=""/>
次のエントリを変更します。
<element name="payload" type="tns:payloadType" minOccurs="0"maxOccurs="1"/>
これを次のように変更します。
<element name="payload" type="tns:***PayloadType" minOccurs="0"maxOccurs="1"/>
これらの例では、アスタリスクをペイロードXSDファイルに定義されている適切な名前とタイプに置き換えます。
Oracle Business Rulesを使用するプロジェクトをアップグレードする際には、次のドキュメント・リソースを参照してください。
Oracle SOA Suiteアプリケーションの11gへのアップグレード中に、Oracle SOA Suite 10g環境がまだ稼働している場合は、最初にOracle SOA Suite環境に依存するクライアント・アプリケーションを確認、アップグレードおよびテストしてください。
次のリストを使用して、アップグレード後の新しい11g Oracle SOA Suite環境でクライアント・アプリケーションが動作するために必要な更新を分析してください。
クライアント・アプリケーションで、使用中のリモートOracle SOA Suite APIを確認します。
詳細は、第9.4.1項「Oracle Fusion Middleware 11gにおけるOracle SOA Suite APIの変更について」を参照してください。
クライアント・アプリケーションで、Oracle SOA Suite HTTP URLへの参照を検索します。Oracle SOA Suite 11g HTTP URLの構文は、10gから変更されています。
デプロイしたOracle SOA Suite 11gアプリケーションにアクセスするためにクライアントが使用できる新しいURLを取得するには、Oracle Enterprise Manager Fusion Middleware Controlのアプリケーション・デプロイメントのホーム・ページを使用します。詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドのSOAコンポジット・アプリケーションの監視に関する項を参照してください。
JMSキューやデータソースなど、クライアント・アプリケーションのメッセージ・ターゲットへの参照を確認します。これらのリソースへの参照は、アップグレード後のOracle SOA Suite 11g環境を指すように更新する必要があります。
クライアント・アプリケーションがOracle Service Bus(OSB)を使用して、最適化された転送によってOracle BPEL Process Managerプロセスを起動している場合は、SOAP/HTMLを使用してOracle BPEL Process Managerプロセスを起動するようにクライアント・アプリケーションを変更する必要があります。
詳細は、Oracle Technology Network (OTN)で提供されているOracle Service Bus 10g リリース3 (10.3)のドキュメントを参照してください。
http://www.oracle.com/technology/documentation/bea.html