2017-06-11 6 views
1

私は、メッセージの受信によって開始できるプロセスをモデリングしたい(これはREST呼び出しを介して行われる)。プロセスは、ユーザーに割り当てられたタスクにつながります。ユーザーはいくつかの追加情報を提供し、プロセスは終了します。Camunda:キャンセル可能なタスクをモデル化する方法は?

ただし、最初の情報を受け取った後で追加情報を受け取った場合もモデル化したいと考えています。この余分な情報をREST経由で受け取ると、プロセスが終了するはずです。

この全体的なモデルは、情報の流れを監視し、問題を検出した場合には、誰かが調査するためのタスクを作成するコンピュータシステムを表します。しかし、さらなる情報が利用可能になった場合、タスクは終了したはずです。

これをBPMNとCamundaでモデリングする最良の方法は何ですか?

What I have at the moment: 

(MSE) --> (UT) -->(TEE) 
      (RT) --> (TEE) 


Where: 

MSE = Message Send Event 
UT = User Task 
TEE = Termination End Event 
RT = Receive Task 

curlを使用して開始メッセージを表すメッセージを投稿するプロセスを正常に開始/追加できます。これによりプロセスが追加され、タスクはユーザーに割り当てられます。

しかし、私はプロセスと相関する受信タスクを得ることができないようですが、それはちょうど新しいプロセスを追加するようです。受信タスクが表すはずの取り消しメッセージは、古いプロセスではなく、存在する特定のプロセスを特に取り消すべきです。

+1

あなたはこれまでに何を試しましたか? – Zelldon

+0

申し訳ありませんが、私は投稿したときに正確な詳細を持っていなかった、私は今それらを投稿しました。 – John

答えて

3

これをモデル化する方法はいくつかあります。

境界メッセージ受信割り込みイベントを使用することができ、追加情報が受信された場合、境界タスクによってユーザータスクがキャンセルされます。

enter image description here

別のアプローチは、中断イベントサブプロセスを用いることであろう。 追加情報を含むメッセージを受信した場合、イベントサブプロセスがトリガされ、プロセスがキャンセルされます。

enter image description here

また、並列ゲートウェイを使用することができ、終了イベントを終了します。 しかし、上記の方法の1つをお勧めします。

+0

ありがとう、それは非常に有用です。私はBPMNの新機能であり、これを単にCamundaに外部処理システムを統合する方法の概念の証明として実装しています。あなたが強調した2つの方法のうち、システムをモデリングするための好ましい/ベストプラクティスな方法がありますか?もしそうなら、それはなぜですか? – John

+0

詳細については、camundaの例とベストプラクティスのガイドを参照してください。https://camunda.org/bpmn/examples/そしてなぜそれが尋ねられますか?ローマにつながる多くの道路が古いことが分かりますか?これは同じです。いくつかのスイートはあなたのニーズに応じて他のスイートよりも優れています。あなたのプロセスは非常にシンプルなので、あなたが望む方法を選ぶことができます。 – Zelldon

+0

パーフェクト、ありがとう。 – John

関連する問題