「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次  †
概要  †
Binding (ネットワーク)は、
「RPCのようなAPI呼出を、どのような
Binding(プロトコルや通信方式、拡張仕様を含む)
を使用して、オブジェクトに紐つけるか?」
のようなコンテキストで使用される。
このため、Bindingが取扱う範囲は、プロトコルと異なり、
TCP/IP~メッセージキュー+其の使い方までと、幅が広い。
例えば、OSI参照モデルの下位プロトコルに
上位の仕様が組み込まれているケースが多い。
- 例えばTCP/IPでは、
プロトコルレベルで単方向/双方向などの通信方式を規定しないが、
Bindingでは単方向/Request&Response/(非同期)双方向の定義がされる。 
- 例えばHTTPでは、
BindingではSOAP、WS-*の仕様が追加がされる。 
Bindingの種類  †
TCP/IP  †
HTTP, HTTPS  †
HTMLなどのコンテンツの送受信に用いられるリクエスト&レスポンス型のプロトコル。
HTTP  †
WWWブラウザ等で使用されているHTML参照用のプロトコルだったが、
以下の理由で、現在では、Webアプリケーション、Web APIなどにも利用されている。
- Webサーバ、APサーバ(CGI)と連動させて容易にサービスを構築・提供可能。
 
- 容易に利用可能なリクエスト&レスポンス型プロトコル(通信処理部の隠ぺい)。
 
- プロキシサーバー経由でイントラネット → インターネットへのアウトバウンドがサポート。
 
- 下記HTTPSを使用して容易に暗号化が可能(IPSECは構築が難しい)。
 
HTTPS  †
SSL暗号化がサポートされたHTTP
MSMQ  †
DBとの2フェーズコミットが必要な
を構築する場合に利用する。
ただし、
- TPモニタ(MS-DTC)の構築を必要としたり、
 
- 構築方法、専用APIを理解する必要があったり、
 
構築~利用までの難易度が高い。
従って、DBをキューとして使用する案件も多い。
このためマイクロソフトは、SQL Serverに
Service Brokerというミドルウェアを実装しているが、
メッセージング基盤、非同期実行基盤は、
カスタマイズ要素が多いためか、
複雑なものは普及するに至っていない。
名前付きパイプ  †
WCFのBinding  †
HTTP系  †
WS-Iの活動停止と共に、この辺も幕を下ろした感がある。
BasicHttpBinding?  †
WS-I Basic Profile 1.1 に準拠。
WsDualHttpBinding?  †
(非同期)双方向通信をサポート。
WsHttpBinding?  †
分散トランザクションとセキュリティで保護された信頼できるセッションをサポート
。
- HTTP 1.1
 
- MTOM
 
- WS-Addressing 2005/08
 
- WSS SOAP Message Security 1.0
 
- WSS SOAP Message Security UsernameToken? Profile 1.1
 
- WSS SOAP Message Security X.509 Certificate Token Profile 1.1
 
- WSS SOAP Message Security Kerberos Token Profile 1.1
 
- WS-ReliableMessaging?
 
- WS-Coordination
 
wsFederationHttpBinding?  †
- トークンを発行するための WS-Trust
 
- トークン形式として、WSS SAML (Security Assertions Markup Language) Token Profile 1.0 および 1.1
 
TCP/IP系  †
NetTcpBinding?  †
- (非同期)双方向通信をサポート。
 
- 複数コンピューターの通信に適した、セキュリティで保護された信頼できるバインド。
 
NetPeerTcpBinding?  †
ピア ツー ピア ネットワーク アプリケーション用のセキュリティで保護されたバインド。
その他  †
NetNamedPipeBinding?  †
- (非同期)双方向通信をサポート。
 
- プロセス間通信に適した、セキュリティで保護された信頼できるバインド。
 
- WCFで利用できるバインディングの中で最も速度が速いらしい。
 
Microsoft メッセージ キュー (MSMQ)  †
- NetMsmqBinding?
- コンピューター間通信に適している、キューに置かれたバインド
 
- NetMsmqBinding?クライアント ⇔ MSMQ ⇔ NetMsmqBinding?サービスホスト
 
 
- MsmqIntegrationBinding?
- MSMQメッセージを WCF メッセージにマッピングする。
 
- レガシーのMSMQクライアントから使用する場合、こちらを使用する。
 
- MSMQクライアント ⇔ MSMQ ⇔ MsmqIntegrationBinding?サービスホスト
 
 
Tags: :通信技術, :.NET開発, :ASP.NET