百科解釋
目錄·RMI 公司背景介紹·RMI(遠程方法調(diào)用)的組成·RMI(遠程方法調(diào)用)的原理·RMI與CORBA的關(guān)系 RMI 公司背景介紹 Raza Microelectronics, Inc.(RMI公司)是勇于創(chuàng)新的信息基礎(chǔ)架構(gòu)半導體解決方案領(lǐng)導廠商,其產(chǎn)品廣泛地被應用于改善不斷演進的信息基礎(chǔ)設施。在這個演進過程中,數(shù)據(jù)中心和家庭之間的連接在強度和速率方面都逐漸升級;安全和智能化已經(jīng)成為每一個網(wǎng)絡系統(tǒng)環(huán)境的要求;同時,邊緣網(wǎng)絡日益成為瓶頸,促使業(yè)界需要更具擴展能力及成本優(yōu)勢的智能網(wǎng)絡接入方法。RMI公司為信息基礎(chǔ)架構(gòu)設計并提供多樣化的解決方案,為下一代靈活的企業(yè)和數(shù)據(jù)中心應用、智能接入和數(shù)字影像系統(tǒng)奠定基礎(chǔ)。 RMI 總部位于美國加州的庫比提諾 (Cupertino) 市。RMI子公司負責運營其在中國,印度和日本的發(fā)展中心以及代表處。RMI在中國的兩個全資子公司位于北京和深圳(總稱,RMI中國)。 產(chǎn)品 RMI公司為信息基礎(chǔ)設施提供一系列新一代半導體解決方案。 XLR&#8482;線程處理器(Thread Processor&#8482;)系列 基于MIPS64®的XLR處理器系列是全球首款為企業(yè)和數(shù)據(jù)中心關(guān)聯(lián)計算(Connected Computing)應用而設計的線程處理器 (Thread Processor&#8482;)。XLR系列處理器是目前功能最強大、吞吐量最優(yōu)化的處理器解決方案。 XLR系列是基于RMI增強型MIPS64&#8482;內(nèi)核,同時支持32個線程的獨特構(gòu)架的處理器,目前工作頻率可達1.5GHz,同時支持高度集成的獨立硬件安全引擎和網(wǎng)絡應用加速器。安全、內(nèi)容感知和智能應用對網(wǎng)絡和計算的應用變得日益重要,而XLR系列處理器正是為了滿足這些應用不斷融合的主要推動器。這些應用包括集成安全 (防火墻、VPN、防病毒、入侵防御)、Web服務、虛擬存儲、負載平衡、服務器卸載、智能路由與交換等。 XL&#8482;處理器系列 基于MIPS64®的XL處理器系列為數(shù)字影像應用帶來了低功耗的處理器解決方案。業(yè)界領(lǐng)先的性價比和低功耗特性,使XL處理器系列成為針對辦公室自動化和數(shù)字化娛樂市場理想的嵌入式處理器。 Orion&#8482;智能接入(Intelligent Access&#8482;)處理器系列 Orion智能接入處理器系列是目前集成度最高、配備服務質(zhì)量保證(QoS)的EOS方案。Orion系列產(chǎn)品提供運營商級的解決方案,協(xié)助運營商基于現(xiàn)有通訊網(wǎng)絡設施提供以以太網(wǎng)型式接入的多類型服務。 Pegasus&#8482; PDH接入處理器系列 Pegasus系列PDH接入處理器為多類要求T1/E1/J1及T3/E3支援的接入應用提供了一個靈活的解決方案。Pegasus通過直接連接SONET/SDH或數(shù)據(jù)接口來支持Ethernet-Over-DS3應用。 優(yōu)異的半導體產(chǎn)品執(zhí)行能力 RMI公司擁有的電子工程設計專才使其可以快速地開發(fā)先進的半導體產(chǎn)品,不斷提升處理器性能和集成度。作為一家具優(yōu)異產(chǎn)品執(zhí)行力的芯片廠商,RMI公司獨一無二的快速提供重塑市場革命性產(chǎn)品的能力可使系統(tǒng)制造商作出對常變的市場需求做出快速反應: &#8226; 通過 “單芯片系統(tǒng)” (System-On-a-Chip) 設計方法,提供更高的集成度和更豐富的功能 &#8226; 簡化產(chǎn)品應用開發(fā),幫助廠商快速地響應市場需求 &#8226; 優(yōu)化產(chǎn)品成本,協(xié)助廠商輕松面對具有價格彈性的市場 &#8226; 為廠商開啟新市場、新服務之大門 RMI團隊:人才+ 經(jīng)驗 = 成功 RMI公司由世界級的架構(gòu)師團隊和具有豐富經(jīng)驗的管理團隊創(chuàng)立,由首席執(zhí)行官Atiq Raza先生領(lǐng)導。Raza先生是享譽世界、深受尊敬的半導體行業(yè)泰斗,他在三十三年的職業(yè)歷程中為新一代處理器的革新做出了卓越的貢獻。 RMI公司采取積極的研發(fā)模式,其精干的研發(fā)隊伍由最優(yōu)秀的架構(gòu)師和工程師組成。RMI公司具有快速提供重塑市場的革命性產(chǎn)品的能力,使得系統(tǒng)制造商能夠?qū)ΤW兊氖袌鲂枨笞龀隹焖俜磻_@個團隊利用本身在半導體和系統(tǒng)制造行業(yè)廣泛的產(chǎn)品開發(fā)及豐富的商業(yè)領(lǐng)導經(jīng)驗,使得RMI公司從一家概念性的新公司,快速成長為成功的高科技公司。 制造 RMI公司與其緊密合作的制造伙伴都完全遵守嚴格的質(zhì)量標準,保證其產(chǎn)品供應的連續(xù)性及可靠性。通過采用標準的CMOS生產(chǎn)技術(shù),RMI公司將產(chǎn)品生產(chǎn)外發(fā)給世界一流的具擁有大量先進半導體生產(chǎn)技術(shù)的晶圓制造商伙伴,通過大幅度的降低成本及對資源的戰(zhàn)略性運用,成功地發(fā)揮了無晶圓半導體產(chǎn)品廠商的戰(zhàn)略性優(yōu)勢。 RMI總裁背景 Atiq Raza 主席兼首席執(zhí)行官 Atiq Raza是RMI公司的創(chuàng)立者、主席兼首席執(zhí)行官。 在創(chuàng)立RMI公司之前,Raza先生曾擔任Advanced Micro Devices (AMD)的總裁兼首席運營長官,期間為AMD處理器產(chǎn)品的發(fā)展規(guī)劃制定了基礎(chǔ),并成功推出AMD-K6和Athlon系列處理器。 1996年1月,AMD和NexGen公司合并,Raza成為AMD管理層成員, 并任董事。在合并前,Raza先生是當時NexGen公司的主席兼首席執(zhí)行官。 Raza先生還是Matrix Semiconductors、AMI Semiconductor、Mellanox Technologies, Inc.、eASIC和TRG的董事會成員。 RMI公司由世界級的架構(gòu)師團隊和具有豐富經(jīng)驗的管理團隊創(chuàng)立,由首席執(zhí)行官Atiq Raza先生領(lǐng)導。Raza先生是享譽世界、深受尊敬的半導體行業(yè)泰斗,他在三十三年的職業(yè)歷程中為新一代處理器的革新做出了卓越的貢獻。 RMI公司采取積極的研發(fā)模式,其精干的研發(fā)隊伍由最優(yōu)秀的架構(gòu)師和工程師組成。RMI公司具有快速提供重塑市場的革命性產(chǎn)品的能力,使得系統(tǒng)制造商對常變的市場需求能夠做出快速反應。這個團隊利用本身在半導體和系統(tǒng)制造行業(yè)廣泛的產(chǎn)品開發(fā)及豐富的商業(yè)領(lǐng)導經(jīng)驗,使得RMI公司從一家概念性的新公司,快速成長為成功的高科技公司。 RMI在中國的全資子公司位于深圳,北京等地(總稱:RMI中國),使得RMI公司可以為客戶提供很好的研發(fā)協(xié)助和技術(shù)支持。 RMI中國團隊: RMI公司的中國團隊是在中國獨樹一幟的支持團隊。團隊成員全部由具有多年研發(fā)經(jīng)驗的高級工程師組成,團隊成員對MIPS,PowerPC,IXP2400/2800等處理器及其應用,以及各種操作系統(tǒng)如VxWorks,Linux有著豐富的經(jīng)驗。與其他芯片供應商在中國的技術(shù)支持團隊相比,RMI的中國團隊更像是一支研發(fā)隊伍,而不僅僅完成技術(shù)支持的工作。在與國內(nèi)領(lǐng)先的通訊設備制造商的合作中,RMI團隊的工作能力得到了極高的評價,從不同客戶那里傳來的聲音都表示:RMI中國團隊的技術(shù)支持工作非常高效,及時。尤其在幫助客戶把RMI產(chǎn)品集成到客戶自己的系統(tǒng)和網(wǎng)絡當中方面做的很好。RMI中國團隊可以真正做到幫助客戶快速搭建開發(fā)平臺,高效的解決技術(shù)問題,并在系統(tǒng)設計方面給出建設性意見,從而幫助客戶大大提高工作效率,縮短產(chǎn)品的研發(fā)周期。 RMI相關(guān)概述 RMI是Java的一組擁護開發(fā)分布式應用程序的API。RMI使用Java語言接口定義了遠程對象,它集合了Java序列化和Java遠程方法協(xié)議(Java Remote Method Protocol)。簡單地說,這樣使原先的程序在同一操作系統(tǒng)的方法調(diào)用,變成了不同操作系統(tǒng)之間程序的方法調(diào)用,由于J2EE是分布式程序平臺,它一RMI機制實現(xiàn)程序組件在不同操作系統(tǒng)之間的通信。比如,一個EJB可以通過RMI調(diào)用Web上另一臺機器上的EJB遠程方法。 RMI(Remote Method Invocation,遠程方法調(diào)用)是用Java在JDK1.1中實現(xiàn)的,它大大增強了Java開發(fā)分布式應用的能力。Java作為一種風靡一時的網(wǎng)絡開發(fā)語言,其巨大的威力就體現(xiàn)在它強大的開發(fā)分布式網(wǎng)絡應用的能力上,而RMI就是開發(fā)百分之百純Java的網(wǎng)絡分布式應用系統(tǒng)的核心解決方案之一。其實它可以被看作是RPC的Java版本。但是傳統(tǒng)RPC并不能很好地應用于分布式對象系統(tǒng)。而Java RMI 則支持存儲于不同地址空間的程序級對象之間彼此進行通信,實現(xiàn)遠程對象之間的無縫遠程調(diào)用。 RMI目前使用Java遠程消息交換協(xié)議JRMP(Java Remote Messaging Protocol)進行通信。JRMP是專為Java的遠程對象制定的協(xié)議。因此,Java RMI具有Java的“Write Once,Run Anywhere”的優(yōu)點,是分布式應用系統(tǒng)的百分之百純Java解決方案。用Java RMI開發(fā)的應用系統(tǒng)可以部署在任何支持JRE(Java Run Environment Java,運行環(huán)境)的平臺上。但由于JRMP是專為Java對象制定的,因此,RMI對于用非Java語言開發(fā)的應用系統(tǒng)的支持不足。不能與用非Java語言書寫的對象進行通信。 Java Remote Method Invocation ( RMI -- Java遠程方法調(diào)用)允許您使用Java編寫分布式對象。本文將介紹RMI的優(yōu)點以及如何將其連接到現(xiàn)有的和原有的系統(tǒng)中,以及與用Java 編寫的組件的連接。 RMI為采用Java對象的分布式計算提供了簡單而直接的途徑。這些對象可以是新的Java對象,也可以是圍繞現(xiàn)有API的簡單的Java包裝程序。Java體現(xiàn)了“編寫一次就能在任何地方運行的模式。而RMI可將Java模式進行擴展,使之可在任何地方運行”。 因為RMI是以Java為核心的,所以,它將Java的安全性和可移植性等強大功能帶給了分布式計算。您可將代理和梢?務邏輯等屬性移動到網(wǎng)絡中最合適的地方。如果您要擴展Java在系統(tǒng)中的使用,RMI將使您充分利用其強大功能。 RMI可利用標準Java本機方法接口JNI與現(xiàn)有的和原有的系統(tǒng)相連接。RMI還可利用標準JDBC包與現(xiàn)有的關(guān)系數(shù)據(jù)庫連接。RMI/JNI和RMI/JDBC相結(jié)合,可幫助您利用RMI與目前使用非Java語言的現(xiàn)有服務器進行通信,而且在您需要時可擴展Java在這些服務器上的使用。RMI可幫助您在擴展使用時充分利用Java的強大功能。RMI(遠程方法調(diào)用)的組成 一個正常工作的RMI系統(tǒng)由下面幾個部分組成: ·遠程服務的接口定義 ·遠程服務接口的具體實現(xiàn) ·樁(Stub)和框架(Skeleton)文件 ·一個運行遠程服務的服務器 ·一個RMI命名服務,它允許客戶端去發(fā)現(xiàn)這個遠程服務 ·類文件的提供者(一個HTTP或者FTP服務器) ·一個需要這個遠程服務的客戶端程序RMI(遠程方法調(diào)用)的原理 RMI系統(tǒng)結(jié)構(gòu),在客戶端和服務器端都有幾層結(jié)構(gòu)。 --------- ---------- | 客戶 | | 服務器| ---------- ---------- | | ------------- ---------- | 占位程序 | | 骨干網(wǎng) | -------------- ----------- | | ------------------------------------ | 遠 程 引 用 層 | ------------------------------------ | | ------------------------------------ | 傳 輸 層 | ------------------------------------ 方法調(diào)用從客戶對象經(jīng)占位程序(Stub)、遠程引用層(Remote Reference Layer)和傳輸層(Transport Layer)向下,傳遞給主機,然后再次經(jīng)傳 輸層,向上穿過遠程調(diào)用層和骨干網(wǎng)(Skeleton),到達服務器對象。 占位程序扮演著遠程服務器對象的代理的角色,使該對象可被客戶激活。 遠程引用層處理語義、管理單一或多重對象的通信,決定調(diào)用是應發(fā)往一個服務器還是多個。傳輸層管理實際的連接,并且追追蹤可以接受方法調(diào)用的遠程對象。服務器端的骨干網(wǎng)完成對服務器對象實際的方法調(diào)用,并獲取返回值。返回值向下經(jīng)遠程引用層、服務器端的傳輸層傳遞回客戶端,再向上經(jīng)傳輸層和遠程調(diào)用層返回。最后,占位程序獲得返回值。 要完成以上步驟需要有以下幾個步驟: 1、生成一個遠程接口 2、實現(xiàn)遠程對象(服務器端程序) 3、生成占位程序和骨干網(wǎng)(服務器端程序) 4、編寫服務器程序 5、編寫客戶程序 6、注冊遠程對象 7、啟動遠程對象 具體實現(xiàn)如下: 1、生成一個遠程接口 package c15.ptime; import java.rmi.*; public interface PerfectTimeI extends Remote { long getPerfectTime() throws RemoteException; } 2、實現(xiàn)遠程對象(服務器端程序) package c15.ptime; import java.rmi.*; import java.rmi.server.*; import java.rmi.registry.*; import java.net.*; public class PerfectTime extends UnicastRemoteObject implements PerfectTimeI { public long getPerfectTime() throws RemoteException { return System.currentTimeMillis(); } public PerfectTime() throws RemoteException { super(); } public static void main(String[] args) { System.setSecurityManager( new RMISecurityManager()); try { PerfectTime pt = new PerfectTime(); Naming.rebind( "//zhouty:2005/PerfectTime" , pt); System.out.println("Ready to do time"); } catch(Exception e) { e.printStackTrace(); } } } 4、編譯遠程對象(服務器端程序) javac -classpath . -d . PerfectTime.java 5、生成根和干(占位程序和骨干程序) rmic -classpath . -d . c15.ptime.PerfectTime 注:jdk1.2以后的都不需要skeleton,所以如果你用的jdk為5.0版本的, 不要奇怪為什么只產(chǎn)生了stub沒有skeleton。 6、注冊遠程對象 start rmiregistry 2005 注:綁定服務的默認端口為1099,如果使用了這個端口,則可以直接使用 start rmiregistry而不需要跟端口 如果這種注冊遠程對象的方法不起作用. 還有一種方法就是在綁定服務之前使用LocateRegistry.createRegistry(1099) 來注冊遠程對象. 7、啟動服務器端程序 java -Djava.rmi.server.codebase=file:///d:/TestRMI/ c15.ptime.Per fectTime 8、編寫客戶端程序 package c15.ptime; import java.rmi.*; import java.rmi.registry.*; public class DisplayPerfectTime { public static void main(String[] args) { System.setSecurityManager( new RMISecurityManager()); try { PerfectTimeI t = (PerfectTimeI)Naming.lookup( "192.168.0.171:2005/PerfectTime"); for(int i = 0 ; i < 10; i++) System.out.println("Perfect time =" + t.getPerfectTime()); } catch(Exception e) { e.printStackTrace(); } } } 9、編譯客端程序 javac -classpath . -d . DisplayPerfectTime.java 10、修改JVM的配置文件 (客戶機和服務器的都需要經(jīng)過修改) %JRE_HOME%policytool.exe 11、啟動客戶程序 java -classpath . c15.ptime.DisplayPerfectTime 12、返回結(jié)果 Perfect time =967274884390 Perfect time =967274884450 Perfect time =967274884450 Perfect time =967274884450 Perfect time =967274884500 Perfect time =967274884500 Perfect time =967274884560 Perfect time =967274884610 Perfect time =967274884610 Perfect time =967274884610 RMI(遠程方法調(diào)用)的優(yōu)點 從最基本的角度看,RMI是Java的遠程過程調(diào)用(RPC)機制。與傳統(tǒng)的RPC系統(tǒng)相比,RMI具有若干優(yōu)點,因為它是Java面向?qū)ο蠓椒ǖ囊徊糠。傳統(tǒng)的RPC系統(tǒng)采用中性語言,所以是最普通的系統(tǒng)--它們不能提供所有可能的目標平臺所具有的功能。 RMI以Java為核心,可與采用本機方法與現(xiàn)有系統(tǒng)相連接。這就是說,RMI可采用自然、直接和功能全面的方式為您提供分布式計算技術(shù),而這種技術(shù)可幫助您以不斷遞增和無縫的方式為整個系統(tǒng)添加Java功能。 RMI的主要優(yōu)點如下: 面向?qū)ο螅篟MI可將完整的對象作為參數(shù)和返回值進行傳遞,而不僅僅是預定義的數(shù)據(jù)類型。也就是說,您可以將類似Java哈希表這樣的復雜類型作為一個參數(shù)進行傳遞。而在目前的RPC系統(tǒng)中,您只能依靠客戶機將此類對象分解成基本數(shù)據(jù)類型,然后傳遞這些數(shù)據(jù)類型,最后在服務器端重新創(chuàng)建哈希表。RMI則不需額外的客戶程序代碼(將對象分解成基本數(shù)據(jù)類型),直接跨網(wǎng)傳遞對象。 可移動屬性:RMI可將屬性(類實現(xiàn)程序)從客戶機移動到服務器,或者從服務器移到客戶機。例如,您可以定義一個檢查雇員開支報告的接口,以便察看雇員是否遵守了公司目前實行的政策。在開支報告創(chuàng)建后,客戶機就會從服務器端獲得實現(xiàn)該接口的對象。如果政策發(fā)生變化,服務器端就會開始返回使用了新政策的該接口的另一個實現(xiàn)程序。您不必在用戶系統(tǒng)上安裝任何新的軟件就能在客戶端檢查限制條件--從而向用戶提供爍快的反饋,并降低服務器的工作量。這樣就能具備最大的靈活性,因為政策改變時只需要您編寫一個新的Java類,并將其在服務器主機上安裝一次即可。 設計方式:對象傳遞功能使您可以在分布式計算中充分利用面向?qū)ο蠹夹g(shù)的強大功能,如二層和三層結(jié)構(gòu)系統(tǒng)。如果您能夠傳遞屬性,那么您就可以在您的解決方案中使用面向?qū)ο蟮脑O計方式。所有面向?qū)ο蟮脑O計方式無不依靠不同的屬性來發(fā)揮功能,如果不能傳遞完整的對象--包括實現(xiàn)和類型--就會失去設計方式上所提供的優(yōu)點。 安 全:RMI使用Java內(nèi)置的安全機制保證下載執(zhí)行程序時用戶系統(tǒng)的安全。RMI使用專門為保護系統(tǒng)免遭惡意小應用程序侵害而設計的安全管理程序,可保護您的系統(tǒng)和網(wǎng)絡免遭潛在的惡意下載程序的破壞。在情況嚴重時,服務器可拒絕下載任何執(zhí)行程序。 便于編寫和使用:RMI使得Java遠程服務程序和訪問這些服務程序的Java客戶程序的編寫工作變得輕松、簡單。遠程接口實際上就是Java接口。服務程序大約用三行指令宣布本身是服務程序,其它方面則與任何其它Java對象類似。這種簡單方法便于快速編寫完整的分布式對象系統(tǒng)的服務程序,并快速地制做軟件的原型和早期版本,以便于進行測試和評估。因為RMI程序編寫簡單,所以維護也簡單。 可連接現(xiàn)有/原有的系統(tǒng):RMI可通過Java的本機方法接口JNI與現(xiàn)有系統(tǒng)進行進行交互。利用RMI和JNI,您就能用Java語言編寫客戶端程序,還能使用現(xiàn)有的服務器端程序。在使用RMI/JNI與現(xiàn)有服務器連接時,您可以有選擇地用Java重新編寫服務程序的任何部分,并使新的程序充分發(fā)揮Java的功能。類似地,RMI可利用JDBC、在不修改使用數(shù)據(jù)庫的現(xiàn)有非Java源代碼的前提下與現(xiàn)有關(guān)系數(shù)據(jù)庫進行交互。 編寫一次,到處運行:RMI是Java“編寫一次,到處運行 ”方法的一部分。任何基于RMI的系統(tǒng)均可100%地移植到任何Java虛擬機上,RMI/JDBC系統(tǒng)也不例外。如果使用RMI/JNI與現(xiàn)有系統(tǒng)進行交互工作,則采用JNI編寫的代碼可與任何Java虛擬機進行編譯、運行。 分布式垃圾收集:RMI采用其分布式垃圾收集功能收集不再被網(wǎng)絡中任何客戶程序所引用的遠程服務對象。與Java 虛擬機內(nèi)部的垃圾收集類似,分布式垃圾收集功能允許用戶根據(jù)自己的需要定義服務器對象,并且明確這些對象在不再被客戶機引用時會被刪除。 并行計算:RMI采用多線程處理方法,可使您的服務器利用這些Java線程更好地并行處理客戶端的請求。Java分布式計算解決方案:RMI從JDK 1.1開始就是Java平臺的核心部分,因此,它存在于任何一臺1.1 Java虛擬機中。所有RMI系統(tǒng)均采用相同的公開協(xié)議,所以,所有Java 系統(tǒng)均可直接相互對話,而不必事先對協(xié)議進行轉(zhuǎn)換。RMI與CORBA的關(guān)系 RMI 和 CORBA 常被視為相互競爭的技術(shù),因為兩者都提供對遠程分布式對象的透明訪問。但這兩種技術(shù)實際上是相互補充的,一者的長處正好可以彌補另一者的短處。RMI 和 CORBA 的結(jié)合產(chǎn)生了 RMI-IIOP,RMI-IIOP 是企業(yè)服務器端 Java 開發(fā)的基礎(chǔ)。 1997 年,IBM 和 Sun Microsystems啟動了一項旨在促進 Java 作為企業(yè)開發(fā)技術(shù)的發(fā)展的合作計劃。兩家公司特別著力于如何將 Java 用作服務器端語言,生成可以結(jié)合進現(xiàn)有體系結(jié)構(gòu)的企業(yè)級代碼。所需要的就是一種遠程傳輸技術(shù),它兼有 Java 的 RMI(Remote Method Invocation,遠程方法調(diào)用)較少的資源占用量和更成熟的 CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結(jié)構(gòu))技術(shù)的健壯性。出于這一需要,RMI-IIOP問世了,它幫助將 Java 語言推向了目前服務器端企業(yè)開發(fā)的主流語言的領(lǐng)先地位。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責聲明 | 關(guān)于詞典 | 幫助