[WCF] WCF 、ASP.NET Web Service

  • 2263
  • 0

[WCF] WCF 、ASP.NET Web Service

WCF(Windows Communication Foundation):根據MSDN的定義-『建置服務導向應用程式

的統一程式設計模型』,是在.NET Framework 3.0以上所提供的技術

 

Web Service:根據W3C的定義-『A Web service is a software system designed to support

interoperable machine-to-machine interaction over a network. It has an interface described in a

machine-processable format (specifically WSDL). Other systems interact with the Web service

in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP

with an XML serialization in conjunction with other Web-related standards.』,簡單來說就是

透過網路的服務以SOAP、XML進行跨平台的應用程式服務介面

 

ASP.NET Web Service:在.NET Framework裡為了實作Web Service所提供的一組Framework

 

那WCF與ASP.NET Web Service間又有什麼關係呢?由於網路本身是跨平台的,不管什麼

系統平台基本都是可以存取網路的,所以從Service的慨念來看,對於分散式架構來說,

只要能在網路中提供類似的服務元件,那麼它就可以做跨平台的服務。但是在.NET裡能

夠提供分散式元件建構的技術並不只有Web Service,例如:.NET Remoting或是COM+ ....等

,不過這麼一來對開發人員來說為了達成類似的架構需求,然而所可以運用的實作技術卻

有多種,而每一種技術在實作上卻是不相同,因此在開發上的負擔就變重了,所以在.NET

Framework 3.0之後微軟就提供Windows Communication Foundation技術,WCF將這些不同通訊

實作的方式整合起來,也就是WCF除了可以開發Web Servcie之外,也可以開發其它通訊實作

(TCP、MSMQ.....),使得開發人員只需要學習WCF的開發就可以了。

 

WCF的架構:(取自http://msdn.microsoft.com/zh-tw/library/ms733128(v=vs.90).aspx)

WCF 架構

 

WCF的概念上是以合約Contract來定義,從架構圖可以看到分成四類-資料合約、訊息合約、

服務合約、原則和繫結合約,利用合約的制定來定義彼此間要如何溝通的約定。

 

透過以上簡單的說明,應該可以初步分瞭解WCF、Web Service、ASP.NET Web Service三者

間關係,也就不容易再陷入WCF 等不等於 Web Service這樣的問題中了

 

Ref:

http://www.w3.org/TR/ws-arch/#whatis

http://zh.wikipedia.org/wiki/Web_Services#.E5.AE.9A.E4.B9.89

http://zh.wikipedia.org/wiki/.NET_Remoting

http://msdn.microsoft.com/en-us/library/kwdt6w2k(v=vs.71).aspx

http://msdn.microsoft.com/zh-tw/library/ms733128(v=vs.90).aspx

http://msdn.microsoft.com/zh-tw/library/ms735119.aspx

 

 

 

 

 

 

 

 

 

若本文對您有所幫助,歡迎轉貼,但請在加註【轉貼】及來源出處,並在附上本篇的超連結,感恩您的配合囉。

By No.18