[轉]RPC、CORBA、WebService之區別


RPC是由Sun發明的遠程過程調用協議,是第一種真正的分布式應用模型。Windows上使用的R PC是DCERPC的擴展。嚴格地說,RPC是一種邏輯上的協議,它可以使用Socket、Named Pipe等更低級的協議完成通信任務。現在Windows系統本身的大多數涉及通信和分布式應用 的服務程序都在使用RPC協議。這也就是為什么前一段時間RPC漏洞會給Windows帶來那么大麻煩的原因所在了。


CORBA從概念上擴展了RPC。用RPC開發的分布式應用是面向過程的,而CORBA是完全面向對象的。CORBA協議在許多大型企業級應用中使用得很多。因此,CORBA對RPC的擴展就像C++語言 對C語言的擴展一樣。 DCOM是微軟自己開發的,面向對象的分布式應用模型。它的設計目標和CORBA一樣,但它遠 沒有CORBA那么健壯和豐富,因此,真正在企業級應用系統中使用DCOM協議的並不太多。


在企業級軟件開發中,還經常使用一種類似於e-mail的異步通信方式——消息隊列。微軟、 IBM等公司都由相應的消息隊列產品,IBM的MQ Series是目前業界比較成熟的一種,應用很廣。

 

Web Service是在開放的HTTP協議和XML語言的基礎上構建的,類似於CORBA或RPC的一種新的分布式應用模型。與傳統的RPC和CORBA相比,Web Service因為使用XML來描述所有數據,具有 通用、可交互的優勢,因為使用HTTP協議來傳輸數據,具有跨平台、跨網絡的特點。微軟 的.NET平台和Sun的J2EE平台都支持Web Service。

因此,總地說來,可以使用的分布式技術很多,我們可以根據需要選用。比如說,最簡單的 通信,可以直接用Socket編程來實現;對分布式要求較高的應用,可以考慮使用RPC;在面 向對象的環境下,可以選用CORBA或DCOM;當我們要在不同的網絡和平台之間搭建開放的分 布式應用系統時,Web Service就是最好的選擇了。 我覺得,學習這些技術要遵循一定的順序,循序漸進地學習。必須先掌握網絡通信和TCP/IP 協議的基礎知識,這是前提條件。然后可以學習Socket這樣最基本的通信編程技術,接着可 以選擇學習RPC、CORBA、DCOM中的一種,然后,在充分了解XML語言和HTTP協議的基礎上, 掌握Web Service就非常容易了。你可以按照這樣的思路去找每個領域里的書來看——我一時也想不出什么具體的書名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM