我瞭解web服務,並具有一定的遠程處理知識。 這兩個概念調用客戶端機器上的方法,所以在哪裏存在差異?網絡服務和遠程處理有什麼區別?
通過遠程訪問,我們也可以執行遠程機器和相同的功能的方法,可以通過Web服務也可以實現..
請原諒我,如果這是一個明顯的問題..
我瞭解web服務,並具有一定的遠程處理知識。 這兩個概念調用客戶端機器上的方法,所以在哪裏存在差異?網絡服務和遠程處理有什麼區別?
通過遠程訪問,我們也可以執行遠程機器和相同的功能的方法,可以通過Web服務也可以實現..
請原諒我,如果這是一個明顯的問題..
兩者都支持分佈式應用。
Web服務是跨平臺的,使用通用標準並通過防火牆工作。他們還根據消息而不是對象 - 向服務發送消息,並得到答覆。
遠程處理是一種不支持跨平臺並以二進制格式進行會話的僅MS技術。它根據對象思考,在遠程服務器上創建一個對象並使用它。它不適用於防火牆。現在Remoting也死了,MS贊成WCF(其中包括Web服務)
遠程處理還沒有死,只是不推薦使用。 – 2009-09-15 11:49:38
好吧,它非常非常不適合然後:) – blowdart 2009-09-15 12:20:47
WebServices是一種遠程處理形式,因爲您正在其他地方或同一臺機器上有效地執行代碼。
通過透明代理和序列化,在同一臺機器上或通過網絡進行遠程處理(InterProcess)的過程與AppDomain /平臺邊界之間的對象不同。遠程處理有其複雜性,可以很容易地變得非常複雜。 WCF使事情變得簡單得多。在性能方面,我沒有比較兩種方法,並且肯定會對InterProcess環境下的兩種方法感興趣。由於WCF可以與二進制綁定進行通信,並且不限於HTTP協議。
WCF使用Pipes進行InterProcess通信變得更簡單。
最終用於通過端口80(標準)HTTP進行通信的WebServices HTTP和Remoting可以使用不同的序列化格式化程序通過預定義的端口和通道進行通信。
他們現在已經通過WCF升級,WCF現在爲這些類型的通信提供方法。
雖然WebService是通過HTTP實現的,但Remoting是通過TCP/UDP實現的。 因此Remoting在速度方面表現更好。
Web服務不是通過HTTP實現的,除非您提到一個非常具體的實現。 W3C定義的Web服務獨立於傳輸協議。實際上,許多Web服務框架提供了通過TCP,SMTP(例如Metro)的傳輸 – wierob 2009-09-15 10:27:32
嗯,我確定這個人正在討論.net Web服務 – 2009-09-15 10:50:46
.NET Remoting concept是Microsoft/.NET特定的進程間通信技術。
術語「Web服務」由於其炒作而非常分散。但我認爲W3C definition是在大多數情況下。它將使用WSDL定義爲接口描述,並將SOAP定義爲消息協議。
根據Microsoft .NET Remoting: A Technical Overview on MSDN,Remoting使用二進制或XML編碼。 XML編碼使用SOAP。但據我所知,它不符合WS-I Basic Profile。因此,它提供了極其有限的Web服務互操作性。
這兩個概念都允許進程間通信。如果你的應用程序只使用.NET,那麼使用.NET Remoting是一個不錯的選擇。
但是,如果您打算提供與其他編程語言的互操作性,則應該使用Web服務。
遠程處理模擬了作爲本地方法調用的外部方法,接受相同類型的參數,因此所需要的只是對對象進行嚴格的調用,並且調用遠程方法(使用相同的語言或平臺)並提供響應。
Web服務(SOAP服務)以RPC術語處理跨平臺方法調用,但可以使用Document風格服務進一步改進,這裏語言或平臺不是障礙,因爲XML通過編組和消除本機和XML表示。
遠程處理和Web服務都是應用程序之間通信的方式。
遠程處理 - 在遠程處理中,通信過程中涉及的應用程序可能位於同一臺計算機上,不同的計算機位於相同或不同的網絡中。在遠程處理中,兩個應用程序都相互瞭解。應用程序對象的代理在另一個應用程序上創建。
Web服務 - 使用Web服務的應用程序之間的通信是獨立於平臺且獨立於編程的。使用Web服務的應用程序只需訪問它,而無需知道如何創建此Web服務實際上已實現的&。
基於ASP.NET的Web服務只能通過HTTP訪問。 .NET Remoting可以用於任何協議。
Web服務在無狀態環境中工作,每個請求都會創建一個新對象來爲請求提供服務。 .NET Remoting支持狀態管理選項,可以關聯來自同一客戶端的多個調用並支持回調。
Web服務通過SOAP消息中包含的XML序列化對象,因此只能處理可以用XML完全表示的項目。 .NET Remoting依賴於包含有關數據類型信息的公共語言運行時程序集的存在。這限制了必須傳遞的關於對象的信息,並允許通過值或引用傳遞對象。
Web服務支持跨平臺的互操作性,並且適用於異構環境。 .NET Remoting要求客戶端使用.NET或其他支持.NET Remoting的框架構建,這意味着一個同類環境。
好的問題大多是相同的。 – kenny 2009-09-15 10:14:51