现代应用中的RMI

And*_*nel 2 java rmi

我正在学习计算机科学,在这个学期,我们在一个合作伙伴中开始了一个基于RMI的项目.我们不被允许选择使用的技术.我们为图书馆制作一个简单的客户服务器应用程序,他们可以租用,预订等书籍.

我记得我曾经在另一个课程中被告知RMI已被弃用,但我不记得这些论点.

那么RMI是否真的被弃用和/或什么时候应该被使用?什么是现代替代品?

Kev*_*one 5

从最广泛的意义上说,"RMI"仍然存在并且很好:有许多应用程序,其中一个进程公开了由另一个进程执行的方法.当该术语用于表示内置于JVM中的RMI的专有方法时,情况略有不同,并且自Java早期就已存在.这种RMI方法使用的是一种特定于Java的协议,没有内置的支持来传播事务上下文或安全上下文,并且很难通过防火墙进行路由.您可以在Java中使用与IIOP等协议相同的RMI框架,这些协议与语言无关并支持事务和安全上下文传播; 但是防火墙仍然存在问题.

传统的Java RMI仍然广泛用于远程管理和监视,但我认为它在应用程序级别上使用不多.现在,将方法公开为Web服务并使用HTTP(S)调用它们似乎更受欢迎.在Java中有这样做的框架,这些服务可以与语言无关.