短縮版:
複数のオブジェクトにまたがる複雑な操作の結果をどのように収集しますか?
長いバージョン:
あるシステムから別のシステムに顧客の注文をプッシュするデータ交換システムを開発しています。これは API を介して行われますが、残念ながら、注文が正常に転送されたと報告される前に、12 の個別のステップを順番に正常に完了する必要があります。
各ステップはコードの個々の単位に分割できますが、分割することもできますが、各ステップは順番に完了する必要があり、一部のステップは前のステップの結果に依存します。
この特定の問題に適した適切な設計パターンまたはパターンの組み合わせはありますか? 各ステップが前のステップに依存している場合、前のステップの結果を認識させる最善の方法は何ですか。
コンポジット/マクロ コマンドの設計、または OrderPush プロセスを有限ステート マシンとしてモデル化することを考えていましたが、よりシンプルに保ちたいと考えていました。
これはシステム設計に関する質問なので、API とは何か、またはどのように機能するかについて詳しく説明する必要はありません。正しい方向に向けられることを期待しているだけです。
このプロセスは、ローカル システムから関連データを読み取り、XMLRPC を介してリモート システムにプッシュすることです。
手順は次のとおりです。
- 顧客の作成
- 注文の作成 (ヘッダー レコード)
- 注文明細の作成
- 注文の確認 (これにより請求書が作成されます)
- 請求書を探す
- 請求書の確認
- 支払いの作成
- ジャーナル アイテムの検索 (ジャーナル アイテムは請求書に関連付けられているため、支払明細行を請求書に関連付けることができます)
- 支払ラインの作成
- お支払いの確認
各ステップは、成功または失敗する単一の XMLRPC 呼び出しです。そして、これがその核心です。顧客の作成に失敗した場合、他の手順はどれも機能しません。同様に、注文の作成に失敗した場合、他のステップが失敗するか、または結合できなくなります (つまり、前のステップが失敗した場合は、明らかに実行を停止する必要があります)。
それで、誰かが何かヒントを得ましたか?