Web サービスを既存のアーキテクチャーに導入することによって Web アプリケーションを拡張する場合、またはその逆の場合に、開発者が考えられるアーキテクチャーはありますか? このコンテキストでの主な懸念事項は、データの整合性とセキュリティです。
次の図は、開発者が考えられる 2 つのアプローチを示しています。
このアーキテクチャは、すべてのリクエストが個々のサービス層によって処理される必要があることを示しています。したがって、サービス層のみがデータベースと通信し、Web アプリケーションとゲートウェイの両方の要求を満たすことができます。
2 番目のアプローチは、Web アプリケーションが DB と直接通信していることを示しています。たとえば、管理者ポータル。その間、DB と通信する外部 Web サービスも存在する可能性があります。このアプローチは、データ整合性違反のシナリオにつながる可能性があります。ただし、既存の Web アプリケーションをリファクタリングして開発者側から Web サービスを呼び出すよりも、外部 Web サービスを導入する方が簡単な場合があります。したがって、Web アプリケーションとゲートウェイの両方を単一の Web サービス レイヤーで処理する代わりに、外部 Web サービスと別の Web アプリケーションを使用することで、長期的な結果について妥協することはできます。これに関する合理的なコメントをいただければ幸いです。