RMI

目录·RMI 公司背景介绍
·RMI(远程方法调用)的组成
·RMI(远程方法调用)的原理
·RMI与CORBA的关系



RMI 公司背景介绍
  Raza Microelectronics, Inc.(RMI公司)是勇于创新的信息基础架构半导体解决方案领导厂商,其产品广泛地被应用于改善不断演进的信息基础设施。在这个演进过程中,数据中心和家庭之间的连接在强度和速率方面都逐渐升级;安全和智能化已经成为每一个网络系统环境的要求;同时,边缘网络日益成为瓶颈,促使业界需要更具扩展能力及成本优势的智能网络接入方法。RMI公司为信息基础架构设计并提供多样化的解决方案,为下一代灵活的企业和数据中心应用、智能接入和数字影像系统奠定基础。
  RMI 总部位于美国加州的库比提诺 (Cupertino) 市。RMI子公司负责运营其在中国,印度和日本的发展中心以及代表处。RMI在中国的两个全资子公司位于北京和深圳(总称,RMI中国)。
  产品
  RMI公司为信息基础设施提供一系列新一代半导体解决方案。
  XLR™线程处理器(Thread Processor™)系列
  基于MIPS64®的XLR处理器系列是全球首款为企业和数据中心关联计算(Connected Computing)应用而设计的线程处理器 (Thread Processor™)。XLR系列处理器是目前功能最强大、吞吐量最优化的处理器解决方案。
  XLR系列是基于RMI增强型MIPS64™内核,同时支持32个线程的独特构架的处理器,目前工作频率可达1.5GHz,同时支持高度集成的独立硬件安全引擎和网络应用加速器。安全、内容感知和智能应用对网络和计算的应用变得日益重要,而XLR系列处理器正是为了满足这些应用不断融合的主要推动器。这些应用包括集成安全 (防火墙、VPN、防病毒、入侵防御)、Web服务、虚拟存储、负载平衡、服务器卸载、智能路由与交换等。
  XL™处理器系列
  基于MIPS64®的XL处理器系列为数字影像应用带来了低功耗的处理器解决方案。业界领先的性价比和低功耗特性,使XL处理器系列成为针对办公室自动化和数字化娱乐市场理想的嵌入式处理器。
  Orion™智能接入(Intelligent Access™)处理器系列
  Orion智能接入处理器系列是目前集成度最高、配备服务质量保证(QoS)的EOS方案。Orion系列产品提供运营商级的解决方案,协助运营商基于现有通讯网络设施提供以以太网型式接入的多类型服务。
  Pegasus™ PDH接入处理器系列
  Pegasus系列PDH接入处理器为多类要求T1/E1/J1及T3/E3支援的接入应用提供了一个灵活的解决方案。Pegasus通过直接连接SONET/SDH或数据接口来支持Ethernet-Over-DS3应用。
  优异的半导体产品执行能力
  RMI公司拥有的电子工程设计专才使其可以快速地开发先进的半导体产品,不断提升处理器性能和集成度。作为一家具优异产品执行力的芯片厂商,RMI公司独一无二的快速提供重塑市场革命性产品的能力可使系统制造商作出对常变的市场需求做出快速反应:
  • 通过 “单芯片系统” (System-On-a-Chip) 设计方法,提供更高的集成度和更丰富的功能
  • 简化产品应用开发,帮助厂商快速地响应市场需求
  • 优化产品成本,协助厂商轻松面对具有价格弹性的市场
  • 为厂商开启新市场、新服务之大门
  RMI团队:人才+ 经验 = 成功
  RMI公司由世界级的架构师团队和具有丰富经验的管理团队创立,由首席执行官Atiq Raza先生领导。Raza先生是享誉世界、深受尊敬的半导体行业泰斗,他在三十三年的职业历程中为新一代处理器的革新做出了卓越的贡献。
  RMI公司采取积极的研发模式,其精干的研发队伍由最优秀的架构师和工程师组成。RMI公司具有快速提供重塑市场的革命性产品的能力,使得系统制造商能够对常变的市场需求做出快速反应。这个团队利用本身在半导体和系统制造行业广泛的产品开发及丰富的商业领导经验,使得RMI公司从一家概念性的新公司,快速成长为成功的高科技公司。
  制造
  RMI公司与其紧密合作的制造伙伴都完全遵守严格的质量标准,保证其产品供应的连续性及可靠性。通过采用标准的CMOS生产技术,RMI公司将产品生产外发给世界一流的具拥有大量先进半导体生产技术的晶圆制造商伙伴,通过大幅度的降低成本及对资源的战略性运用,成功地发挥了无晶圆半导体产品厂商的战略性优势。
  RMI总裁背景
  Atiq Raza
  主席兼首席执行官
  Atiq Raza是RMI公司的创立者、主席兼首席执行官。
  在创立RMI公司之前,Raza先生曾担任Advanced Micro Devices (AMD)的总裁兼首席运营长官,期间为AMD处理器产品的发展规划制定了基础,并成功推出AMD-K6和Athlon系列处理器。
  1996年1月,AMD和NexGen公司合并,Raza成为AMD管理层成员, 并任董事。在合并前,Raza先生是当时NexGen公司的主席兼首席执行官。
  Raza先生还是Matrix Semiconductors、AMI Semiconductor、Mellanox Technologies, Inc.、eASIC和TRG的董事会成员。
  RMI公司由世界级的架构师团队和具有丰富经验的管理团队创立,由首席执行官Atiq Raza先生领导。Raza先生是享誉世界、深受尊敬的半导体行业泰斗,他在三十三年的职业历程中为新一代处理器的革新做出了卓越的贡献。
  RMI公司采取积极的研发模式,其精干的研发队伍由最优秀的架构师和工程师组成。RMI公司具有快速提供重塑市场的革命性产品的能力,使得系统制造商对常变的市场需求能够做出快速反应。这个团队利用本身在半导体和系统制造行业广泛的产品开发及丰富的商业领导经验,使得RMI公司从一家概念性的新公司,快速成长为成功的高科技公司。
  RMI在中国的全资子公司位于深圳,北京等地(总称:RMI中国),使得RMI公司可以为客户提供很好的研发协助和技术支持。
  RMI中国团队:
  RMI公司的中国团队是在中国独树一帜的支持团队。团队成员全部由具有多年研发经验的高级工程师组成,团队成员对MIPS,PowerPC,IXP2400/2800等处理器及其应用,以及各种操作系统如VxWorks,Linux有着丰富的经验。与其他芯片供应商在中国的技术支持团队相比,RMI的中国团队更像是一支研发队伍,而不仅仅完成技术支持的工作。在与国内领先的通讯设备制造商的合作中,RMI团队的工作能力得到了极高的评价,从不同客户那里传来的声音都表示:RMI中国团队的技术支持工作非常高效,及时。尤其在帮助客户把RMI产品集成到客户自己的系统和网络当中方面做的很好。RMI中国团队可以真正做到帮助客户快速搭建开发平台,高效的解决技术问题,并在系统设计方面给出建设性意见,从而帮助客户大大提高工作效率,缩短产品的研发周期。
  RMI相关概述  
  RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。简单地说,这样使原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,由于J2EE是分布式程序平台,它一RMI机制实现程序组件在不同操作系统之间的通信。比如,一个EJB可以通过RMI调用Web上另一台机器上的EJB远程方法。
  RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。
  RMI目前使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信。JRMP是专为Java的远程对象制定的协议。因此,Java RMI具有Java的“Write Once,Run Anywhere”的优点,是分布式应用系统的百分之百纯Java解决方案。用Java RMI开发的应用系统可以部署在任何支持JRE(Java Run Environment Java,运行环境)的平台上。但由于JRMP是专为Java对象制定的,因此,RMI对于用非Java语言开发的应用系统的支持不足。不能与用非Java语言书写的对象进行通信。
  Java Remote Method Invocation ( RMI -- Java远程方法调用)允许您使用Java编写分布式对象。本文将介绍RMI的优点以及如何将其连接到现有的和原有的系统中,以及与用Java 编写的组件的连接。
  RMI为采用Java对象的分布式计算提供了简单而直接的途径。这些对象可以是新的Java对象,也可以是围绕现有API的简单的Java包装程序。Java体现了“编写一次就能在任何地方运行的模式。而RMI可将Java模式进行扩展,使之可在任何地方运行”。
  因为RMI是以Java为核心的,所以,它将Java的安全性和可移植性等强大功能带给了分布式计算。您可将代理和梢?务逻辑等属性移动到网络中最合适的地方。如果您要扩展Java在系统中的使用,RMI将使您充分利用其强大功能。
  RMI可利用标准Java本机方法接口JNI与现有的和原有的系统相连接。RMI还可利用标准JDBC包与现有的关系数据库连接。RMI/JNI和RMI/JDBC相结合,可帮助您利用RMI与目前使用非Java语言的现有服务器进行通信,而且在您需要时可扩展Java在这些服务器上的使用。RMI可帮助您在扩展使用时充分利用Java的强大功能。
