2010-07-22 4 views
1

Quelle est la meilleure façon de fournir une interface de service asynchrone à des clients multiplateformes (principalement java et .net)? Le service backend est implémenté en Java. Nous examinons les services Web asynchrones et les files d'attente de messages, mais apparemment le service Web asynchrone multiplateforme * n'est pas encore pris en charge dans Java (pour autant que je sache) et pour les files d'attente, je ne savais pas quel codec/protocole sois le meilleur. * Les services Web asynchrones multi plates-formes peuvent être décrits dans WSDL 2.0, mais pas dans WSDL 1.1 (pour autant que je sache). Maintenant, JAX-WS 2.x prend en charge le service Web asynchrone, mais pas WSDL 2.x. Donc, je suppose que les clients du service Web asynchrone JAX-WS doivent être des clients JAX-WS, et que nous ne pouvons pas utiliser.Comment fournir une interface de service asynchrone multiplateforme

Merci d'avance!

EDIT: La difficulté est que le service est asynchrone, et nous préférons une interface de rappel pour l'efficacité (donc nous ne voulons pas utiliser 2 appels sur une interface synchrone WS, etc.)

+0

@Riduide - c'est un [suivi] (http://stackoverflow.com/questions/3305804/how-to-choose-between-message-queue-asynchronous-web-service-based-interface) –

Répondre

1

Don ne sais pas, ce qui est meilleur, mais SOAP est un bon choix pour un backend Java. Les messages sont basés sur xml (par exemple, non limité aux plates-formes Java) et il est largement utilisé pour que vous obteniez beaucoup de support, d'outils et de bibliothèques sur le net.


Une autre idée qui pourrait répondre à vos besoins: XMPP.

Il est définitivement asynchrone, client envoyant une demande de service (enveloppé dans un message xmpp) est le rappel et n'attend pas de réponse immédiate. J'ai utilisé dans un scénario où j'envoie une 'demande de service' d'un client xmpp à un serveur et recevais les réponses, immédiatement ou un peu plus tard, selon la complexité du calcul. C'était une interaction homme-machine mais la machine-machine devrait être encore plus facile.

+0

Sure , mais pour autant que je comprenne, SOAP lui-même ne fournit pas une interface intrinsèquement asynchrone, non? –

+0

@Zwei Steinen - premier hit sur google: [Scénarios d'utilisation SOAP version 1.2] (http://www.w3.org/TR/xmlp-scenarios/#DS17) –

+0

Merci! Je suppose que je dois lire un peu ... –

3

Si sa messagerie, que d'utiliser un système Messagequeue. comme ZeroMQ. ils sont tous multi-plateforme. Sinon, nous le faisons avec .net WCF, et utilisons JaxWS de Java pour tester, que l'interface est compatible.

+0

Le backend doit être implémenté en Java, donc nous ne pouvons pas utiliser .net WCF .. Mais merci pour la suggestion ZeroMQ. –

Questions connexes