Interface Java & C++

Interface Java & C++ - Java - Programmation

Marsh Posté le 17-01-2003 à 10:30:02    

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.

Reply

Marsh Posté le 17-01-2003 à 10:30:02   

Reply

Marsh Posté le 17-01-2003 à 10:44:03    

autrement que par les JNI me semble legerement impossible ( ou trop couteux en temps de développement)
 

Reply

Marsh Posté le 17-01-2003 à 13:20:58    

Mais JNI, en temps d'exécution, ce n'est pas trop coûteux, tant que tu ne t'amuses pas à invoquer 10 000 méthodes Java dans le code C++.
 
Par contre, point de vue source, c'est assez lourd : ça revient presque à écrire du bytecode Java avec une syntaxe C/C++...
 
edit> Je parle par expérience : j'ai travaillé sur un assez gros serveur écrit en Java qui utilisait de plusieurs librairies C++ (persistence, indexation, ...), et les performances du JNI n'ont jamais vraiment été un problème. Ppar contre, l'architecture du soft Java doit être correcte : si tu t'amuses à créer 10 fois plus d'objets que nécessaire, le programme final sera lent, forcément.


Message édité par BifaceMcLeOD le 17-01-2003 à 13:23:31
Reply

Marsh Posté le 17-01-2003 à 14:06:38    

Voila ce que je souhaite faire :
 
J'ai une servlet qui va uploadée des fichiers d'un poste client vers un serveur Sun et une autre qui peux supprimer ses fichiers uploadés.
Lorsque la servlet d'upload aura fini son travail elle doit invoquer une méthode d'une classe C++ pour maj des data en mémoire gèrer par l'application C++. Traitement similaire lors d'une suppression.
 
Sachant que les deux applications java & C++ tournent sur la meme machine Sun (Solaris8).
 
A+;
 

Reply

Marsh Posté le 17-01-2003 à 14:17:07    

bin si tu l'utilises correctement je ne vois pas pq JNI ne pourrait pas convenir ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-01-2003 à 17:37:07    

Je confirme : JNI devrait parfaiter rentrer dans le cadre.

Reply

Marsh Posté le 18-01-2003 à 04:12:16    

sockets rulez !!!
 
 :whistle:

Reply

Marsh Posté le 20-01-2003 à 10:07:58    

Bonjour;
 
Oui les sockets ou bien les messages queues iront bien également.
Mais le problème est il nécessaire de faire tout ce tralala juste pour une notification.
JNI irais bien mais le problème c'est qu'il faut inclure tout le programme C++ (et librairies incluses) ds le prog java.
Ce qui présente ds mon cas une 60 Mo.
Peut'on optimiser ceci ?
 
A+;

Reply

Marsh Posté le 20-01-2003 à 11:45:00    

Dans ce cas, il vaut mieux que tu construises des librairies dynamiques (.dll / .so) contenant ton code C++, qui seront chargées par le code JNI à la volée.

Reply

Marsh Posté le 21-01-2003 à 10:11:56    

Salut;
 
C'est intéressant ce que vous dites, mais si vous pouvez me donner plus de détails.
Mon exécutable C++ sera par exemple "toto.exe" qui utilise des librairies Rhapsody (*.so).
Qu'est ce que vous voulez dire par "qui seront chargées par le code JNI à la volée" ?
 
En vous remerciant.
 
Djamel

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed