SOA與WCF

背景:

       高校平臺立刻就要進入編程階段了,對於沒怎麼作過正式項目的咱們來講,要學的東西實在太多了。一會兒面對這麼多學習資料時,咱們也不能着急,仍是踏踏實實,一個一個地去了解,其實他們都沒那麼神祕。這篇博客主要介紹SOA與WCF的基礎知識。程序員


SOA

軟件設計思想的發展,從面向過程,到咱們所推崇的面向對象,接着到SOA面向服務的思想演變。SOA,Service-Oriented Architecture,核心就是服務在面向服務的應用程序中,咱們關注於業務邏輯的編寫。而後就是客戶端調用,而不是服務代碼或者它的實現包。SOA架構比傳統的三層架構多了一層Service。編程



在SOA中,每一個服務具備明確的邊界,服務都是獨立的。這樣也符合低耦合的思想。還有,SOA中,採用標準的契約定義和通訊協議,是一個規範的體系。它的服務是自解釋的。它幫助企業工程師們站在一個新的高度理解企業級架構中的各類組件開發部署,幫助企業更迅速,更可靠、更具重用性的架構整個業務系統。與以前相比,更能從容的面對業務的變化。架構


     WCF

         WCF,英文全稱Windows Communication Foundation,意爲Windows通信開發平臺。是一系列支持數據通訊的應用程序框架,本質上來講,它是一套軟件開發包。框架

爲何要使用WCF開發?以下圖所示:學習


由上圖可知:WCF整合了原有的一些機制,並融合了HTTP和FTP等相關技術。它實現了跨平臺性,與平臺無關。WCF很好的實現了SOA,SOA即面向服務的架構。spa


 WCF主要分服務端和客戶端兩部分。咱們須要在服務端建立服務,而後將服務經過終結點EndPoint與客戶端進行通訊。客戶端在使用服務時,須要首先建立一個代理服務,而後調用這個代理服務。這裏所說的EndPoint中,即咱們接下來要說的ABC。
.net

 服務的三要素,簡單歸納來講,即ABC。設計


1)A——Address(地址)代理

Where?在哪裏對象

地址,是一個路徑。每一個服務都關聯到一個惟一的地址。它包括兩部份內容:服務位置和傳輸協議。

地址例子:

http://localhost:80

http://localhost:80/HelloService

2)B——Binding(綁定)

How?如何實現

綁定,是制定好的通道棧,它是負責具體實現。

咱們須要瞭解如何進行綁定的基本設置。


3)C——Contracts(契約)

What?作什麼

契約,也叫協定。它描述了服務的特徵和功能。


四種契約

Service Contract  :主要是客戶端所能執行的操做。

Data Contract  :與服務交互的數據類型。

Message Contract :容許程序員直接操縱服務消息的內容和格式。

Fault Contract 


相關博客:

《初識MVC框架》  《Linq與擴展方法》  《Axure+SVN》

小結:

SOA,是面向服務架構,但對於其具體的定義,仍是存在很大的爭議。但須要指出的是,WCF是一種SOA解決方式。所以,WCF主要功能和工做原理等都是圍繞着「服務」而展開。

總的來講,不管是SOA仍是WCF,看着是新的東西,可是從它們的目的或功能來看,並不新,都是爲了提升可靠性、可重用性,更好的解耦。在這一點上,和以前的東西有不少的共鳴。瞭解了這些,剩下的就是怎樣好好使用WCF了。

相關文章
相關標籤/搜索