2

実際、Webmethods で 2 つのプロセス間で通信を行う方法を知りたいです。

例 ->

SAG Designer には 2 つのプロセスがあります。

ここに画像の説明を入力

ここに私の最初のプロセスがあります:

ここに画像の説明を入力

ここに私の2番目のプロセスがあります:

ここに画像の説明を入力

それらは同時に実行されており、「StepTwo」の情報を取得したいと考えています。

ここに画像の説明を入力

私はメッセージを送受信しているのではなく、別のプロセスでパイプラインを取得できるようにしたいだけです。

詳細が必要な場合、または十分に明確でない場合は、お知らせください。

ありがとうございました。

4

3 に答える 3

3

一般に、WmMonitor パッケージのサービスを使用できます。そこには、サービス「pub.monitor.process.instanceSteps:getStepPipeline」などを使用して、プロセスおよびステップ パイプラインへのアクセスを提供するパブリック サービスがあります。もちろん、この特定のステップのパイプライン ロギングを有効にする必要があります。

しかし、あなたがやろうとしていることは役に立たないと思います。プロセスが別のプロセスのパイプラインにアクセスする必要があるのはなぜですか? ユースケースの詳細を知らなくても、次のいずれかを行う必要があると思います。

  1. プロセス間でメッセージを送受信する、または
  2. プロセス P1 と P2 の間に親子関係がある、または
  3. プロセス P1 は、一意のビジネス ID に基づいて、P2 が情報を取得するデータベースまたはその他の永続的なストレージにビジネス関連データを保存する必要があります。

別のプロセスのパイプラインを直接操作することはお勧めしません。一部の技術要件ではなく、ビジネス要件に基づいてプロセスをモデル化します。それがBPMの目的です。

于 2015-12-21T09:11:45.120 に答える
1

私は SoftwareAG の BPM ツールを使用したことはありませんが、webMethods については多くの経験があります。直感的に、私はそれが可能だとは思わない。

ただし、考えられる回避策は次のとおりです。

  1. プロセス 1 では、パイプライン情報を XML 文字列としてシリアル化し、それをデータベースに保存します。

  2. プロセス 2 では、データベースから情報を取得し、XML 文字列をパイプライン ドキュメントに逆シリアル化します。

残念ながら、あなたの質問には、より詳細な回答を得るのに十分な情報がありません。

それが役に立てば幸い!

于 2015-12-14T15:43:05.593 に答える
0

P1 のパイプライン データを保存し、これを P2 で使用して、組み込みサービスpub.flow:savePipelineおよびpub.flow:restorePipelineを利用できるようにすることで、これを行うことができると思います。

途中で IS を再起動すると、パイプライン データが失われることに注意してください。それでも再起動する場合は、パイプライン データをファイルに保存し、再起動後にそのファイルを使用します。

以下のサービスを参照してください:- pub.flow:savePipelineToFile および pub.flow:restorePipelineFromFile

于 2016-01-21T11:29:01.377 に答える