2010-07-22 33 views
1

向多平臺(主要是java和.net)客戶端提供異步服務接口的最佳方式是什麼?後端服務在java中實現。我們正在研究異步Web服務和消息隊列,但顯然跨平臺異步Web服務*在Java中還不被支持(據我所知)和消息隊列,我不確定哪個編解碼器/協議會最好。如何提供跨平臺異步服務接口

*:跨平臺異步Web服務可以在WSDL 2.0中描述,但不能在WSDL 1.1中描述(據我所知)。現在,JAX-WS 2.x不支持異步Web服務,但不支持WSDL 2.x.所以我假設JAX-WS異步Web服務的客戶端必須是JAX-WS客戶端,並且我們不能使用它。

在此先感謝!

編輯:這裏的難點是,該服務是異步的,我們更喜歡基於回調接口的效率(所以我們不希望同步WS接口上使用2和調用等)

+0

@Riduide - 這是[後續](http://stackoverflow.com/questions/3305804/how-to-choose-between-message-queue-asynchronous-web-service-based-interface) – 2010-07-22 09:14:34

回答

1

唐不知道,什麼是最好,但是SOAP是Java後端的不錯選擇。這些消息是基於xml的(例如不限於Java平臺),它被廣泛使用,因此您可以在網上獲得大量的支持,工具和庫。


另一種想法可能適合您的需求:XMPP。

它是最初的異步,客戶發送一個服務請求(包裹在一個xmpp消息)回調,並不等待立即答案。我曾經在一個場景中發送'服務請求'從xmpp客戶端到服務器,並立即或稍後收到答案,具體取決於計算的複雜性。這是一種人機交互,但機器應該更容易。

+0

Sure ,但據我所知,SOAP本身並不提供一個固有的異步接口,對吧? – 2010-07-22 09:23:20

+0

@Zwei Steinen - 第一次打google:[SOAP版本1.2使用場景](http://www.w3.org/TR/xmlp-scenarios/#DS17) – 2010-07-22 09:35:34

+0

謝謝!我想我必須閱讀這一點... – 2010-07-22 14:33:26

3

如果它的消息傳遞比使用Messagequeue系統。像ZeroMQ。他們都是跨平臺的。

否則我們用.net WCF來做,並使用java的JaxWS來測試,說明界面是兼容的。

+0

後端必須在java中實現,所以我們不能使用.net WCF ..但是感謝ZeroMQ的建議。 – 2010-07-22 09:24:32