Hello World, WCF !!

ふう、というわけでちょっと時間が空いたので blog 書き。さて次は何のネタを書こうかなぁと思案中なのですが、せっかく Hello World シリーズを書いているので、次は WCF でも書いてみようかと思います。

WCF (Windows Communication Foundation) は、.NET Framework 3.0 で新たに導入された、通信制御フレームワークです……が、これがまたとんでもなく難しい;。低水準インフラとして設計されたのか、ASP.NET XML Web サービス(.asmx)に比べると、お手軽さに欠けるフレームワークになっていて、予備知識なしに触ってもたぶんいきなりつまづいて二度と触りたくなくなるフレームワークなんじゃないかという気がします。(というか私はそうでした...)

で、私自身、さんざん WCF は敬遠していたのですが、最近のマイクロソフト製品の多くが下位で WCF を使うようになっていたり、Silverlight 2 では作成されるプロキシクラスが WCF ベースのものだったりと、さすがに逃げるに逃げられなくなってきました。そんなわけでやむなく今年の前半に一生懸命調べてみたのですが、調べれば調べるほど「なるほどこれはよくできてる」と唸らされる結果に。いや、難しいんですけどね(笑)。

というわけで、このエントリでは、WCF が何を狙っているのか、何のために ABC モデルなどを導入したのか、などについてまとめてみたいと思います。(ちなみにこのエントリにまとめている内容は、あくまで「私の理解」です。もしかしたら考え方そのものが間違っているかもしれないので、そこはややマユツバで読んでいただけると助かります。)

■ Part 1. WCF に導入されている新たな設計概念

・WCF の狙い
・エンドポイント (ABC モデル)
・WCF パイプライン(ABC モデル)と OSI 7 階層モデルの関係
・Message オブジェクトとエンコード方式

■ Part 2. Hello World WCF サーバの開発

・WCF サービスの作成
・WCF ホストプロセスの作成
・構成設定ファイルの作成
・サービスビヘイビア
・MEX (Metadata Exchange)

■ Part 3. Hello World WCF クライアントの開発

・プロキシクラスの作成
・通信プロトコルの変更方法

■ Part 4. IIS ホストの使い方

・.svc ファイルの作り方
・WPAS (Windows Process Activation Services)の使い方

と、こんなところで説明していってみたいと思います。

# あ゛ー、IIS 7 でもネタ的にはよかったかも...これはまた次回に。