Club Informatique VINCI

Le C.I.V représente un groupement d'étudiants constituant le club informatique de la Grande École Marocaine de l'Informatique et des Réseaux du Télécom VINCI -Rabat-. (L'utilisation de Internet explorer 6/7 n'est pas recommandée, on vous propose Firefox)

Les forums du C.I.V attend vos propositions en ce qui concerne le graphique, les catégories, et les sections.

Connexion

Récupérer mon mot de passe

Sondage

Quel est votre antivirus préféré ?
16% 16% [ 4 ]
32% 32% [ 8 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
36% 36% [ 9 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
8% 8% [ 2 ]
8% 8% [ 2 ]

Total des votes : 25

Qui est en ligne ?

Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun


[ Voir toute la liste ]


Le record du nombre d'utilisateurs en ligne est de 23 le Mer 17 Oct - 12:31

Statistiques

Nos membres ont posté un total de 1292 messages dans 373 sujets

Nous avons 437 membres enregistrés

L'utilisateur enregistré le plus récent est intellection


    Compilation éxecution Hello World CORBA

    Partagez
    avatar
    mustang
    Membre actif
    Membre actif

    Messages : 76
    Points : 3649
    Réputation : 6
    Date d'inscription : 26/04/2009

    Compilation éxecution Hello World CORBA

    Message par mustang le Lun 8 Juin - 10:07

    Salut people,

    Je voudrais bien découvrir Corba, j'ai lu le cours théorique j'ai compris le principe mais une fois arrivé à la compilation et exécution de mon premier programme PAF ça marche pas ! scratch

    J'ai recherchez sur internet et je cherche toujours d'ailleurs un moyen pour compiler un hello world en Corba que ce soit sur eclipse ou bien sous dos.

    Je voudrais bien un tuto ou un truc du genre qui permet de faire un premier programme tout en Java.

    Merci affraid << il est cool cet emo
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Compilation éxecution Hello World CORBA

    Message par El Maligno Angelo le Lun 8 Juin - 15:31

    J'ai lu quelques trucs sur leur site (
    OMG)... ce qui apparait c'est que tu doit écrire les IDLs à partir du code java, et le contraire, là il y a 2 doc officiel qui font les correspondance selon l'OMG :

    Java to IDL Language Mapping, v1.4
    IDL to Java Language Mapping, v1.3

    Après la création des fichiers IDLs (avec le langage de corba biensur), tu utilise le compilateur idlj pour générer les fichier *.java comme suit (depuis la ligne de commande on se situant dans le répertoire bin du jdk):

    idlj -fall fichier.idl

    Exemple :
    Code:
    module HelloApp
    {
      interface Hello
      {
        string sayHello();       
        oneway void shutdown(); 
      };
    };

    Après compilation....le serveur.

    Code:
    import HelloApp.*;
    import org.omg.CosNaming.*;
    import org.omg.CosNaming.NamingContextPackage.*;
    import org.omg.CORBA.*;
    import org.omg.PortableServer.*;
    import org.omg.PortableServer.POA;

    import java.util.Properties;

    class HelloImpl extends HelloPOA {
      private ORB orb;

      public void setORB(ORB orb_val) {
        orb = orb_val;
      }
       
      // implement sayHello() method
      public String sayHello() {
        return "\nHello world !!\n";
      }
       
      // implement shutdown() method
      public void shutdown() {
        orb.shutdown(false);
      }
    }


    public class HelloServer {

      public static void main(String args[]) {
        try{
          // create and initialize the ORB
          ORB orb = ORB.init(args, null);

          // get reference to rootpoa & activate the POAManager
          POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
          rootpoa.the_POAManager().activate();

          // create servant and register it with the ORB
          HelloImpl helloImpl = new HelloImpl();
          helloImpl.setORB(orb);

          // get object reference from the servant
          org.omg.CORBA.Object ref = rootpoa.servant_to_reference(helloImpl);
          Hello href = HelloHelper.narrow(ref);
        
          // get the root naming context
          org.omg.CORBA.Object objRef =
              orb.resolve_initial_references("NameService");
          // Use NamingContextExt which is part of the Interoperable
          // Naming Service (INS) specification.
          NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

          // bind the Object Reference in Naming
          String name = "Hello";
          NameComponent path[] = ncRef.to_name( name );
          ncRef.rebind(path, href);

          System.out.println("HelloServer ready and waiting ...");

          // wait for invocations from clients
          orb.run();
        }
       
          catch (Exception e) {
            System.err.println("ERROR: " + e);
            e.printStackTrace(System.out);
          }
        
          System.out.println("HelloServer Exiting ...");
       
      }
    }
     

    NOTA : La 1ere instruction revient au package qu'on vient de généré Cool

    Et maintenant le client cheers
    Code:

    import HelloApp.*;
    import org.omg.CosNaming.*;
    import org.omg.CosNaming.NamingContextPackage.*;
    import org.omg.CORBA.*;

    public class HelloClient
    {
      static Hello helloImpl;

      public static void main(String args[])
        {
          try{
            // create and initialize the ORB
       ORB orb = ORB.init(args, null);

            // get the root naming context
            org.omg.CORBA.Object objRef =
           orb.resolve_initial_references("NameService");
            // Use NamingContextExt instead of NamingContext. This is
            // part of the Interoperable naming Service. 
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
     
            // resolve the Object Reference in Naming
            String name = "Hello";
            helloImpl = HelloHelper.narrow(ncRef.resolve_str(name));

            System.out.println("Obtained a handle on server object: " + helloImpl);
            System.out.println(helloImpl.sayHello());
            helloImpl.shutdown();

       } catch (Exception e) {
              System.out.println("ERROR : " + e) ;
         e.printStackTrace(System.out);
         }
        }

    }

    Maintenant lance le service orbd depuis la ligne de commande(encore une fois tu dois se situer dans le bin)

    start orbd -ORBInitialPort 1050 -ORBInitialHost localhost

    Par la suite, tu lance HelloServer avec les arguments necessaires (toujours depuis la ligne de commande)

    java HelloServer -ORBInitialPort 1050 -ORBInitialHost localhost

    De meme pour le client maintenant :

    java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost

    Ettt oups afro Hello World !!

    J'ai consulter, les réf de l'OMG, puis la doc Java pour rassembler ce tutoriel. J'espère qu'il y aura un feedback important, autant que ce que j'ai constaté pour l'importance du problématique.

    Maintenant, à vos question !! Cool


    _________________
    it's awesome to feel...what others can't, but i think doin' what poeple cannot do make u surpass feelings step !!
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Compilation éxecution Hello World CORBA

    Message par El Maligno Angelo le Lun 8 Juin - 18:37

    Ya pas de réponse.... Exclamation

    girl
    Amateur
    Amateur

    Messages : 3
    Points : 3364
    Réputation : 0
    Date d'inscription : 11/05/2009

    Re: Compilation éxecution Hello World CORBA

    Message par girl le Mar 9 Juin - 1:53

    merci c'est tres interessent

    girl
    Amateur
    Amateur

    Messages : 3
    Points : 3364
    Réputation : 0
    Date d'inscription : 11/05/2009

    Re: Compilation éxecution Hello World CORBA

    Message par girl le Mar 9 Juin - 4:53

    Bonjour, mon prob c quand je lance HelloServer ,j ai une erreur "Exception in hread "main"java.lang.NoClassDefFoundError:" .
    Merciii
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Compilation éxecution Hello World CORBA

    Message par El Maligno Angelo le Mar 9 Juin - 6:01

    Ammm.... bon, tu es sure que tu a bien compilé tes classes ?? scratch
    avatar
    Hicham
    Modérateur
    Modérateur

    Messages : 8
    Points : 3386
    Réputation : 1
    Date d'inscription : 02/05/2009
    Age : 28

    Re: Compilation éxecution Hello World CORBA

    Message par Hicham le Mar 9 Juin - 6:41

    Bonjour, oui on bien suivit les étape ..
    pour le fichier.idl ca se compile bien et il génère les classes nécessaires mais les deux classes client et serveur ils lancent un erreur :
    "Exception in thread "main" java.lang.NoClassDefFoundError: HelloServer" .

    Merci bien pour tes effort pour rassembler ce tutoriel .. Wink
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Compilation éxecution Hello World CORBA

    Message par El Maligno Angelo le Mar 9 Juin - 6:53

    Meme question pour toi, tu es sure que tu as bien compilé tes classes (HelloServer et HelloClient) ?

    Rappel :
    javac HelloClient.java
    ...
    javac HelloServer.java
    avatar
    mustang
    Membre actif
    Membre actif

    Messages : 76
    Points : 3649
    Réputation : 6
    Date d'inscription : 26/04/2009

    Re: Compilation éxecution Hello World CORBA

    Message par mustang le Mar 9 Juin - 10:45

    Enfaite vous n'êtes pas obligé de suivre toute les étapes à la lettre, pour les étapes de la compilation et exécution des .java vous pouvez coller sur eclipse et continuer, avec Houda cette aprèm on a compiler et exécuter le code sur eclipse.
    La première étape de création des .java à partir du .idl est celle que je sais pas si c'est possible de faire directement sur eclipse.
    avatar
    zkenpachi
    Amateur
    Amateur

    Messages : 5
    Points : 3333
    Réputation : 0
    Date d'inscription : 09/06/2009

    Re: Compilation éxecution Hello World CORBA

    Message par zkenpachi le Mar 9 Juin - 18:30

    attendez svp , je me demande s ke c 2 class sont aussi genere a partir du fichier helloapp.idl ?
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Compilation éxecution Hello World CORBA

    Message par El Maligno Angelo le Mar 9 Juin - 19:03

    Non mon pote, ce sont leurs sources que j'ai mit dans le tutoriel (2eme et 3eme code)... Wink


    _________________
    it's awesome to feel...what others can't, but i think doin' what poeple cannot do make u surpass feelings step !!
    avatar
    zkenpachi
    Amateur
    Amateur

    Messages : 5
    Points : 3333
    Réputation : 0
    Date d'inscription : 09/06/2009

    Re: Compilation éxecution Hello World CORBA

    Message par zkenpachi le Mer 10 Juin - 11:11

    oui Very Happy je l'ais vu mé j cru ke ce sont des class generé en tt cas mercii
    sat man
    avatar
    zkenpachi
    Amateur
    Amateur

    Messages : 5
    Points : 3333
    Réputation : 0
    Date d'inscription : 09/06/2009

    Re: Compilation éxecution Hello World CORBA

    Message par zkenpachi le Jeu 11 Juin - 11:52

    bsr tt le monde
    apres la réusite du "HelloWorld", j'essaye de trouver une moyenne pour arriver a l'application general 'les requetes entre Client/Server' , je vx comprendre le mecanisme pour qu'un client envoi/reçoi 1e requete
    je serais trés reconnaissant si vous m'aidiez
    et mercii d'avance Wink
    avatar
    mustang
    Membre actif
    Membre actif

    Messages : 76
    Points : 3649
    Réputation : 6
    Date d'inscription : 26/04/2009

    Re: Compilation éxecution Hello World CORBA

    Message par mustang le Jeu 11 Juin - 12:53

    Tu va trouver aucun plaisir à réaliser ton projet si tu arrive pas à comprendre le code par toi même.

    Je vais te dire un truc super générale de comment ça marche et à toi de découvrir le reste pour être fier de toi :

    1- Le fichier idl est une interface qui va être implémenter par le serveur pour donner un corps à ces methode.

    2- Le client crée un objet référencé par cette interface qui va pointé vers le serveur.

    3- Le client grâce à cet objet va pouvoir invoquer les méthodes du serveur.

    Bonne Chance
    avatar
    zkenpachi
    Amateur
    Amateur

    Messages : 5
    Points : 3333
    Réputation : 0
    Date d'inscription : 09/06/2009

    Re: Compilation éxecution Hello World CORBA

    Message par zkenpachi le Jeu 11 Juin - 12:57

    j fé ca car j plus de temp pour m'amuser avec mon projet tu vois ?
    en tt cas merciii bien de votre aide
    avatar
    zkenpachi
    Amateur
    Amateur

    Messages : 5
    Points : 3333
    Réputation : 0
    Date d'inscription : 09/06/2009

    Re: Compilation éxecution Hello World CORBA

    Message par zkenpachi le Lun 15 Juin - 8:05

    bsr les fils de la population marocaine
    svpp si klk1 parmis vous peut me montre comment compiler cette application sous eclipse ok??
    et gracias a todos
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Compilation éxecution Hello World CORBA

    Message par El Maligno Angelo le Ven 26 Juin - 5:57

    Ce sujet peut etre utile pour toi Wink

    Corba On Eclipse


    _________________
    it's awesome to feel...what others can't, but i think doin' what poeple cannot do make u surpass feelings step !!

    Contenu sponsorisé

    Re: Compilation éxecution Hello World CORBA

    Message par Contenu sponsorisé


      La date/heure actuelle est Ven 20 Juil - 16:08