IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Comment faire communiquer C++ avec J2EE


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut Comment faire communiquer C++ avec J2EE
    Salut,

    Mon projet consiste à réaliser une application web d'acquisition,stockage et de matching des empreintes digitales.
    la partie traitement des images est développé en C++ et la partie web je fais le faire avec J2EE.Alors si quelqu'un peut me donner une idée comment faire communiquer ces deux parties.
    Je suis débutante en J2EE,Merci de m'aider.

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    bonjour,

    ce problème n'est pas trivial. Je vois 2 possibilités:

    1/ jna/jne (des packages java qui permettent d'utiliser des dll écrites en c++ à partir d'une appli java)

    2/ passer par un serveur soap (jsoap côté java, gSoap côté c++). Plus lourd, mais si tu dois faire un webservice, tu pourras utiliser ton serveur.

    Après, ça dépend de tes contraintes et du contexte en général.

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    bonsoir,

    Merci beaucoup pour votre réponse, mais je n'ai pas bien assimilé surtout la 2éme solution,SVP expliquez moi un peu plus ces deux solutions et comment le concrétisé.
    ce sujet est mon projet de fin d'étude,j'ai codé l'algorithme de codage et de matching d'empreinte digitale en C++ en utilisant la bibliothèque de traitement d'image OpenCV et je vais coder maintenant la partie web en J2EE mais je me suis bloqué dans la partie J2EE.

    Merci d'avance de m'aider.

  4. #4
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    1/ jna et jne sont des packages java (en gros l'équivalent des bibliothèques en c++) qui permettent d'utiliser des dll écrites en c++. jna est une sur-couche de jne. En gros, c'est jne "pour les nuls": plus simple à utiliser mais avec de grosses pertes de performances. jne est donc plus difficile à utiliser mais plus efficace. Je ne pourrais pas t'en dire plus, je n'ai jamais approfondi cette solution.

    Concrètement, cette solution consiste à transformer ton application c++ en dll, et de la charger, en utilisant jna ou jne, dans ton application java.

    L'avantage de cette solution est qu'elle est plus simple à implémenter et à installer.

    2/ SOAP est un protocole de transfert de données entre 2 application via le réseau. Il utilise le protocole http, et nécessite donc un serveur http (apache, IIS, etc.). Sur ce point, je ne peux pas t'en dire plus, je n'y connais rien. Je n'ai jamais réussi à comprendre, par exemple, ce qu'est exactement J2EE. Je sais juste que ce protocole (SOAP) est implémenté en java par le package jSoap, et en c++ par la bibliothèque/compilateur gSoap.

    Cette solution consiste donc à:
    - créer un serveur http et un web service. gSoap permet d'en créer un "stand alone", c'est à dire sans utiliser un serveur tiers, mais il permet aussi d'en utiliser un que tu aura créé "en dehors".
    - tranformer ton appli c++ en serveur gSoap (web service).
    - transformer ton application java en client soap.

    Donc, ton application java (client), pilotera ton application c++ (web service), par le biais de requêtes http (post/get). Le contenu de ses requêtes est du xml (on peut donc les valider de grâce à un schéma xsd par exemple) et est généré et interprété par les bibliothèques SOAP (gSoap et jSoap).

    L'avantage de cette solution est qu'elle offre la possibilité à des applications externes de "communiquer" avec ton appli, et ce, quel que soit le langage de celle-ci.

    Voilà, je ne peux pas t'aider plus, je ne suis pas expert dans le domaine, et je n'ai jamais réellement utilisé aucune de ses solutions (juste des petits tests de faisabilité). Je pense que tu auras beaucoup de compléments en discutant avec les gens du forum java.

    Hope it helps.

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Par défaut
    Merci beaucoup.c'est clair maintenant.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Citation Envoyé par r0d Voir le message
    (SOAP) est implémenté en java par le package jSoap
    Je ne connais pas cette biblio, peut-être est-ce une biblio tierce partie. Quitte à faire des web services en Java, autant utiliser la spec la plus récente: Jax-WS en utilisant une implémentation quelconque (celle de référence, Metro ou CXF de chez Apache).
    Mais bon, faire un web service en Java ce n'est pas un problème. Perso j'aurais plus peur pour le C++. Je ne connais pas gSoap mais j'avais recherché il y a un petit temps un moyen de faire des web services en C++ pour en déduire que c'était loin d'être simple.
    J'aurais plus tendance à conseiller du Corba. Ca existe depuis longtemps, il y a un nombre incalculable d'apis dédiés au C++, et c'est tout aussi simple à utiliser en Java (même pas besoin de rechercher une biblio, tout est intégré dans le JDK depuis le 1.4 au moins).

Discussions similaires

  1. Comment faire communiquer Flex avec un JDBC svp?
    Par takinelinfo dans le forum Flash
    Réponses: 2
    Dernier message: 30/10/2009, 15h23
  2. Réponses: 3
    Dernier message: 06/07/2009, 11h11
  3. Réponses: 14
    Dernier message: 26/05/2009, 14h28
  4. J aimerai faire communiquer une application J2EE avec OpenErp(TinyErp)
    Par p2w.walas dans le forum Odoo (ex-OpenERP)
    Réponses: 3
    Dernier message: 20/03/2009, 17h54
  5. Réponses: 3
    Dernier message: 27/07/2006, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo