[Architecture] Interface entre C++ & Java
Bonjour;
Exist'il un autre moyen bcq plus performant que JNI pour dialoguer une application Java avec une autre appli en C++.
Le souci que j'ai c'es que j'ai une application web réalisée avec des comapsants java (Servlet + JSP) qui doit notifier (avec passage de qcq paramètres) une grosse application codée en C++ : lui transmet les paramètres et lancer par exemple une méthode d'une classe C++ pour réaliser un traitement.
C'est réalisable avec JNI mais problème des perfs.
En vous remerciant.
Djamel;
Et une autre solution :o)
La solution socket est la plus pratique à implementer mais une autre idée est le pipe nommé !
Vive unix sur ce point, l'idée est d'utiliser un pipe nommer pour echanger les infos entre 2 la parti C++ et Java.
Coté C++ les IPC te permetront d'implementer ça sans auncun PB :o)
Coté Java, un simple File pointant sur le pipe, et voila :o)
En theorie, cette solution doit fournir des performance largement plus importante car elle ne surcharge pas la pile IP.
Mais si le besoin de per n'est pas important, alors le socket avec binding sur localhost est vraiment trés simple. Surtout si tu implemente un "pseudo webservice". Envoie des parametre au service C++ en URLEncodé et retour du resulat eventuel en XML (facile à généré pour n'importe quel langage et facile à parsé pour Java).
Au passage sache que Corba est un tres bonne solution pour ton PB, mais certainement surdimensioné par rapport à tes besoins. Car ici CORBA te permetrait par exmple de gerer de la qualité de service ou de la repartition de charge (utilie sur une solaris multiproc par exemple).
Donc, vive les socket et les pipe nommés ;-)
@+
-JB'.
http://www.up2go.net - WebStart @ the MAX