この質問は簡単ではありません。ですので、なるべくわかりやすくお願いしたいと思います。Enterprise SOA Suite 10G システムがすでに稼働しています。小さなプロセスですが、このように説明します。
コンシューマー -> ESB -> BPEL -> ESB -> プロバイダー Web サービス
コンシューマーが ESB プロセスの 1 つを呼び出し、BPEL がリクエストを BPEL に転送し、BPEL が別の ESB を再度呼び出します。この最後の ESB は、プロバイダーが提供する外部 WebService を呼び出します。
今、それをさらに明確にするために。
コンシューマ C1--WSDLExt1-->ESB1-->WSDLInt1-->BPEL--WSDLInt1-->ESB2--WSDLExt2-->プロバイダ Web サービス
- これを説明すると、Consumer は C1 で、最初の ESB は ESB1 です。それらの間で使用される WSDL は WSDLExt1 です。
- ESB1 は、変換後にリクエストを BPEL に転送します。その後、BPEL は要求を ESB2 に転送します。ESB2 と BPEL は同じ WSDLInt1 を使用するため、BPEL での変換はありません。
- 次に、ESB2 は要求を変換し、プロバイダー Web サービスに送信します。ESB2 とプロバイダー Web サービスの間で使用される WSDL は WSDLExt2 です。
ここで質問です。奇妙な新しい要件により、WSDLExt2 に新しい操作を追加する必要があります。注: 新しい操作のみ。しかし、ここでひねりが来ます。1. 新しい操作のために、新しいメッセージを定義するとします。2. または、この新しい操作のために、WSDL 内の既存の (定義済みの) メッセージを引き続き使用します。
それぞれの状況で、WSDLInt1 を変更し、次に BPEL を変更する必要がありますか?
要するに、私の質問は、新しい操作の追加は、それを呼び出す以前のプロセスに影響を与えるかということです。これにより何らかの障害が発生しますか?