jBPMについて質問があります。私たちのプロジェクトの1つで、他のシステム(jBPM、Delphiなど)がデータを受信するエンタープライズサービス(.Net)を開発しました。このために、私はSOAPインターフェースを提供しています。
ここで、jBPMシステムがサービスに接続するときに、システムに必要なデータを返す前に、手動で作業を行う必要がある場合があります。この場合、SOAPサービスは「ManualWorkTicketId」を返します。このIDを使用して、たとえば1分間隔でSOAPインターフェイスをポーリングできます。手動作業が完了するとすぐに、SOAPサービスは必要なデータをjBPMシステムに返すことができます。エンタープライズサービスはシステムを認識せず、通信用のSOAPインターフェイスを提供するだけなので、これは非同期部分を処理するための優れたソリューションであると考えています。
しかし、jBPM開発者は、これは良いアプローチではないと私に言いました。代わりに、彼はActiveMQキューに情報を書き込むことを提案しています。これは私が聞く必要があります。その後、手動作業が行われると、jBPMシステムから提供された別のキューに書き戻す必要があります。このキューで、メッセージはjBPMプロセスによって消費されます。
- 質問:私はjbpm開発者ではないので、jBPM内でWebサービスのポーリング部分を処理するための標準パターンがないかどうか疑問に思いました。
- 質問:エンタープライズサービスを緩く結合する必要があることを念頭に置いて、このような場合にどのアプローチを提案しますか?