今日のITシステムのほとんどは、分散したコンピューターリソースを連携させる、いわゆる分散システムとして実現されており、以前はC/S(クライアント/サーバー)が、ここ数年ではSOA(サービス指向アーキテクチャ)やマイクロソフトが提唱しているソフトウェア+サービス(Software + Services)形態のシステムがその代表的なものとなっています。こうしたコンピュータ間の通信を実現する分散テクノロジは、UIテクノロジなどに比べると華やかさはないものの、非常に重要なテクノロジであり、システムを支える「縁の下の力持ち」とも言えるでしょう。

Note
 ソフトウェア+サービスは、クライアントPCの持つパワーとネットワーク越しに提供されるサービスの利便性をうまくミックス(組み合わせる)した形態のアプリケーション/システムです。ソフトウェア+サービスでは、単なるリッチなクライアント型アプリケーションや、単なるサービス型アプリケーション(たとえばSaaS)と比べ、よりユーザーが使いやすいアプリケーション/システムを提供することを目指しています。ソフトウェア+サービスについては、以下のドキュメントなどを参照してください。
ソフトウエアプラスサービスを動く図説でやさしく解説
ソフトウェア+サービスの概要と今後のアプリケーション開発
Note
 Webブラウザと Webアプリケーションの間の通信によって動作する Webアプリケーションも、もちろん分散システムの 1つの形態ですが、ここではUI(ユーザーインターフェイス)を介さない通信技術の話にフォーカスしているため割愛しています。

 .NET Frameworkは、その登場当初より通信要件などに応じたさまざまな通信技術を提供していましたが、.NET Framework 3.0から登場したWCF(Windows Communication Foundation)は、今日の.NETベースの分散アプリケーション/サービス開発のための基盤テクノロジを統合する存在であり、WCFによってXML Webサービス(以降、単に「Webサービス」と表現します)を始めとしたさまざまな形態の分散アプリケーション/サービスを開発することが可能となっています。

 ここでは、この今日の.NETにおける分散アプリケーション/サービス開発のメインストリームテクノロジであるWCFにフォーカスし、その特徴や基本的なプログラミング方法、活用ポイントについて解説します。

この先は会員の登録が必要です。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら