CORBA與RMI的區別
CORBA(公共物件請求代理體系結構)和RMI(遠端方法呼叫)是Java中用於支援分散式計算的中介軟體技術。CORBA(公共物件請求代理體系結構)是一種中介軟體技術,允許網路環境中的分散式物件相互通訊。RMI(遠端方法呼叫)是一種中介軟體技術,允許Java物件呼叫遠端JVM(Java虛擬機器)物件上的方法。
閱讀本文,瞭解更多關於CORBA和RMI以及它們之間區別的資訊。
什麼是CORBA?
CORBA(公共物件請求代理體系結構)是一種中介軟體技術,允許網路環境中的分散式物件相互通訊。它是一個規範,描述了用不同程式語言編寫的物件如何相互通訊。CORBA是一種平臺和語言無關的分散式計算方法。
CORBA的核心思想是,客戶端應用程式向伺服器物件傳送服務請求,伺服器物件提供請求的服務並將結果返回給客戶端。物件請求代理(ORB)是實現此目的的中介軟體元件。ORB管理客戶端和伺服器之間的通訊。
物件定位、物件啟用、引數編組和錯誤處理都是ORB為客戶端和伺服器物件提供的服務。當客戶端應用程式需要在伺服器物件上執行方法時,它首先連線到ORB,ORB負責定位和啟用正確的伺服器物件。然後,ORB在將方法引數傳遞給伺服器物件之前對其進行編組,伺服器物件執行請求的操作,並透過ORB將結果傳送回客戶端。
CORBA還具有全面的功能和服務集合,例如安全、事務、事件和命名。這些服務允許開發健壯且可靠的分散式系統,用於關鍵任務應用程式。
什麼是RMI?
RMI(遠端方法呼叫)是一種中介軟體技術,允許Java物件呼叫遠端JVM(Java虛擬機器)物件上的方法。它提供了一種平臺相關的Java分散式計算方法。
RMI的基本概念是,在一個JVM上執行的客戶端程式可以呼叫在另一個JVM上執行的伺服器物件上的方法。這是透過使用實現遠端介面的遠端物件來實現的。遠端物件註冊到RMI登錄檔中,允許客戶端定位它並呼叫其方法。
當客戶端應用程式想要呼叫遠端物件上的方法時,它首先聯絡RMI登錄檔以獲取對遠端物件的引用。然後,客戶端可以使用遠端物件的方法,就好像它是本地物件一樣。RMI系統負責編組方法引數和向客戶端提供結果。
RMI提供各種服務來促進客戶端-伺服器通訊,包括物件序列化、存根和骨架生成以及垃圾回收。物件序列化是將物件轉換為可以跨網路傳輸的位元組流的過程。存根和骨架生成是建立允許客戶端和伺服器之間通訊的客戶端和伺服器端元件的過程。垃圾回收是自動釋放不再需要的物件使用的記憶體的過程。
RMI經常用於客戶端-伺服器應用程式,其中在使用者計算機上執行的客戶端應用程式需要訪問在遠端系統上執行的伺服器提供的 資料或服務。它也用於企業應用程式,以協調跨多個系統和部門使用分散式物件的活動。
CORBA與RMI的區別
下表重點介紹了CORBA和RMI的主要區別:
特徵 |
CORBA |
RMI |
|---|---|---|
協議 |
CORBA協議 |
Java遠端方法協議(JRMP) |
語言支援 |
支援多種程式語言 |
僅支援Java |
架構 |
基於物件請求代理(ORB)的分散式物件中介軟體 |
基於遠端物件的客戶端-伺服器架構 |
複雜性 |
更復雜,需要更多設定和配置。 |
更簡單,需要較少的設定和配置。 |
安全性 |
提供安全服務,例如身份驗證、授權和加密。 |
提供安全服務,例如身份驗證和加密。 |
效能 |
由於ORB的額外開銷,通常較慢。 |
由於架構更簡單,通常更快。 |
用途 |
適用於具有異構元件的複雜分散式系統 |
適用於完全用Java構建的更簡單的分散式系統 |
全稱 |
公共物件請求代理體系結構 (CORBA) |
遠端方法呼叫 (RMI) |
結論
總之,CORBA和RMI都是允許在Java中進行分散式計算的中介軟體技術,但它們在架構、協議、語言支援、安全性和相容性方面有所不同。CORBA更靈活,可以與多種程式語言和作業系統一起使用,而RMI更簡單、更安全,並且專門為Java而設計。CORBA和RMI的選擇取決於應用程式的具體需求及其部署環境。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP