WCF
当社では、最近WCFを使った分散システムの開発を行いましたので、ご紹介いたします。
■WCFとは
WCF(Windows Communication Foundation)はマイクロソフト社の新しい分散テクノロ
ジーです。
ポイントはいろいろありますが、可能な限り書きだすと以下のようになります。
・マイクロソフト保有の分散テクノロジーを統合および拡張したものである。
・サービス志向のアプリケーション開発のフレームワークである。
・他のテクノロジーとの相互運用が可能である。
・NET Framework 3.5の構成要素である。
(Windows VistaとWindows Sever2008で標準サポートされている)
■開発システム
ジュースなどの飲料を生産するラインにおいて、品質データを計測し、集計するシステム
です。
サーバ側で計測データの収集を行っています。
クライアント側からサーバ側(WCFでは「サービス」側と呼んでいます)へは2つのインター
フェイスがあります。
・必要な計測データ項目を選択定義します。
・データを要求します。
■設計
「WCFとは」のところで「通信プロトコルに依存しない」といっていましたが、正確にはいろい
ろなプロトコルを選択できるということです。
WCFでは「バインディング」要素でプロトコルを指定します。
ただし、まぎらわしいのですがWCFでバインディングというときの「プロトコル」という用語は
セキュリティ機構を指しています。
バインディングとは以下の要素の組み合わせです。
・プロトコル
セキュリティ機構(信頼性の高いメッセージ機構またはトランザクションコンテキストの
フロー設定)
・エンコーディング
メッセージエンコーディング(テキストまたはバイナリなど)
・トランスポート
使用する基本のトランスポートプロトコル(TCPやHTTPなど)
バインディングの情報は複雑になる可能性があるため、WCFではシステム指定のバインディ
ングが用意されています。
確認できているところでは13種あり、アプリケーションの形態やパフォーマンスおよび相互運
用性などを考慮して決定することになります。
今回のシステムではパフォーマンスを重視して、"NetTcpBinding"を採用しました。
■開発
開発ツールはVisual Studio2008およびVisual Studio Tools for Officeを使用しました。
本稿作成にはmsdnドキュメントを参考にさせていただきました。
作成日:2009/02/10