簡単に言えば、SOA はコンテンツを取得するメカニズムからプレゼンテーション関連のコンポーネントを分離します。
非常に些細なことのように聞こえますが、プレゼンテーション コンポーネントは、データを取得するプログラムから独立しているだけでなく、データにとらわれないようにする必要があります。
これを実現するために、有名な「エンタープライズ サービス バス」(ESB) を含む「サービス」抽象化レイヤーが作成されます。ESB は、サービスが配置されている場所と、サービスを呼び出してデータをリクエスターに中継する方法を認識しているプログラムです。
SOA は、データがさまざまなソースから取得される (「可能性がある」というよりはむしろ)という単純な理由から、最近のエンタープライズ レベルのシステムでは単なる選択ではなく標準になっています。たとえば、ログイン/認証サービスは集中型の LDAP ベースである場合があります。注文の詳細は、ホストされた DB エンジンへの JDBC 接続を使用して取得できます。クレジット カード承認は、Payment Gateway Web サービスの呼び出しを使用している可能性があります。等々...
このアーキテクチャを使用する最大の利点は、明日同じサービスを別のリソースから利用できるようになった場合に、コア アプリケーションの設計にまったくまたは最小限の影響しか与えないことです。