我正在创建一个应用程序,其中有一个中央(服务器?)PC。
当处于中央PC中的特定位置(或事件)时,将转储XML文件。该程序读取提供远程PC IP的XML(任何PC)。 该命令被发送到该PC,该PC将执行该命令。
该命令可以是各种类型中的一种,并且对于PC具有单独的类文件的每个命令。 按命令,它将创建该类型的对象并运行所需的方法。
问题:我可以用什么技术实现这种架构?
答案 0 :(得分:0)
好的,你的问题是什么?
最简单的方法可能是使用RMI。
但是,您是否考虑过使用JMS队列,因为这样可以让您在多台PC上均匀分配工作,而无需将特定PC分配给特定任务。即,您为队列指定要执行的任务,下一个可用的PC执行该任务。
答案 1 :(得分:0)
查看Java RMI
强制性Wiki link并引用为什么这可以适用于您的实施:
Java远程方法调用 应用程序接口 (API)或Java RMI是Java 应用程序编程接口 执行面向对象 相当于远程过程调用 (RPC)。 (甚至跨越机器边界)
答案 2 :(得分:0)
RMI也是第一个出现在我脑海中的人。但我认为要给出一个非常好的答案,我们需要更多关于远程PC上做什么的细节。我的猜测是你正在构建一个分布式Worker Thread Pattern
其他选项可以是:
JMS。 网页服务。 等
答案 3 :(得分:0)
您有几个选项..您可以使用RMI,您可以拥有JMS队列/主题甚至是Http Pub / sub。其中每一个都有利弊。
使用RMI,您可以使远程PC在启动时打开与服务器的连接,以避免出现防火墙问题。这样,您只需要在中央PC上打开传入/传出端口。
使用JMS,您可以将每个远程PC的侦听器注册到JMS容器打开的主题/队列。您在队列/主题中放置的任何消息,您都有使用IP设置的消息过滤器,这样消息将只发送到一台目标PC。我喜欢这种方法,因为您的远程PC和中央PC之间失去耦合。但是在这种方法中,由于您的远程PC和中央PC之间没有开放连接,因此您的中央PC将无法获得与RMI系统相似的控制。