最近有位朋友在網路以及MSN上面問我,Web Service和WCF Service的差別到底在哪裡呢?
Web Service,從字面上可以直譯為"網路服務",可以從廣義或是狹義方面來解釋。廣義的來說,只要是服務提供者透過網際網路所提供的服務,都可以稱為網路服務。例如微軟所提供的SkyDrive,Google 所提供的Gmail、Google Earth,都可以視為廣義的網路服務。而狹義的網路服務,指的則是在網際網路上,可以透過網路服務的標準,SOAP或是WS-I所存取的應用程式服務介面。如果是這樣來看的話,Web Service 就可以視為在網際網路上的元件;因為網際網路本身具有跨平台的特性,因此無論你是透過.NET或是Java等程式語言所建立的Web Service,就可以在不同平台被使用,因此可以用來建立分散式架構中跨平台使用的元件。
除了Web Service 之外,微軟在分散式架構中,也有許多開發分散式元件的技術,像是Remoting、MSMQ等。因為每種技術都有特定的溝通模式,也各有各的優缺點。像是Web Service雖然可以跨平台,但是速度上就比Remoting支援的TCP Channel幔上許多;但是開發及設定Remoting元件的efforts,又比Web Service複雜。更重要的是,你必須要懂每種不同的技術,才可以作出符合需求的企業級元件,這對於開發人員來講,是相當沉重的負荷。
為了解決這樣的問題,因此微軟從.NET 3.0開始推出了WCF的技術。WCF整合了Web Service、Remoting、MSMQ等微軟分散式元件開發技術,只需要開發一個WCF Service,就可以透過設定的方式,發佈支援不同通訊協定的服務端點。因此現在若是你要開發新的網路服務的話,在.NET Framework中就統一透過WCF技術框架開發。
有興趣可以再回顧之前我所寫的幾篇:
沒有留言:
張貼留言