いくつかのビジネスコンポーネント(顧客アプリケーション、ネットワーク、支払いなど)間で要求を仲介する大規模なミドルウェアインフラストラクチャがあるとしましょう。ミドルウェアスタックは、オーケストレーション、ルーティング、変換などを担当しています(Gregor Hohpeのエンタープライズインテグレーションパターンブックに似ています)。ミドルウェアアプリケーションはビジネスロジックを実行する必要がありますか?
私の質問は:ビジネスロジックをミドルウェアに載せることは良い設計ですか?
私のアプリAがミドルウェアから顧客データを要求しているとします。しかし、このデータを取得するには、カスタマーIDと他のパラメータを提供する必要があります。このパラメータを取得するには、リクエストしているアプリによって行われるか、「促進する」ためのミドルウェアであり、の顧客IDを受け取り、の他のパラメータを内部的にフェッチするインターフェイスを提供していますか?
私はこれが(ビジネスロジックの定義のために)単純な質問ではないことを認識していますが、それが一般的なアプローチかいくつかのガイドラインかどうかは疑問でした。
難しい部分は説明責任です。誰が責任を負うべきか。私はこれが文化的な問題であると信じています。 私の質問は純粋に仮説的なものでした。私がいるプロジェクトはすでにほぼ完成しており、素晴らしいミドルウェア製品を使用しています。 –
難しい部分は「ガバナンス」と呼ばれ、アカウンタビリティと変更管理と技術標準が含まれます。それは「文化的」ではなく、それよりも大きく、通常はとても難しいです。 –