gpt4 book ai didi

java应用程序架构数据交换

转载 作者:行者123 更新时间:2023-12-02 06:01:51 25 4
gpt4 key购买 nike

我们正在开发更多的java应用程序。非常简单的描述。

  1. 前端应用程序 - Web 应用程序,与用户交互
  2. 中间件应用 - 为前端应用提供一些功能
  3. 交通应用 - 与外部系统通信的应用。

这些应用程序通过 http 上的 xml 传输相互通信。现实生活中的场景如下:用户在前端应用程序中创建一些操作,前端应用程序调用中间件应用程序,通常中间件应用程序调用传输应用程序(通常调用一些其他外部系统)。前端应用程序也可以直接调用传输应用程序,这取决于流程和业务逻辑等。正如您所看到的,有大量的 http 调用,前端应用程序创建 http 调用并调用中间件应用程序,并且中间件应用程序创建http调用并调用传输应用程序,传输询问其他系统并将响应发送回中间件等。

我的问题是。这真的是好的架构吗?对我来说看起来开销太大了。应该还有其他更好的解决方案如何在应用程序之间传输数据,即使它们在一台服务器上运行。

数据 99% 是简单的 xml,通过 xstream 创建。JMS 可能是合适的解决方案吗?

谢谢

最佳答案

我同意你的观点,虽然它肯定会正常工作,但层之间的 http 调用方法可能有点粗暴。

如果不同层之间的调用是异步的,并且本质上是“即发即忘”(您触发一条消息,但并不立即对目的地在收到您的消息时必须执行的工作结果感兴趣),那么 JMS 将是一个非常好的匹配。信息)。尽管有人使用 JMS 进行请求-回复,但我不认为这是面向消息的系统最自然、最优雅的用法。

如果您正在做的事情是同步的(您调用后端并等待它响应您的请求),我会使用普通(无状态) session bean,这些 bean 的创建和管理已大大简化EE6。

EJB 的另一个优点是您不会产生您所描述的场景中所需的不同 XML 序列化和反序列化的开销。

关于java应用程序架构数据交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22610139/

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