導入
サービス指向アーキテクチャ( SOA ) は、サービス(ソフトウェア コンポーネント) を実装するアプリケーション対話モデルであるメディエーション アーキテクチャの形式です。
- 強力な内部一貫性を備えています (重要な交換フォーマット、ほとんどの場合は XML の使用を通じて)。
- および「緩やかな」外部結合 (相互運用可能なインターフェイス層、ほとんどの場合 WS-* Web サービスの使用による)。
この用語は 2000 年から 2001 年にかけて登場し、当初は主にビジネスで使用される分散コンピューティングテクノロジに関連した構文の相互運用性の問題に関係していました。この設計は進化し、利用可能なテクノロジーに応じて、 メディエーション アーキテクチャの特定のサブセットを参照するようになりました。
サービスは、「クライアント」(または「消費者」)の注意を引くために「プロバイダー」(または「プロデューサー」)によって実行されるアクションですが、消費者とプロデューサー間の対話はメディエーター(バスの場合もあります)を通じて行われます。 ) コンポーネントの接続を担当します。このサービスは大規模であるため、システム コンポーネントの機能を網羅し、提供します。これらのシステムは、アプリケーション層として定義することもできます。 サービス指向アーキテクチャは、再利用性、相互運用性、情報システムを実装するさまざまなシステム間の結合の軽減という点で企業が遭遇する問題に対する非常に効果的な対応策です。 SOAまたはAOSアーキテクチャは、J2EE や。ネット。彼らは都市化の原則の一部を実行します。サービス指向アーキテクチャ内では、ディレクトリ、バス、コントラクト、およびサービスの概念が区別されます。後者はサービス指向アーキテクチャの中核であり中心点です。インターネットに完全に依存する SOA のバリエーション、より正確には SOA の実装は、 WOA ( Web Oriented Architecture ) と呼ばれます。

歴史的
1980 年から 1990 年の10 年間、情報システムの相互運用性の問題、特に企業の合併や買収の際に複雑になる問題により、データの相互運用性の研究分野が誕生しました。この時点で、データの構文的な相互運用性と意味的な相互運用性が区別されました。この研究は、マルチベース システム、分散データベース、フェデレーテッド アーキテクチャの開発につながりました。多くの解決不可能な問題のため、連合アーキテクチャは事実上放棄されました。
この期間中に浮上した 2 つの主な機能要件は次のとおりです。
- さまざまな情報作成者は、透明性のある方法でシステムを使用し続けることができなければなりません。たとえば、買収を行う信託は、IT システムの突然の変更を課すことによって新しいメンバーに障害を与えてはなりません。
- 組織は、さまざまなメンバーによって生成された情報を総合的に取得できなければなりません。これは読み取り専用の情報であり、合成は常に下から上に行われます。
これらの機能要件は、1990 年から 1992 年にかけて Gio Wiederhold がメディエーションアーキテクチャを発明したことによって具体化されました。
- エンド ユーザーは、情報の動的な合成を可能にするメディエーション層 (サービス層) によってデータ ソースから分離されています。
- さまざまなメディエーター (サービス) は相互に通信して、さまざまなソースからの情報を変換および結合できます。
- さまざまなメディエーター (サービス) は、意味論的な表現と変換に優れた能力を提供する言語を使用して通信します。
その後、データメディエーションの研究は、5 つの主要なサービス ファミリ (適応、変換、拡張、管理、調整) が登場する ARPA I3 などの汎用アーキテクチャの作成、KQML などの高い意味表現力を持つ言語の開発に焦点を当てました。オントロジーなどのセマンティック情報変換ツール。
同時に、Web テクノロジーの発展により、他の分散コンピューティング テクノロジーの魅力は徐々に薄れていきました。 1996 年に XML が登場すると、研究コミュニティでこの言語が大流行し、KQML のようなアドホック言語またはより複雑な言語は、少なくともこのタイプのアーキテクチャでは事実上放棄されました。業界は基礎研究に基づいて多くの製品を開発しました。たとえば、Wiederhold と直接関係のある 150 名を超える博士号取得者がおり、そのほとんどがIBM 、Oracle、 Sun 、 Microsoft 、Cisco、Samsung、その他の企業でこのテクノロジーの開発に積極的に参加しています。 LG、ベル研究所、シリコングラフィックス、コダック、グーグル、ナップスターなど。 Tomcat (Java Servlet および JavaServer Pages) および Ant の作成者であるJames Duncan Davidsonのように。 1990 年から 2000 年代の終わりには、この種のテクノロジがかなりの数あり、その相互運用性は、少なくとも相互運用性を実現するためのソフトウェア レシピがなければ、場合によっては非常に問題がありました。