RMI(远程方法调用)的组成
  一个正常工作的RMI系统由下面几个部分组成:
  ·远程服务的接口定义
  ·远程服务接口的具体实现
  ·桩(Stub)和框架(Skeleton)文件
  ·一个运行远程服务的服务器
  ·一个RMI命名服务,它允许客户端去发现这个远程服务
  ·类文件的提供者(一个HTTP或者FTP服务器)
  ·一个需要这个远程服务的客户端程序
RMI(远程方法调用)的原理
  RMI系统结构,在客户端和服务器端都有几层结构。
  --------- ----------
  | 客户 | | 服务器|
  ---------- ----------
  | |
  ------------- ----------
  | 占位程序 | | 骨干网 |
  -------------- -----------
  | |
  ------------------------------------
  | 远 程 引 用 层 |
  ------------------------------------
  | |
  ------------------------------------
  | 传 输 层 |
  ------------------------------------
  方法调用从客户对象经占位程序(Stub)、远程引用层(Remote Reference Layer)和传输层(Transport Layer)向下,传递给主机,然后再次经传 输层,向上穿过远程调用层和骨干网(Skeleton),到达服务器对象。 占位程序扮演着远程服务器对象的代理的角色,使该对象可被客户激活。 远程引用层处理语义、管理单一或多重对象的通信,决定调用是应发往一个服务器还是多个。传输层管理实际的连接,并且追追踪可以接受方法调用的远程对象。服务器端的骨干网完成对服务器对象实际的方法调用,并获取返回值。返回值向下经远程引用层、服务器端的传输层传递回客户端,再向上经传输层和远程调用层返回。最后,占位程序获得返回值。
  要完成以上步骤需要有以下几个步骤:
  1、生成一个远程接口
  2、实现远程对象(服务器端程序)
  3、生成占位程序和骨干网(服务器端程序)
  4、编写服务器程序
  5、编写客户程序
  6、注册远程对象
  7、启动远程对象
  具体实现如下:
  1、生成一个远程接口
  package c15.ptime;
  import java.rmi.*;
  public interface PerfectTimeI extends Remote {
  long getPerfectTime() throws RemoteException;
  }
  2、实现远程对象(服务器端程序)
  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版本的,
  不要奇怪为什么只产生了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的配置文件 (客户机和服务器的都需要经过修改)
  %JRE_HOME%\policytool.exe
  11、启动客户程序
  java -classpath . c15.ptime.DisplayPerfectTime
  12、返回结果
  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(远程方法调用)的优点
  从最基本的角度看,RMI是Java的远程过程调用(RPC)机制。与传统的RPC系统相比,RMI具有若干优点,因为它是Java面向对象方法的一部分。传统的RPC系统采用中性语言,所以是最普通的系统--它们不能提供所有可能的目标平台所具有的功能。
  RMI以Java为核心,可与采用本机方法与现有系统相连接。这就是说,RMI可采用自然、直接和功能全面的方式为您提供分布式计算技术,而这种技术可帮助您以不断递增和无缝的方式为整个系统添加Java功能。
  RMI的主要优点如下:
  面向对象:RMI可将完整的对象作为参数和返回值进行传递,而不仅仅是预定义的数据类型。也就是说,您可以将类似Java哈希表这样的复杂类型作为一个参数进行传递。而在目前的RPC系统中,您只能依靠客户机将此类对象分解成基本数据类型,然后传递这些数据类型,最后在服务器端重新创建哈希表。RMI则不需额外的客户程序代码(将对象分解成基本数据类型),直接跨网传递对象。
  可移动属性:RMI可将属性(类实现程序)从客户机移动到服务器,或者从服务器移到客户机。例如,您可以定义一个检查雇员开支报告的接口,以便察看雇员是否遵守了公司目前实行的政策。在开支报告创建后,客户机就会从服务器端获得实现该接口的对象。如果政策发生变化,服务器端就会开始返回使用了新政策的该接口的另一个实现程序。您不必在用户系统上安装任何新的软件就能在客户端检查限制条件--从而向用户提供烁快的反馈,并降低服务器的工作量。这样就能具备最大的灵活性,因为政策改变时只需要您编写一个新的Java类,并将其在服务器主机上安装一次即可。
  设计方式:对象传递功能使您可以在分布式计算中充分利用面向对象技术的强大功能,如二层和三层结构系统。如果您能够传递属性,那么您就可以在您的解决方案中使用面向对象的设计方式。所有面向对象的设计方式无不依靠不同的属性来发挥功能,如果不能传递完整的对象--包括实现和类型--就会失去设计方式上所提供的优点。
  安 全:RMI使用Java内置的安全机制保证下载执行程序时用户系统的安全。RMI使用专门为保护系统免遭恶意小应用程序侵害而设计的安全管理程序,可保护您的系统和网络免遭潜在的恶意下载程序的破坏。在情况严重时,服务器可拒绝下载任何执行程序。
  便于编写和使用:RMI使得Java远程服务程序和访问这些服务程序的Java客户程序的编写工作变得轻松、简单。远程接口实际上就是Java接口。服务程序大约用三行指令宣布本身是服务程序,其它方面则与任何其它Java对象类似。这种简单方法便于快速编写完整的分布式对象系统的服务程序,并快速地制做软件的原型和早期版本,以便于进行测试和评估。因为RMI程序编写简单,所以维护也简单。
  可连接现有/原有的系统:RMI可通过Java的本机方法接口JNI与现有系统进行进行交互。利用RMI和JNI,您就能用Java语言编写客户端程序,还能使用现有的服务器端程序。在使用RMI/JNI与现有服务器连接时,您可以有选择地用Java重新编写服务程序的任何部分,并使新的程序充分发挥Java的功能。类似地,RMI可利用JDBC、在不修改使用数据库的现有非Java源代码的前提下与现有关系数据库进行交互。
  编写一次,到处运行:RMI是Java“编写一次,到处运行 ”方法的一部分。任何基于RMI的系统均可100%地移植到任何Java虚拟机上,RMI/JDBC系统也不例外。如果使用RMI/JNI与现有系统进行交互工作,则采用JNI编写的代码可与任何Java虚拟机进行编译、运行。
  分布式垃圾收集:RMI采用其分布式垃圾收集功能收集不再被网络中任何客户程序所引用的远程服务对象。与Java 虚拟机内部的垃圾收集类似,分布式垃圾收集功能允许用户根据自己的需要定义服务器对象,并且明确这些对象在不再被客户机引用时会被删除。
  并行计算:RMI采用多线程处理方法,可使您的服务器利用这些Java线程更好地并行处理客户端的请求。Java分布式计算解决方案:RMI从JDK 1.1开始就是Java平台的核心部分,因此,它存在于任何一台1.1 Java虚拟机中。所有RMI系统均采用相同的公开协议,所以,所有Java 系统均可直接相互对话,而不必事先对协议进行转换。
RMI与CORBA的关系
  RMI 和 CORBA 常被视为相互竞争的技术,因为两者都提供对远程分布式对象的透明访问。但这两种技术实际上是相互补充的,一者的长处正好可以弥补另一者的短处。RMI 和 CORBA 的结合产生了 RMI-IIOP,RMI-IIOP 是企业服务器端 Java 开发的基础。
  1997 年,IBM 和 Sun Microsystems启动了一项旨在促进 Java 作为企业开发技术的发展的合作计划。两家公司特别着力于如何将 Java 用作服务器端语言,生成可以结合进现有体系结构的企业级代码。所需要的就是一种远程传输技术,它兼有 Java 的 RMI(Remote Method Invocation,远程方法调用)较少的资源占用量和更成熟的 CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)技术的健壮性。出于这一需要,RMI-IIOP问世了,它帮助将 Java 语言推向了目前服务器端企业开发的主流语言的领先地位。

相关词条:
Terminal  RMIS  RMII  Beam Forming  NCCPERMITTED  Beamforming  
 
自定义分类:
网络计算机JavaJ2EE
 
贡献者:
jxwnwh中国通信一员
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4