マネージ コードを使用した Web サービスのプログラミングの概要

更新 : 2007 年 11 月

Web サービスを使用すると、異種のシステム間で XML メッセージの形でデータを交換できます。データやアプリケーション ロジックのリモート アクセス自体は新しい概念ではありませんが、緩く結合された形でのリモート アクセスは新しい概念です。DCOM、IIOP、Java/RMI など、以前の試みでは、クライアントとサーバーの間に緊密な統合が必要であり、プラットフォームおよび実装に固有のバイナリ データ形式が使用されました。そのようなプロトコルでは特定のコンポーネント テクノロジまたはオブジェクト呼び出し規約が必要でしたが、Web サービスではそのようなテクノロジや規約は必要ありません。クライアントとサーバーの間での唯一の前提事項は、受信側が受け取ったメッセージを理解できるということだけです。言い換えれば、クライアントとサーバーはコントラクト (この場合は、WSDL と XSD で記述されたコントラクト) に同意しているので、それにより、HTTP などの指定されたトランスポートを通じて、コントラクトに従ったメッセージを生成してやり取りします。そのため、プログラムがどの言語で記述されているか、どのコンポーネント モデルを使用しているか、どのオペレーティング システムで実行されているかに関係なく、あらゆるプログラムから Web サービスにアクセスできます。さらに、XML などのテキスト形式を使用している柔軟性により、メッセージ交換が緩く結合された形で時間の経過と共に発展することが可能になります。メッセージ交換に関与するすべてのシステムの同時更新ができない環境では、このような緩い結合が必須です。

ASP.NET Page Framework を使用して Web サービスを作成することにより、Web サービスで認証、キャッシュ、状態管理などの多くの .NET Framework 機能にアクセスできるようになります。ASP.NET および .NET Framework がマネージ コードを使用した Web サービスの基礎となるため、開発者は、インフラストラクチャ コードを記述する必要なしに、Web サービスの作成とアクセスに専念できます。

ASP.NET アプリケーション モデルでは、ブラウザでの使用を意図した Web ページには .aspx という拡張子が付けられます。Web サービスを通常の ASP.NET ページと区別するために、Web サービスには .asmx という拡張子が付けられます。

Web サービスを使用するときには、2 種類の基本的な操作があります。

  • Web サービスの作成 - Web サービスを作成するときには、Web サービス クライアントに機能を公開するアプリケーションを作成します。

  • Web サービスへのアクセス - Web サービスにアクセスするときには、クライアント アプリケーションは個別の Web サービス内に含まれる機能を探し、参照して使用します。一般に、Web サービスのクライアントは、Web サービスとの間でメッセージを送受信して処理できるアプリケーションです。ただし、最低限の条件として、クライアントが Web サービスにメッセージを送信できる必要があります。.NET Framework を使用するすべてのアプリケーションが当てはまります。

Web サービスは、スタンドアロンのアプリケーションである場合と、より大規模な Web アプリケーションのサブコンポーネントである場合があります。たとえば、オンラインで書籍を販売する Web アプリケーションを作成しているとします。この Web アプリケーションは、次のようにして Web サービスとやり取りします。

  • Web サービスの作成 - アプリケーションは、その注文処理ロジックを Web サービスとして公開します。提携先の Web サイトの Web アプリケーションは、この Web サービスを使用できるので、顧客は販売元のサイトにアクセスしなくても、このオンライン書店を通じて書籍を購入できます。

  • Web サービスへのアクセス - アプリケーションは、オンライン書店向けに書評を書いて提供する別のオンライン企業の Web サービスにアクセスします。オンライン書店にアクセスした顧客が特定の本の詳細を見ると、同じページにその本の書評も見ることになります。

Web サービスは、他の Web サービス、Web アプリケーション、Windows アプリケーション、コンソール アプリケーションなど、ほとんどあらゆる種類のアプリケーションからアクセスできます。最低限必要な条件は、クライアントが Web サービスにメッセージを送信できることだけです。

参照

その他の技術情報

マネージ コードを使用した Web サービス

Web サービスを利用した Web のプログラミング

マネージ コードを使用した Web サービスの作成

マネージ コードを使用した Web サービスへのアクセス