Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thème • Retourner sur la fiche du thème
Compilation éxecution Hello World CORBA
5 participants
Page 1 sur 1
Compilation éxecution Hello World CORBA
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 !
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 << il est cool cet emo
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 !
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 << il est cool cet emo
mustang- Membre actif
- Messages : 76
Points : 5770
Réputation : 6
Date d'inscription : 26/04/2009
Re: Compilation éxecution Hello World CORBA
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 :
Après compilation....le serveur.
NOTA : La 1ere instruction revient au package qu'on vient de généré
Et maintenant le client
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 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 !!
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é
Et maintenant le client
- 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 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 !!
Re: Compilation éxecution Hello World CORBA
merci c'est tres interessent
girl- Amateur
- Messages : 3
Points : 5485
Réputation : 0
Date d'inscription : 11/05/2009
Re: Compilation éxecution Hello World CORBA
Bonjour, mon prob c quand je lance HelloServer ,j ai une erreur "Exception in hread "main"java.lang.NoClassDefFoundError:" .
Merciii
Merciii
girl- Amateur
- Messages : 3
Points : 5485
Réputation : 0
Date d'inscription : 11/05/2009
Re: Compilation éxecution Hello World CORBA
Ammm.... bon, tu es sure que tu a bien compilé tes classes ??
Re: Compilation éxecution Hello World CORBA
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 ..
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 ..
Re: Compilation éxecution Hello World CORBA
Meme question pour toi, tu es sure que tu as bien compilé tes classes (HelloServer et HelloClient) ?
Rappel :
javac HelloClient.java
...
javac HelloServer.java
Rappel :
javac HelloClient.java
...
javac HelloServer.java
Re: Compilation éxecution Hello World CORBA
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.
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.
mustang- Membre actif
- Messages : 76
Points : 5770
Réputation : 6
Date d'inscription : 26/04/2009
Re: Compilation éxecution Hello World CORBA
attendez svp , je me demande s ke c 2 class sont aussi genere a partir du fichier helloapp.idl ?
zkenpachi- Amateur
- Messages : 5
Points : 5454
Réputation : 0
Date d'inscription : 09/06/2009
Re: Compilation éxecution Hello World CORBA
Non mon pote, ce sont leurs sources que j'ai mit dans le tutoriel (2eme et 3eme code)...
Re: Compilation éxecution Hello World CORBA
oui je l'ais vu mé j cru ke ce sont des class generé en tt cas mercii
sat man
sat man
zkenpachi- Amateur
- Messages : 5
Points : 5454
Réputation : 0
Date d'inscription : 09/06/2009
Re: Compilation éxecution Hello World CORBA
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
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
zkenpachi- Amateur
- Messages : 5
Points : 5454
Réputation : 0
Date d'inscription : 09/06/2009
Re: Compilation éxecution Hello World CORBA
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
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
mustang- Membre actif
- Messages : 76
Points : 5770
Réputation : 6
Date d'inscription : 26/04/2009
Re: Compilation éxecution Hello World CORBA
j fé ca car j plus de temp pour m'amuser avec mon projet tu vois ?
en tt cas merciii bien de votre aide
en tt cas merciii bien de votre aide
zkenpachi- Amateur
- Messages : 5
Points : 5454
Réputation : 0
Date d'inscription : 09/06/2009
Re: Compilation éxecution Hello World CORBA
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
svpp si klk1 parmis vous peut me montre comment compiler cette application sous eclipse ok??
et gracias a todos
zkenpachi- Amateur
- Messages : 5
Points : 5454
Réputation : 0
Date d'inscription : 09/06/2009
Sujets similaires
» Corba On Eclipse (exclusif O.J)
» La compilation séparée
» Les phases de compilation dans le langage C
» Comment réalisé un Hello World en 3D
» La compilation séparée
» Les phases de compilation dans le langage C
» Comment réalisé un Hello World en 3D
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Jeu 28 Nov - 8:07 par arsenepoutsi
» CCNA version 4 français
Dim 31 Mar - 15:15 par kadhouceeee
» Trés important " Livre exercices en langage C ( claude delannoy) "
Jeu 27 Sep - 16:31 par latifa oustouh
» Ulead VideoStudio 11.5.0157.2 Plus + Crack Collection
Jeu 26 Avr - 9:51 par miloduvi
» Langage IDL(Interface Definition Language)
Mar 27 Sep - 13:02 par Abdelkhalek Bakkari
» demande cours PHP
Jeu 2 Juin - 11:23 par elasriahmed
» exemple page web réaliser avec du html et JavaScript
Lun 30 Mai - 4:05 par ouh.rouchan.zakaria
» cours group2_ 2année 2011
Dim 20 Mar - 15:35 par El Maligno Angelo
» Cours : Infrastructures Réseaux 2003 Server
Mar 15 Fév - 6:55 par jettjackson
» cours officiel de CCNA 2
Mar 18 Jan - 13:53 par agares