サービス指向アーキテクチャー (SOA) は、ソフトウェアを編成する 1 つの方法です。SOA について詳しくは、以下のセクションを参照してください。
サービスは、企業内の相互作用、および企業、サプライヤー、パートナー、および顧客の間での相互作用で処理することができます。
デベロッパーの視点から言えば、サービス指向への変更とは重要視するものが変化することであり、開発タスクの多くの局面は影響を受けません。

最上位レベル は 1 つ以上の統合サービスを含み、それらの各サービスが、保険による補償を求める希望者の 要求の処理などの、アクティビティーのフローを制御します。 それぞれの統合サービスは、1 つ以上のビジネス・サービスを呼び出します。
第 2 レベルは、それぞれが相対的に下位のビジネス・タスクを実行するサービスで構成されます。 例えば、ある統合サービスが一連のビジネス・サービスを呼び出し、保険契約代理人が提供した詳細を検証することがあります。ビジネス・サービスが、「保険証書の発行」と判断される値を戻した場合、統合サービスは、さらに別のビジネス・サービスを呼び出します。 2 番目のビジネス・サービスは見積もりを計算し、サービス指向アプリケーションを呼び出したソフトウェア (Web アプリケーションなど) にその見積もりを返します。
第 3 レベルは、データ・アクセス・サービスで構成されます。各サービスは、データベースやメッセージ・キューのなどのデータ・ストレージ域に対する読み取りや書き込みという、 比較的テクニカルなタスクを処理します。 データ・アクセス・サービスは、非常に頻繁にビジネス層から呼び出されますが、サービスにアクセスしやすいことから、さまざまな用途に使用できます。例えば、Web アプリケーションなどのリクエスターは、データ・アクセス・サービスにアクセスして、書式の初期値を割り当てることができます。
重要なポイントは、柔軟性です。統合サービスの中には、さまざまな操作をさまざまなリクエスターに提供するものがあります。またサービスによっては、他の統合サービスを呼び出すものがあります。 また、リクエスターはサービス指向アプリケーション内からさまざまなサービスにアクセスできます。例えばリクエスターはある時点で統合サービスにアクセスし、別の時点でビジネス・サービスにアクセスします。
Web サービスの特徴とは何でしょうか。この問いに対し、サービスが SOAP というテキスト・ベース・フォーマットでデータを交換することであるという答えがあります。また、Web サービスの特徴は、通信ソフトウェア Hypertext Transfer Protocol (HTTP) を使用してワールド・ワイド・ウェブでデータを交換することである、という答えもあります。
さまざまな Web サービスのスタイルを理解するため、ブラウザーから Web サーバーに送信されるデータである HTTP 要求メッセージの構造と、返される HTTP 応答メッセージの構造について説明します。
User-Agent: Mozilla/4.0 ...
Web サービス という用語は、テキスト・ベース・フォーマットのデータの送信を意味します。対照的にバイナリー交換サービス は、特定のコンピューター言語または特定のベンダーに関連付けられているフォーマットでデータを交換します。
バイナリー交換サービスを使用する場合の短所は、アクセス可能度が低下することです。バイナリー交換サービスは、サービスに必要なバイナリー・フォーマットでデータを伝送するソフトウェアのみが直接使用できます。
SOA は、 ビジネスに対していくつかの重要な影響を与えます。 まず、各コンポーネントが相対的に独立したユニットの場合、企業は、ビジネスの変更または技術的変更に対して、より迅速に、かつ費用と混乱を抑えて、対応することができます。
変化に対して迅速かつ有効に対応する企業の能力は、アジリティー と呼ばれます。適切に構築された SOA では、時間の経過に伴いアジリティーが向上します。
SOA は、ユーザーのコラボレーションにも影響します。最も技術的なサービスは別として、よく練られたサービスとは、粒度が粗い ものです。粒度が粗いサービスでは、関心領域が非常に幅広く、ビジネスに携わる人々がソフトウェアに関する知識を持たなくても、サービスの目的を理解できます。粒度の粗いサービスの集合によって企業のビジネス手順を扱う場合、ビジネス・アナリストとソフトウェア専門家は、豊富な知識で情報を共有し、各サービスの目的と有効範囲に関する初期の協議にユーザーを取り込み、ビジネス手順の変更がもたらす結果を理解することができます。ヒューマン・コミュニケーションが容易であることは、SOA が持つ重要な利点です。これは、アーキテクチャーがビジネス・プロセスを編成する上での第一原則となることを示唆します。
巧みに設計されたサービスは、再使用可能である可能性が高くなります。 企業は、少なくとも、新規ソフトウェア開発コストの発生を抑え、ソフトウェア・インベントリーの信頼性を徐々に向上させるという 2 つの方法から、再利用のメリットを得ることができます。既存のサービスを新規アプリケーションに配置する場合、最初から作成されたソフトウェアのデプロイで必要となるテストに比べると、実施する大規模なテストの数を減らすことができます。
SOA を使用して、ビジネス・プロセスとデータの可用性を向上させることができます。例えば、保険会社の代理人がワークステーションからメインフレーム・プロセスを呼び出し、特定の顧客の保険料を見積もるとします。競争の圧力から、企業は顧客が Web で見積もりを依頼できるようにすることを望んでいますが、従来 Web にはメインフレームとの直接リンクがありません。企業がブラウザーから個人情報データを受け入れ、メインフレームの分析ソフトウェアを使用してデータを処理し、顧客に対して応答するために必要なものとは何でしょうか?このためには、ブラウザーと分析ソフトウェアの相互作用を処理する新しいサービスの開発などが必要となります。ビジネスへの影響とは、拡大する市場におけるより新しいプロセスなのです。
上記の情報には、「Enterprise Web 2.0 with EGL」(MC Press, 2009; http://www.mc-store.com/5107.html) からの抜粋が含まれます。