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

CORBA Discussion :

passer des vecteurs en CORBA


Sujet :

CORBA

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 29
    Points
    29
    Par défaut passer des vecteurs en CORBA
    Bonjour,


    Je fais communiquer deux composants en CORBA, et l'un d'eux doit envoyer à l'autre un vecteur qui contient des éléments d'un même type.


    Le seul moyen que j'ai trouvé est de les faire passer par CORBA sous forme de tableau (sequence).

    Je transforme donc mon vecteur en tableau avant de l'envoyer, et je le retransforme en vector à la sortie.

    Ce n'est pas très pratique. J'ai pensé à tout mettre dans des tableaux dès le départ, mais je préfère les vecteurs car ils présentent beaucoup d'avantages (notamment toutes les méthodes fournies par défaut...)

    J'aurais voulu savoir s'il existait un moyen de faire passer ces vecteurs sans devoir tout transformer en tableau...

    Merci beaucoup !

  2. #2
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    non, je pense que tu n'a pas vraiment le choix.
    Tu peux :
    - utiliser un type IDL de base genre sequence,
    - créer un type structuré spécifique, mais la conversion sera aussi à faire.
    - éventuellement dans un monde client & serveur Java, sérialiser en octets tes vecteurs et les passer en sequence d'octets IDL. Ca fonctionnerait probablement mais ça n'aurait pas beaucoup de sens : autant définir ton interface en Java/RMI qui te laisse échanger des types Java !

    Bref la transformation en type IDL (ici une sequence) est le prix à payer pour une éventuelle interopérabilité avec un autre composant Java ou non.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 29
    Points
    29
    Par défaut RMI/CORBA?
    Je t'avoue que je ne connaissais pas RMI...

    Je me suis un peu renseigné, mais tu peux peut-être m'éclairer un peu...

    RMI serait plus simple à utiliser mais ne fonctionnerait qu'en Java <-> Java et donc, tu peux directement faire passer des vecteurs par exemple... Ca ce sont les avantages...


    Y a-t-il des gros "désavantages" par rapport à CORBA?

    Point de vue sécurité, sûreté du transfert de données, vitesse...


    Bref : si je suis sûr que tous les composants de mon système seront et resteront en Java, est-ce qu'il y a qd même qqch qui me pousserait à faire du CORBA?


    Merci beaucoup de m'apporter ton expérience ;-)

  4. #4
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    Bref : si je suis sûr que tous les composants de mon système seront et resteront en Java, est-ce qu'il y a qd même qqch qui me pousserait à faire du CORBA?
    Non, a part la curiosité ou la volonté d'aborder les applications distribuées et les concepts associés (mais concepts très interessant et fondateurs pour une large part de l'informatique distribuée d'aujourdhui).
    Corba t'apporte :
    - une vision objets distribués de ton application,
    - l'inter-opérabilité (les objets son hébergés par des composants de tous langages qui causent ensemble)
    - des services techniques et leurs API: naming, notification, transaction ...

    Java/RMI t'apporte aussi une vision objet, le protocole sous jacent peut être le même que celui de CORBA (RMI peut utiliser IIOP, le protocole utilisé par CORBA), il y a aussi foule d'API vers des services techniques équivalents.
    La définition d'interface est plus facile, c'est en Java sans langage d'interface spécialisé (pas d'IDL) et la sérialisation d'objet vient avec.

    Un appel de méthode distant RMI est à peu près aussi performant qu'un appel CORBA (donc 10 fois plus rapide qu'un appel Web Services ).

    Quand à la sécurité là je ne sais pas, ça doit se valoir, même si j'ai un petit doute côté RMI.

    Tu trouveras des comparaisons sur le Web :
    par exemple : http://www.ibm.com/developerworks/library/j-rmi-iiop/
    (les articles seront souvent un poil vieux, CORBA n'évoluant plus guère depuis les années 2002/2003).
    et moults articles sur RMI.

    Bon, dans un contexte d'entreprise, on est souvent sûr à 200% que l'application est full Java et finalement un changement dans le projet fait qu'il faut s'ouvrir à d'autres langages... (si si le client avait marqué en petites caractères grisées qu'un client en Basic sur TO7-70 doit pouvoir se connecter )
    Mais si ton application est bien construite tu pourras toujours faire une passerelle Java, exposer ton interface RMI en IDL côté serveur, t'ouvrant ainsi à des clients CORBA...
    Par exemple avec les EJB 2.0 qui utilisent RMI, il était possible de générer les interfaces IDL équivalentes et de se bâtir ainsi une tuyauterie pour utiliser un client C++ (par exemple) sur un serveur EJB (donc prévu pur Java à l'origine).

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 29
    Points
    29
    Par défaut avenir CORBA
    Merci beaucoup de ta réponse !

    En fait, j'ai utilisé CORBA pour un travail (je suis étudiant en informatique...), et bon, ça va, je gère +/- (en tout cas la pratique !)

    Car dans un premier temps j'ai du l'utiliser sans trop comprendre comment ça marchait... faute de temps.
    Et là l'examen théorique va bientôt arriver et donc je me plonge dans la théorie.

    Mais les questions que je te pose ici sont hors contexte "scolaire" mais juste pour mon info personnelle car je n'avais jamais fait de programmation "distribuée" et je trouve ça magique :-)

    En lisant ta réponse me vient une autre question :

    J'ai vu qu'il existe différents concurrents à CORBA, mais CORBA semble être le mieux (portable, assez simple, etc etc...)
    Mais tu dis qu'il n'évolue plus depuis un certain temps...

    Selon toi, est-ce que CORBA a de beaux jours devant lui où sera-t-il bientôt remplacé par un autre middleware encore mieux...?

    Je m'interroge quant à l'avenir de CORBA en fait...


    Si j'abuse de ton temps tu n'es pas obligé de me répondre ;-)

    Mais merci quand même !

  6. #6
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    tu peux faire quelques recherches sur le web:
    - corba versus rmi
    - corba vs dcom
    - corba vs web services
    - corba vs predator ...

    On en parlait aussi sur ce forum :
    http://www.developpez.net/forums/sho...d.php?t=409414

    Les dernières évolutions de CORBA tournent autour de CCM, Corba Component Model, mais il ne me semble pas que ça ait vraiment pris.

    Aujourd'hui, il n'y a pas vraiment de remplaçant, en tout cas pas en technologies objets distribués.
    L'informatique distribuée (donc des composants qui communiquent mais pas forcémment avec une vision objet sous-jacente) se concentre sur les MOM (middleware orienté message), les web services...

    D'ailleurs l'actualité de l'info distribuée est plutôt autour des ESB, Enterprise Service Bus, http://fr.wikipedia.org/wiki/Enterprise_Service_Bus.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 29
    Points
    29
    Par défaut Merci...
    Merci pour tes réponses...

    En effet, il faudrait que je passe du temps à faire des recherches pour satisfaire mon désir de connaissances... Je suis pressé d'y passer du temps mais là avec mes examens... c'est pas trop le moment.

    Je m'y attaquerai en février, j'essayerai aussi de coder un peu en Java/RMI pour tester,...


    En tout cas, merci pour tout, et si j'ai des questions auxquelles je trouve pas de réponse sur le net, ou des questions plus subjectives, je viendrai dire bonjour ici...

    C'est chouette les forums... (quand y a des réponses )


    A bientôt... peut-être!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation des vecteurs
    Par EmilieG dans le forum MFC
    Réponses: 12
    Dernier message: 19/03/2004, 16h28
  2. Réponses: 5
    Dernier message: 08/03/2004, 10h28
  3. Passer des Image avec SOAP
    Par pef421 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 01/03/2004, 21h32
  4. [CR7][VB6] Passer des infos de Vb vers CR
    Par tripper.dim dans le forum SDK
    Réponses: 2
    Dernier message: 13/11/2003, 13h30
  5. Zoom sur des vecteurs ou lignes
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/11/2002, 10h40

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