我需要创建一个分布式应用程序,由多个客户端发送文件(及文件信息)到一个服务器,并向该服务器查询。
客户端必须从公司内部访问该Web服务器以发送文件。 但是,有时一些特定的查询必须在公司外部运行。
我认为,根据我的了解,使用RMI是将桌面客户端连接到索引引擎和存储引擎的更快(操作性能)方法。 而且,我认为制作一个Web服务,提供对搜索引擎的访问层也是一个不错的决策,因为它将在公司网络之外运行。
您认为这是否是一个好的方法?或者您是否有其他必须考虑的替代方案?
预先感谢您。
我需要创建一个分布式应用程序,由多个客户端发送文件(及文件信息)到一个服务器,并向该服务器查询。
客户端必须从公司内部访问该Web服务器以发送文件。 但是,有时一些特定的查询必须在公司外部运行。
我认为,根据我的了解,使用RMI是将桌面客户端连接到索引引擎和存储引擎的更快(操作性能)方法。 而且,我认为制作一个Web服务,提供对搜索引擎的访问层也是一个不错的决策,因为它将在公司网络之外运行。
您认为这是否是一个好的方法?或者您是否有其他必须考虑的替代方案?
预先感谢您。
请注意,我最近开发了一个类似的解决方案,发现套接字是传输文件最有效和高效的方式,而RMI适用于简单的方法调用(如查询)。 在设置RMI时,我也遇到了困难,配置有时可能会令人困惑,并且关于这个主题的文档不多。
我确信RMI将为您提供更好的性能,但Web服务可能会更易于维护和灵活以满足未来的要求。
您为什么认为RMI更快?根据我的经验,它可能会很慢,难以配置,难以保护,并且通常很不好用。
由于Web服务通常只是基于HTTP的XML,因此您可以通常设计出更好的可扩展解决方案。
无论如何,这都是一个永无止境的争论。以下是我的谦虚意见:
如果您认为EJB更适合应用程序服务器环境,并且更容易根据您的文章与WS和CORBA进行比较,则EJB支持事务管理、bean管理;WS具有WS+扩展(安全性、事务):
(这些都是我个人经历中的问题,也许其他人更幸运)
I would conclude that WebServices are more flexible, use less reflection, and hopefully faster if designed carefully. If RESTful is used in MVC controller as result, ESB can help with both offering transformations (less code, just transform) and security injection straight into HTTP headers (e.g. ivheader, ivgroup - if using ibm web seal, Tivoli access manager). Using SAML XACML is possible only when using WS as assertions work with XML. Therefore for distributed and dislocated enterprise applications WS are more flexible due to above mentioned.RMI基本上是为小型应用程序设计的。是的,它更快,但随着时间的推移,当流量增加时,为了在应用程序中进行更多的增强,使用webservice比RMI更易于维护,如果您选择RESTful webservice,那将是最佳选择。
谢谢