WCFとは?
「Windows Communication Foundation」の略で、サービス志向アプリケーションを作るための分散型の通信フレームワークです。
.NET Framework3.0(2006年)から導入されました。
サービス志向アプリケーションとは?
システム連携としてよく使われていた技術としては、2000年代はコンポーネント志向(JavaのEJB、CORBA等)でした。
しかし、2010年頃からはサービス志向アプリケーションが流行の先端になってきます。
その先駆けとなった技術としては、SOAPでした。
WCFは、SOAPをベースにしてマイクロソフト流にカスタマイズした技術になります。
WCFの構成要素
- アドレス
- バインディング
- コントラクト
- ビヘイビア
アドレス
URLによってサービスのアドレスを指定します。
バインディング
どのようなメッセージを送ったり、受け取るのかを定義します。
コントラクト
公開するサービス、利用しようとするサービス、交換するメッセージは何かを定義します。
ビヘイビア
サービスや、クライアントの動作を実行時に修正する役割。
C#でWCFプロジェクトを作成した場合
プロジェクトの種類
WCFサービスライブラリ
ホストが参照及び起動できるサービスのライブラリです。
WCFサービスアプリケーション
すでにセットアップされているウェブサイトホストが含まれています。IISでサービスを提供するならコチラでプロジェクトを作成する。
ファイルの種類
インターフェイス(IService.cs)
インターフェイスを定義したクラス、サービスの骨格の部分を定義している。
サービスクラス(Service.svc.cs)
インターフェイスを継承したクラスで、サービスの実体をここに実装していく。
Service.svc
クライアントがサービスにアクセスする入り口となる。URLにアクセスすればサービスにアクセスができる。
Web.config
WCFの基本となる、アドレス、バインディング、コントラクトの情報が記載されている。
付与される属性一覧
属性名 | 説明 |
ServiceContract | このインターフェイスが、WCFサービスを提供することを示す。 |
OperationContract | サービスに含まれるメソッドを示す。 |
この記事へのコメントはありません。