初めての SOA Web ベース アプリケーションの開発に取り組んでいます。私は SOA にまったく慣れていませんが、特にサービスが別のサービスと対話する方法について、サービス設計の最良の設計原則について頭を悩ませようとしています。
私が理解しようとしている現在の問題は、認証と承認に関係しています。単純なユーザー サービスとイベント サービスがあり、イベント サービスがカレンダーのイベントを表すとします。イベント サービスでユーザー サービスを呼び出して要求を承認するのは一般的な方法ですか? または、クライアントと要求されたサービスの間に存在するシステムにユーザー認証を実装する方が良い方法でしょうか? 基本的に別のサービスであるシステムは、ユーザー資格情報をチェックして、要求されたアクション (GET events/1 など) にアクセスできることを確認し、アクセスできる場合は、要求をサービスに送信します。このサービスは、中央のロード バランサーおよびキャッシュとしても機能します。ユーザー ロジックを各特定のサービスの外部に保持するというアイデアが気に入っています。