我们正在开发更多的java应用程序。非常简单的描述。
这些应用程序通过http上的xml传输相互通信。从现实生活中看,用户在前端应用程序中创建一些动作,前端应用程序调用中间件应用程序,而中间件应用程序通常调用传输应用程序(通常调用其他外部系统)。前端应用也可以直接调用传输应用,它取决于流程和业务逻辑等。正如您所看到的,有大量的http调用,前端应用程序创建http调用和调用中间件应用程序,中间件应用程序创建http调用和调用传输应用程序,传输请求其他系统并向中间件发送响应等。
我的问题是。这真的是好建筑吗?在我看来开销太大了。应该有其他更好的解决方案,如何在应用程序之间传输数据,即使它们运行在一台服务器上。
数据在99%的简单xml中,是通过xstream创建的。这是否是JMS合适的解决方案呢?
谢谢
发布于 2014-03-24 13:08:31
我同意您的观点,虽然它肯定会正常工作,但层间http调用的方法可能有点麻烦。
如果不同层之间的调用是异步的,并且本质上是触发和忘记的,JMS将是一个很好的匹配(您将触发一条消息,并且不会立即对目的地接收消息时必须完成的工作的结果感兴趣)。尽管有人使用JMS进行请求回复,但我不认为它是面向消息系统的最自然和最优雅的用法。
如果您所做的是同步的(您调用一个后端并等待它响应您的请求),我将使用普通(无状态)会话been,在EE6中这些会话been的创建和管理已经简化了很多。
EJB的另一个优点是,您不会产生您所描述的场景中需要的不同XML序列化和反序列化的开销。
https://stackoverflow.com/questions/22610139
复制相似问题