標籤:style http 使用 os io 資料 for ar
前幾篇文章我們簡單的介紹了WCF以及如何使用它,今天我們來討論一下WCF和WebService的異同。
相信大多數同學跟我一樣,對於WebService有所瞭解,而且應該說你是先聽說WebService,後聽說還有個WCF的,對不對?那好,我們今天來一起看看,這兩者有何不同。
WebService是標準,是一種規範。嚴格來說WebService是一種行業標準,不是一種特定的技術。而WCF是一種WebService的實現。在WCF之前,微軟系列中有ASP.NET Web Service,後來微軟做了ASP.NETWeb Service的安全,效能,資料加密、解密,託管宿主等多方面的擴充,稱為WSE系列,WSE3.0.後來就是WCF時代。
WCF是一個分布式應用的開發架構,屬於特定的技術,或者平台。既不是標準也不是規範。一定程度上WCF就是ASP.NET Web Service,因為它支援Web Service的行業標準和核心協議,因此ASP.NET WebService和WSE能做的事情,它幾乎都能勝任,跨平台和語言更不是問題,但它的目標不僅僅是在支援和整合Web Service。
WCF是使用Managed 程式碼建立和運行面向服務(ServiceOriented)應用程式的統一架構。它使得開發人員能夠建立一個跨平台的安全、可信賴、事務性的解決方案,且能與已有系統相容協作。WCF是微軟分布式應用程式開發的集大成者,它整合了.Net平台下所有的和分布式系統有關的技術,如EnterpriseSevices(COM+).Net Remoting、WebService(ASMX)、WSE3.0和MSMQ訊息佇列。以通訊(Communiation)範圍而論,它可以跨進程、跨機器、跨子網、企業網乃至於 Internet;以宿主程式而論,可以以ASP.NET,EXE,WPF,WindowsForms,NT Service,COM+作為宿主(Host)。
WCF可以支援的協議包括TCP,HTTP,跨進程以及自訂,安全模式則包括SAML,Kerberos,X509,使用者/密碼,自訂等多種標準與模式。也就是說,在WCF架構下,開發基於SOA的分布式系統變得容易了,微軟將所有與此相關的技術要素都包含在內,掌握了WCF,就相當於掌握了叩開SOA大門的鑰匙。
關於WCF大家的一些錯誤的理解,以及從網上找了一些解釋:
1、Web Service太舊了
架構都版本的差異,功能特性上卻是有新舊之分,但是對於特定的系統,適合自己的就是最好的。
2、Web Service 就是 ASP.NET Web Service
同樣不是一個範疇。前者規範,後者是架構
3、WCF比Web Service效能好:不是一個範疇。
4、WCF 比 ASP.NET Web Service快
不一定,需要特定的限制條件,WCF使用BasicHttpBinding的時候與ASP.NET Web Service協議一樣。
5、WCF比Web Service速度快:同樣概念不嚴格。
6、WCF比Web Service強大
WCF卻是整合了多種微軟的分布式技術,但是這裡應該嚴格說是:ASP.NET Web Service
7、WCF比 Web Service安全:不嚴格。其次WCF也可以開發完全裸奔的應用程式。
8、Web Service必將被WCF取代
Web Service不會被WCF取代!前者是一套廣泛使用的規範。如果說WCF能取代的是ASP.NET WebService,因為二者都是.NET平台上的技術。
9、WCF其實就是Web Service
WCF在某些情況下不遵守 Web服務規範,也就是可以開發非服務性質的應用。而且不能簡單等同。
10、WCF非常簡單,其實沒有什麼
WCF雖然是個服務開發架構,但是如果你深入學習,會發現WCF架構的強大之處。單單是WCF安全這一塊已經相當的複雜了。況且還要統一編程模型,相容和支援許多早期的分布式技術。
好了,這裡只是拋磚引玉,具體有哪些不同,還需要大家親自動手查一下,做做例子體驗一下。