最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

RPC、RMI、SOAP的區(qū)別詳解

 更新時間:2015年07月06日 10:20:28   投稿:junjie  
這篇文章主要介紹了RPC、RMI、SOAP的區(qū)別詳解,本文還同時講解了RPC、SOAP、WSDL的關(guān)系,需要的朋友可以參考下

============================================================================
RPC與RMI的區(qū)別
============================================================================
RPC:(Remote Procedure Call)
  被設(shè)計為在應(yīng)用程序間通信的平臺中立的方式,它不理會操作系統(tǒng)之間以及語言之間的差異。 支持多語言。

RMI:(Remote Method Invocation)
RPC 的Java版本,EJB的基礎(chǔ)技術(shù)
RMI 采用JRMP(Java Remote Method Protocol)通訊協(xié)議,是構(gòu)建在TCP/IP協(xié)議上的一種遠程調(diào)用方法。
RMI 采用stubs和skeletons來進行遠程對象的通訊。
  stub充當(dāng)遠程對象的客戶端代理,有著和遠程對象相同的遠程接口。
  遠程對象的調(diào)用實際是通過調(diào)用該對象的客戶端代理對象stub來完成的。

    創(chuàng)建遠程方法調(diào)用的5個步驟:
    1)定義一個擴展了Remote接口的接口,該接口中的每一個方法必須聲明它將產(chǎn)生一個RemoteException異常;
    2)定義一個實現(xiàn)該接口的類;
    3)使用rmic程序生成遠程實現(xiàn)所需的存根和框架;
      (例如,在demo.rmi.EchoServer.java所在目錄運行: rmic demo.rmi.EchoServer)
    4)創(chuàng)建一個客戶程序和服務(wù)器進行RMI調(diào)用;
    5)啟動rmiregistry并運行自己的服務(wù)程序和客戶程序。

RMI與RPC的區(qū)別在于:
1)方法是如何被調(diào)用的
  對RMI來說,如果一個方法在服務(wù)器上執(zhí)行,但是沒有相匹配的簽名被添加到這個遠程接口上,那么這個新方法就不能被RMI客戶方所調(diào)用。
  而在RPC中,當(dāng)一個請求到達RPC服務(wù)器時,請求包含一個參數(shù)集和一個文本值,通常為“classname.methodname”形式。
  這表明,請求的方法在“classname”類中,名叫“methodname”。
  然后,RPC服務(wù)器就去搜索與之相匹配的類和方法,并把它作為那種方法參數(shù)類型的輸入。
  這里的參數(shù)類型是與RPC請求中的類型匹配的。 一旦匹配成功,方法就被調(diào)用了,其結(jié)果被編碼后返回客戶方。
2)對傳遞信息的限制
  RMI 調(diào)用遠程對象方法,允許方法返回 Java 對象以及基本數(shù)據(jù)類型。
  而RPC不允許傳遞對象,RPC服務(wù)的消息由外部數(shù)據(jù)表示(External Data Representation,XDR)語言來表示。
3)采用的協(xié)議不同
    RPC不支持對象,采用http協(xié)議。RMI支持傳輸對象,采用TCP/IP協(xié)議
4)RIM只限于Java語言,而RPC跨語言
   
另外,RMI優(yōu)于RPC或SOAP的一點是:在程序開發(fā)過程中因為對象或方法不匹配造成的錯誤可以在編譯期被發(fā)現(xiàn),而不用等到運行期。

============================================================================
RPC, SOAP, WSDL的關(guān)系
============================================================================
RPC, SOAP, WSDL都是web service的關(guān)鍵詞,這里描述一下他們的關(guān)系,下面的解釋可能比較狹義,主要為了幫助理解這三者的關(guān)系。
 
1.RPC

如果要調(diào)用遠端的一個方法,可以使用RMI和RPC,這是2種截然不同的風(fēng)格。
RMI: (Remote Method Invocation) 直接獲取遠端方法的簽名,進行調(diào)用。優(yōu)點是強類型、編譯期可檢查錯誤;缺點是只限于java語言
RPC: (Remote Procedure Call) 采用客戶端/服務(wù)器方式(請求/響應(yīng)),發(fā)送請求到服務(wù)器端,服務(wù)端執(zhí)行方法后返回結(jié)果。優(yōu)點是跨語言跨平臺,缺點是編譯期無法排錯,只能在運行時檢查。
 
2.SOAP

為了包裝RPC的請求信息,推出了XML-RPC,但XML-RPC只能使用有限的數(shù)據(jù)類型種類和一些簡單的數(shù)據(jù)結(jié)構(gòu)。于是就出現(xiàn)了SOAP(Simple Object Access Protocol)。SOAP最主要的工作是使用標(biāo)準(zhǔn)的XML描述了RPC的請求信息(URI/類/方法/參數(shù)/返回值)。理論上,SOAP就是一段xml,你可以通過http,smtp等發(fā)送它(復(fù)制到軟盤上,叫快遞公司送去也行?)。同樣SOAP也是跨語言的。
 
3.WSDL

