Java-框架到;APIzize“;任何类并使其在TCP上可用?
我有一个应用程序,其中后端和前端都是用Java构建的。后端提供一些功能,如访问数据库等,而前端内置的Struts调用这些功能 我正在寻找一种方法,使任何Java类都可以在TCP上轻松调用,在我看来,理想情况下,这可以通过扩展一个特定的类来实现,比如:Java-框架到;APIzize“;任何类并使其在TCP上可用?,java,api,frameworks,tcp,Java,Api,Frameworks,Tcp,我有一个应用程序,其中后端和前端都是用Java构建的。后端提供一些功能,如访问数据库等,而前端内置的Struts调用这些功能 我正在寻找一种方法,使任何Java类都可以在TCP上轻松调用,在我看来,理想情况下,这可以通过扩展一个特定的类来实现,比如: public class MyClass extends ThisIsAnAPI 以这种方式使所有公共函数都可以在网络协议上调用 有了这样一个框架,前端可以很容易地用其他语言实现,比如Ruby(在Rails上),通过向用Java编写并在TCP上公
public class MyClass extends ThisIsAnAPI
以这种方式使所有公共函数都可以在网络协议上调用
有了这样一个框架,前端可以很容易地用其他语言实现,比如Ruby(在Rails上),通过向用Java编写并在TCP上公开的后端API发出网络请求
有什么建议吗?我将从设计用于此目的的RMI开始。您创建了一个客户端使用和服务器实现的接口。Try,这是一个低级别的TCP协议,同时也绑定了其他几个平台,因此您将获得C++/C++/Flash/。。。免费的。我认为与RMI相比,它更容易使用
如果将来需要更多的移植性,请考虑通过SOAP/REST来公开POJOS(大多数WS栈都有这种能力,如果需要的话,只需要很少的额外注释)。它的级别相当高,易于使用,但您需要运行MessageBroker。这与点对点通信有点不同。
如果您可能使用JavaScript/Ajax UI,那么我会花时间将后端公开为RESTful服务。使用JAX/RS只需要几行代码、一些注释和一个接口 如果您保持纯Java,那么现在将POJO转换为远程可调用EJB是非常简单的:只需几个注释 这听起来可能有些过分,但就工作量和成本而言(考虑到WebSphereCE或JBoss等免费应用服务器),这并没有什么大不了的。但是,如果您不选择EJB,则需要考虑两个大问题:正如几个人提到的RMI一样,您可以查找spring,spring对此有支持,我自己也成功地使用了它