WCF(Windows Communication Foundation)是由微軟開發的一系列支援資料通信的應用程式架構,可以翻譯為Windows通信開發平台
WCF整合了原有的Windows通信的.net Remoting ,WebService,Socket機制,并融合有HTTP和FTP的相關技術。WCF是對這些技術的統一。
WCF的優點
統一性
互操作性
安全與可依賴
相容性
了解面向服務
SOA(Service Oriented Atchitecture)面向服務架構 。是指為了解決在Internel環境下業務內建的需要,通過連接配接能完成特定任務的獨立功能實體實作的一種軟體系統架構。SOA是一個元件模型,将應用程式的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來
SOA指出目前系統應該足夠靈活,進而允許在不打亂目前成功運作的體系結構和基礎結構前提下,改動已有的體系結構。
SOA有如下原則
邊界清晰
服務自治
相容性基于政策
共享模式(schema)和契約
WCF架構組成
1.協定(契約)
契約來定義雙方溝通的協定,契約必須以接口的方式來展現,而實際的服務代碼必須要由這些契約接口派生并實作,
契約可分為以下4種:
1.資料契約(Data Contract):指定雙方溝通時的資料格式
2.服務契約(Service Contract):指定服務的定義
3.操作契約(Opration Contract):指定服務提供的方法
4.消息契約(MessageContract):指定在通信期間改寫資訊内容的規範
契約定義消息系統的各個方面
(1).資料契約:服務中的參數
(2).消息契約:使用SOAP協定特定的消息部分
(3).服務契約:服務中的方法
(4).政策與綁定:政策設定安全或其它條件,綁定指定傳輸方式與編碼。
2.服務運作
服務運作期間的行為控制
(1).限制行為:控制處理的消息數
(2).錯誤行為:出現内部錯誤時所處理的操作
(3).中繼資料行為:是否向外提供中繼資料及中繼資料的提供方式
(4).執行個體行為:可運作的服務執行個體數目
(5).事務行為:處理事務
(6).排程行為:控制WCF處理消息的方式
3.消息傳遞
消息傳遞層說明資料的交換格式和傳輸模式。消息傳遞層由通道(信道)組成,通道是對消息進行處理的元件,負責以一緻的方式對消息進行整理和傳送。通道用于傳輸層,協定層及消息擷取。各層次的通道組成了信道棧
通道對消息和消息頭進行操作,服務運作時對消息正文進行操作。通道包括兩種類型:傳輸通道與協定通道。
傳輸通道:讀取和寫入來自網絡的消息,傳輸通道通過編碼器将消息轉換為網絡傳輸使用的位元組流以及将位元組流轉換為消息。傳輸通道包括HTTP通道,命名管道,TCP,MSMQ等
協定通道:通過讀取或寫入消息頭的方式來實作消息協定。比如 WS-Security。WS-Reliability
4.宿主與激活
服務宿主負責WCF服務的生命周期和上下文的作業系統程序,負責啟動和停止WCF服務,并提供控制服務的基本管理功能。
WCF的基礎概念
1.位址
2.綁定(Binding)
3.契約(Contract)
4.終結點
用來發送或接收消息(或執行這兩種操作)的構造,終結點包含一個定義消息可以發送在的目的地位置節點,包含一個定義消息可以發送到的目的地位置(位址),一個描述消息應如何發送的通信機制規範(綁定)以及對于可以在該位置發送或接收(或兩者皆可)的一組消息的定義(服務協定)---該定義還描述了可以發送何種消息
終結點的位址由EndpointAddress類表示,該類包含一個表示服務位址額統一資源定位符(URI),大多數傳輸的位址URI包含4部分。
例:
https://home.cnblogs.com/u/1147658/方案:https
計算機:home.cnblogs.com
端口(可選):
路徑:u/147658
5.中繼資料
6.宿主(Host)