複数のビジネスコンポーネント(顧客アプリケーション、ネットワーク、支払いなど)間の要求を仲介する大規模なミドルウェアインフラストラクチャがあるとします。ミドルウェアスタックは、オーケストレーション、ルーティング、変換、およびその他のものを担当します(GregorHohpeによるEnterpriseIntegration Patternsの本と同様)。
私の質問は、ミドルウェアにビジネスロジックを配置するのは良い設計ですか?
私のアプリAがミドルウェアからいくつかの顧客データを要求するとします。ただし、このデータを取得するには、顧客IDとその他のパラメーターを指定する必要があります。このパラメーターのフェッチは、要求元のアプリが行う必要がありますか、それともミドルウェアが顧客IDを受け取り、他のパラメーターを内部的にフェッチするインターフェースを「促進」して提供する責任がありますか?
これは(ビジネスロジックの定義のために)単純な質問ではないことは理解していますが、それが一般的なアプローチなのか、それともいくつかのガイドラインなのか疑問に思いました。