我對Web服務,JAX-WS等有相當新的認識,所以也許不會有問題...SOAP Web服務回調體系結構?
所以,我想實現一個Web服務來使兩個系統進行通信。 「客戶」系統對「服務器」系統上生成的事件感興趣。但「客戶端系統」本身就是另一個應用程序的服務器。服務器是Java(tomcat中的WAR)。客戶端是.Net。
應該只有一個客戶端系統,但客戶端系統中有多個客戶端進程,每個客戶端進程都對不同類別的事件感興趣。
我將實現服務器端和測試客戶端。其他人將實施.Net代碼。
的運行順序應沿這條線:
- 服務器正在運行...
- 客戶端發起的談話,「寄存」到服務器,並請求一些初始數據。
- 服務器保留已註冊客戶端的端點列表
- 在服務器中有一個偵聽程序,在某些事件發生時會收到通知。然後,它將通過註冊客戶端列表並將事件轉發給每個客戶端
- 在某些時候,客戶端可以「取消註冊」不通知服務器它不再希望接收事件。
首先,這聽起來像合理可行的事情嗎?
是否有一個標準的內置機制,使用SOAP(服務器上的JAX-WS,客戶端可用的任何.Net) - 服務器可以用來從客戶端獲取回調端點?
例如,我使用RMI做了一些非常類似的事情,在這種情況下,客戶端可以只發送一個遠程引用給自己,服務器可以稍後存儲ant。
最後,有沒有一個標準的庫來存儲端點引用,使(集體)回調,並可能保持列表最新,刪除不響應的客戶端,因此一些「ping」調用?
爲了清楚起見,我需要的不僅僅是具有回叫的異步方法:來自客戶端的一條消息將生成許多從服務器到客戶端的回調消息。
我會說它是可能的。研究異步Web服務。如果您打算使用JAX-WS,那麼WS-Addressing將會有所幫助。 – Xargos 2013-03-11 08:58:24