質問

jBPMについて質問があります。私たちのプロジェクトの 1 つで、他のシステム (jBPM、Delphi など) がデータを受信するエンタープライズ サービス (.Net) を開発しました。このために、SOAP インターフェイスを提供しています。

jBPM システムがサービスに接続するときに、システムが必要とするデータを返す前に、いくつかの手動作業を実行する必要がある場合があります。この場合、SOAP サービスは「ManualWorkTicketId」を返します。この ID は、たとえば 1 分間隔で SOAP インターフェイスをポーリングするために使用できます。手動作業が完了すると、SOAP サービスは必要なデータを jBPM システムに返すことができます。エンタープライズ サービスはシステムについて何も認識せず、通信用の SOAP インターフェイスを提供するだけであるため、これは非同期部分を処理するための優れたソリューションであると考えられます。

しかし、jBPM 開発者は、これは良いアプローチではないと言いました。代わりに、ActiveMQ キューに情報を書き込むことを提案し、それを私が聞く必要があります。手動作業が完了したら、jBPM システムが提供した別のキューに書き戻す必要があり、そこでメッセージが jBPM プロセスによって消費されます。

  1. 質問:私は jbpm 開発者ではないので、jBPM 内で Web サービスのポーリング部分を処理する標準パターンがないのではないかと疑問に思っていました。
  2. 質問:このような場合、エンタープライズ サービスは疎結合である必要があることを念頭に置いて、どのアプローチを提案しますか?
役に立ちましたか?

解決

あなたがJMSキューを実装する場合は、

、その後、私はDelphiの開発者が文句を言うだろうと仮定します。 SOAPは、良い解決策です。

こののを見て、そしてそれを与えますjBPMの開発者。 (ところで、あなたはjBPMの3または4を使用していますか?)

完璧なタイミングが重要でない場合は、

、彼はX分ごとにSOAPサービスをポーリングし、その結果を見ることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top