问题背景:
软件更新或升级是软件发布和安装后的一种常态,比如现在的APP应用。更新或升级在2种情况下发生,一是新增软件功能,二是修补软件漏洞(BUG)。
基于客户/服务器的软件系统(C/S软件),需要分别开发和分别安装在客户端和服务器端 ,客户端软件在发布后要更新通常比较困难,除非有互联网连接。
基于浏览器/服务器的软件系统(B/S软件),其客户软件无需单独安装,它们附加在浏览器上运行,客户软件的更新在服务器端后台进行,软件使用者无须关注软件的更新问题。
RMI程序设计介于C/S软件和B/S软件之间,属于轻量级客户端软件开发,大部分系统功能在服务器端完成,如股票APP应用、基于金融服务类的APP等软件开发,是如今许多分布式软件架构设计的重要思想。
程序设计思想:
在服务器端定义远程对象并实现这些对象中的远程方法,然后对外宣称具有这些对象。客户端根据自己的需要可以远程调用这些方法,无需自己书写详细的实现代码。如服务端定义好购房、购车等费用的计算方法,股票的查询方法(类似于远程服务器查询过程)。
Java远程对象方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程对象调用的应用程序编程接口,它使客户机上运行的程序,可以调用远程服务器上的对象及方法。
远程方法调用特性使Java编程人员能够在网络环境中分布操作,RMI全部的宗旨就是尽可能简化远程接口对象的使用。
有关RMI详细的知识可阅读互联网络文档,新增JAVA包java.rmi,新增类:Naming()。
注意:
涉及的远程对象及方法,在客/服两端的程序“包”要同名
一些问题:
若是本机客户端与本机服务器测试,既client和serve都在本机上时,记得客户端调用的方法要调用服务器的方法,否则会默认在client包下的方法,因为代码在同一个包。
而
真实使用时则不必。
而且需要在客户端创建和服务器端相同的远程接口和方法。