Question

Dans une autre question j'étais inquiet sur l'utilisation d'un service web qui prend cinq minutes. Je pensais à l'aide de RMI au lieu des services Web pour ce cas d'utilisation ..

mais à la fin de la journée, à la fois faire un service Web et RMI utilisent un socket TCP pour la connexion sous-jacente? Y at-il des raisons pour lesquelles un appel de service Web prenant 5 minutes est moins stable qu'une demande RMI en prenant en même temps?

Notez que dans notre cas, nous parlons de communication des applications internes.


Mise à jour : Cette question vient de me inquiéter que nous courrions dans les connexions interrompues ou d'autres problèmes avec les services Web qui prennent 3-5 minutes. L'inquiétude peut-être tout à fait irrationnelle - intervenants à mon autre question indiqué vous devriez être très bien si vous contrôlez à la fois le client et le serveur. Mais je voulais simplement comprendre plus en détail pourquoi une connexion a été interrompue pour un appel de 5 minutes est pas en utilisant plus probablement une mise en œuvre de services Web qu'une implémentation RMI. Si les deux se fondent sur des connexions socket que qui pourrait expliquer pourquoi il n'y a pas de différence ...

Était-ce utile?

La solution

Si un seul appel à distance prend 5 minutes pour terminer, il est probablement parce que l'opération mise en œuvre de cet appel est lent, non pas parce que la couche de service Web lui-même est lent. Si vous deviez remballer l'opération avec RMI, il sera probablement aussi lent.

L'avantage de la performance du RMI sur SOAP n'est vraiment va être évident quand vous avez un grand nombre d'opérations appelé, plutôt que pour la vitesse d'une opération, tout simplement parce que RMI est plus efficace que SOAP. Mais il ne fera pas comme par magie une opération lente aller plus vite.

En ce qui concerne votre question concernant les prises, oui, RMI et SOAP deux protocoles socket niveau utilisation lorsque vous descendez assez loin (IIOP ou JRMP dans le cas du RMI, HTTP dans le cas de SOAP). Ce n'est pas vraiment pertinent à votre problème, cependant.

Autres conseils

RMI est principalement utilisé sur JRMP (dans le contexte Java pur) ou IIOP (dans le contexte non JVM), tandis que les messages SOAP sont généralement (mais pas exclusivement) envoyé sur HTTP. Tous ces trois protocoles de fil utilisent le protocole TCP / IP, donc à cet égard, il n'y a aucun avantage de choisir RMI sur un service Web.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top