マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Binding (ネットワーク)は、

「RPCのようなAPI呼出を、どのような
Binding(プロトコルや通信方式、拡張仕様を含む)
を使用して、オブジェクトに紐つけるか?」

のようなコンテキストで使用される。

Bindingの種類

Bindingが取扱う範囲は、プロトコルと異なり、
TCP/IP~メッセージキュー+其の使い方までと、幅が広い。

例えば、OSI参照モデルの下位プロトコルに
上位の仕様が組み込まれているケースが多い。

  • 例えばTCP/IPでは、
    プロトコルレベルで単方向/双方向などの通信方式を規定しないが、
    Bindingでは単方向/Request&Response/(非同期)双方向の定義がされる。
  • 例えばHTTPでは、
    BindingではSOAP、WS-*の仕様が追加がされる。

TCP

送信元のコンピュータ上のプログラムから
別のコンピュータ上の別のプログラムへと
信頼できる順序通りのオクテット列の転送を行う。

UDP

明確なハンドシェイクを省いたコネクションレスであり、
送達確認などを行わない言わば無手順方式のデータ転送で、
信頼性・順序性・データ完全性を保証しないことで
トランスポート層でのそのような処理のオーバーヘッドを削減する。

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というミドルウェアを実装しているが、

  • SQL Server Service Broker
    http://msdn.microsoft.com/ja-jp/library/bb522893.aspx

     アプリケーション開発者は、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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-10 (金) 11:04:46 (69d)