论文部分内容阅读
RMI是Java的分布式通信框架,使用它可以编写Java分布式程序,RMI的优点在于它接口定义非常简单,不需要学习IDL语言复杂的语法规则。但是RMI缺乏与其它编程语言的互操作性,它使用JRMP协议来实现远程通信,而JRMP是非标准通信协议,所以是不能与CORBA进行通信的。 IIOP是CORBA使用的通信协议。CORBA是由OMG定义的标准分布式对象体系结构,在CORBA2.0中引入了一个通用的ORB互操作性结构体系,称为GIOP,它是一个抽象的协议。IIOP是GIOP的TCP/IP实现,目前所有的ORB产品都可以使用IIOP进行通信。 在java编程时,使用RMI或者CORBA/IIOP各自有其优缺点。RMI—IIOP则是将两者结合起来的一个解决方案。RMI—IIOP兼具了RMI的简单易用和CORBA在不同语言间的互操作性,在一定的限制下,使得RMI对象可以使用IIOP协议,也可以与CORBA对象相互通信。 本课题设计并实现了基于ORB的RMI—IIOP模块。它属于J2EE应用服务器体系中EJB设计的一部分。RMI—IIOP的实现使EJB具有与CORBA客户机和服务器进行成功交互的能力,从而使EJB可以应用在大型异构企业系统中,而不用对系统结构进行不必要的限制。 本文详细阐述了RMI—IIOP设计思想与实现过程。首先阐述了RMI—IIOP的体系结构以及设计所遵循的规范,然后在不同的章节具体描述了各个不同模块的设计与实现。第三章的内容是RMI—IIOP编译器的设计与实现,其中包括编译器的功能,存根和骨架在远程调用中的作用,以及编译器的详细设计过程。第四章的内容是RMI—IIOP接口的设计与实现,对规范中定义的Portablily API中的每个类或者接口都作了详细的阐述,给出了设计思想和方法实现。第五章的内容是RMI—IIOP数据流的设计与实现,虽然规范中没有定义这些类,但是在本设计中根据编程的需要实现了这些类,它们提供了方便易用的方法,使得RMI—IIOP整体结构更加清晰。本论文的最后一章说明了本设计中没有考虑的问题,以待在今后的开发中补充进来。