2012-07-17 97 views
0

我有一種情況,多個客戶端可以與多個服務器通信,並通過TCP/IP連接發送消息。客戶端可以使用任何技術,並通過僅傳遞運行的服務器的主機名和端口來嘗試與服務器進行通信。少數人建議使用openESB。但這裏的問題我不確定它對我的需求有多大的可行性。客戶端程序可以使用任何技術。假設我正在使用Java套接字編程來創建客戶端並與服務器進行通信。但是,如果服務器是使用openESB創建的,是否可以與服務器通信並使用服務器的IP和端口發送請求?任何人都可以給我不同的Socket編程和openESB嗎?我認爲這兩種方法沒有關係,這是正確的嗎?Java Socket編程VS openESB

回答

1

簡短的答案取決於您的需求。如果你的服務器將會過於簡單,那麼OpenESB可能會過度殺傷。如果你的服務器將被整合到許多其他服務/軟件中,那麼OpenESB可能就是這樣。

大部分(如果不是全部)ESB軟件將允許您在ESB內託管服務器套接字。請記住,ESB通常是安裝和維護的一大塊軟件。另外,OpenESB基於JBI規範,如果您想真正使用ESB的全部功能,則需要熟悉JBI規範。有一點需要考慮的是ESB本質上是一個主幹軟件,所以如果ESB只是託管套接字,這將是一種浪費,因爲你不會正確地使用ESB。

所以,如果你打算做一個簡單的tcp/ip服務器,而不是看看下面的框架:Netty Framework或Apace Mina。

完整的ESB的替代品是apache camel。這可以被認爲是一個輕量級的ESB。

如果你決定在ESB路由上有OpenESB,Apache ServiceMix和Mule。

如果使用正確,ESB技術功能非常強大。建議您閱讀ESB並查看它是否適合您的需求。