我有一个情况,多个客户端可以与多个服务器通信,并通过 TCP/IP 连接发送消息。客户端可以采用任何技术,并尝试通过仅传递运行服务器的主机名和端口来与服务器通信。很少有人建议使用 openESB。但是这里的问题我不确定它对我的需求有多可行。客户端程序可以采用任何技术。假设我正在使用 Java 套接字编程来创建客户端并与服务器通信。但是如果服务器是使用openESB创建的,是否可以仅使用服务器的IP和端口与服务器通信并向其发送请求?谁能告诉我 Socket Programming 和 openESB 的区别?我认为这两个与编程无关,对吗?
问问题
302 次
1 回答
1
简短的回答是这取决于您的需求。如果您的服务器将过于简单化,那么 OpenESB 可能会过大。如果您的服务器要集成到许多其他服务/软件中,那么 OpenESB 可能就是问题所在。
大多数(如果不是全部)ESB 软件都允许您在 ESB 内托管服务器套接字。请记住,ESB 通常是一个需要安装和维护的大型软件。此外,OpenESB 基于 JBI 规范,如果您想真正使用 ESB 的全部功能,则需要熟悉该规范。要考虑的一件事是,ESB 本质上是一个主干软件,因此如果 ESB 只是要托管套接字,那将是一种浪费,因为您将无法正确使用 ESB。
因此,如果您要创建一个简单的 tcp/ip 服务器,请查看以下框架:Netty 框架或 Apace Mina。
完整 ESB 的替代方案是 apache camel。这可以被认为是一个轻量级的 ESB。
如果您决定选择 ESB 路线,则有 OpenESB、Apache ServiceMix 和 Mule。
如果使用得当,ESB 技术将非常强大。我建议您阅读 ESB 并查看它是否符合您的需求。
于 2012-07-17T05:51:48.440 回答