gpt4 book ai didi

Java - 框架到 "APIzize"任何类并使其在 TCP 上可用?

转载 作者:行者123 更新时间:2023-12-01 15:45:11 25 4
gpt4 key购买 nike

我有一个应用程序,其中后端和前端都是用 Java 构建的。后端提供了一些功能,如访问数据库等。而Struts内置的前端则调用这些功能。

我正在寻找一种方法,使任何 Java 类都可以在 TCP 上轻松调用,在我看来,理想情况下这可以通过扩展特定的类来完成,比方说:

public class MyClass extends ThisIsAnAPI

以这种方式使所有公共(public)函数都可以在网络协议(protocol)上调用。

有了这样的框架,前端可以很容易地用其他语言实现,比如 Ruby (On Rails),通过向用 Java 编写并在 TCP 上公开的后端 API 发出网络请求。

有什么建议吗?

最佳答案

如果您可能会使用 JavaScript/Ajax UI,那么我会花时间将后端公开为 RESTful 服务。使用 JAX/RS,这只需几行代码、一些注释和一个接口(interface)即可。

如果您继续使用纯 Java,现在将 POJO 转换为可远程调用的 EJB 是非常简单的:只需几个注释。

这听起来可能有些过头了,但就工作量和成本而言(给定免费的应用程序服务器,例如 WebSphere CE 或 JBoss),这并不是什么大不了的事。但是,如果您不选择 EJB,那么您需要考虑两个大问题:

  1. 安全。您已经有了一些 TCP 可调用的服务。这些服务有多敏感?他们需要身份验证和授权吗?您可以轻松地向整个公司甚至互联网开放敏感数据库。
  2. 弹性和扩展。您将如何管理故障场景?通过 RMI/IIOP 公开的 EJB 可以集群,因此您可以扩展并处理错误。如果您从能够做到这一点的技术入手,即使您现在不需要该功能,您也可以为 future 做好准备。

关于Java - 框架到 "APIzize"任何类并使其在 TCP 上可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7187512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com