WSDL(Web Services Description Language)是描述web服務(wù)的,是描述怎樣訪問web服務(wù)的。WSDL是用來描述SOAP的,換句話說,WSDL 文件告訴你調(diào)用 SOAP 所需要知道的一切。WSDL也是一段xml?,F(xiàn)在各個語言對wsdl的支持都很成熟,可以根據(jù)同一份wsdl文件生成自己語言的客戶端。

相關(guān)文章

  • Mac包管理器Homebrew的安裝方法

    Mac包管理器Homebrew的安裝方法

    本文詳細講解了Mac包管理器Homebrew的安裝方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 詳解BurpSuite安裝和配置

    詳解BurpSuite安裝和配置

    burpsuite是一款用于測試Web安全性的電腦網(wǎng)絡(luò)安全測試軟件,全稱為burp suite professional2020,主要是為信息安全從業(yè)人員們提供的,本文給大家介紹BurpSuite安裝和配置教程,感興趣的朋友一起看看吧
    2021-09-09
  • Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件

    Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件

    這篇文章主要為大家介紹了Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 最新WebStorm2020.2注冊碼永久激活(激活到2089年)

    最新WebStorm2020.2注冊碼永久激活(激活到2089年)

    JetBrains旗下有多款編譯器工具(如:IntelliJ、WebStorm、PyCharm等)在各編程領(lǐng)域幾乎都占據(jù)了壟斷地位。今天給大家?guī)淼氖菍ebStorm最新版激活至2089年
    2020-09-09
  • 設(shè)計引導(dǎo)--一個鴨子游戲引發(fā)的設(shè)計理念(多態(tài),繼承,抽象,接口,策略者模式)

    設(shè)計引導(dǎo)--一個鴨子游戲引發(fā)的設(shè)計理念(多態(tài),繼承,抽象,接口,策略者模式)

    設(shè)計引導(dǎo)--一個鴨子游戲引發(fā)的設(shè)計多態(tài),繼承,抽象,接口,策略者模式;這篇博文是從實際生活中,提煉出來的設(shè)計理念,它現(xiàn)在是骨架,現(xiàn)在我加以代碼實例,完成程序的血肉,以求讓大家活生生的體會設(shè)計中的精髓
    2013-01-01
  • OAuth從1.0到2.1的發(fā)展之路

    OAuth從1.0到2.1的發(fā)展之路

    OAUTH協(xié)議為用戶資源的授權(quán)提供了一個安全的、開放而又簡易的標(biāo)準(zhǔn)。簡單來說就是提供除了"賬戶密碼"驗證方式以外的驗證授權(quán)方式。這篇文章介紹了OAuth從1.0到2.1的發(fā)展之路,感興趣的同學(xué)可以收藏一下
    2021-11-11
  • 面試的時候該如何自我介紹詳解

    面試的時候該如何自我介紹詳解

    面試中自我介紹、項目是我們的重頭戲,在面試二面、三面中都起到了至關(guān)重要的的作用,這篇文章主要介紹了面試的時候該如何自我介紹的相關(guān)資料,需要的朋友可以參考下
    2008-06-06
  • skynet.dispatch 使用示例詳解

    skynet.dispatch 使用示例詳解

    skynet.dispatch 是 Skynet 框架中用于注冊消息處理函數(shù)的核心 API,它的作用是為特定類型的消息綁定處理邏輯,當(dāng)服務(wù)收到該類型的消息時,自動調(diào)用對應(yīng)的處理函數(shù),下面給大家介紹skynet.dispatch 使用,感興趣的朋友一起看看吧
    2025-04-04
  • 網(wǎng)址(URL)支持的最大長度是多少?最大支持多少個字符?

    網(wǎng)址(URL)支持的最大長度是多少?最大支持多少個字符?

    這篇文章主要介紹了網(wǎng)址(URL)支持的最大長度是多少?最大支持多少個字符?本文總結(jié)了IIS、apache服務(wù)器及瀏覽器軟件Internet Explorer、Firefox、Opera、chrome等主流的瀏覽器軟件支持情況,需要的朋友可以參考下
    2015-07-07
  • 一文教你如何本地部署DeepSeek

    一文教你如何本地部署DeepSeek

    這篇文章主要為大家詳細了如何實現(xiàn)本地部署DeepSeek,文中通過示例代碼和圖片進行了詳細的介紹,具有一定的借鑒價值,希望對大家有所幫助
    2025-02-02

最新評論

浦东新区| 古蔺县| 台北县| 高邮市| 文昌市| 双鸭山市| 绥德县| 中牟县| 永丰县| 金塔县| 康平县| 逊克县| 平阴县| 神农架林区| 蓬安县| 东兰县| 广宗县| 定州市| 乌鲁木齐市| 镇江市| 晋城| 临清市| 梓潼县| 同江市| 榆林市| 登封市| 南涧| 柯坪县| 东兰县| 舒兰市| 德昌县| 棋牌| 屏南县| 汾阳市| 正阳县| 玛纳斯县| 卢湾区| 荆州市| 贵溪市| 琼中| 库尔勒市|