|
Manipulation Dess TeleInf. Cours C.O.R.B.A. |
X. BLANC |
Développer l’objet d’implantation, le serveur et le client de cette description IDL
module TP1 {
interface Exercice1 {
long addition(in long a , in long b);
} ;
} ;
Développer un mini serveur de nom.
1) Définissez son interface IDL
2) Codez l’objet d’implantation et le serveur
3) Modifiez les exercices précédents pour qu’ils utilisent ce serveur.
Soient les interfaces IDL suivantes :
module TP1 {
interface LinuxUser {
void login( in wstring nom) ;
} ;
interface LinuxAdmin
{
void addUser( in wstring nom) ;
};
};
Ces deux interfaces permettent d’administrer une machine Linux et de s’y loger.
Développer l’implantation de ces interfaces ainsi que l’application serveur et un client.
Pour utiliser CORBA avec le jdk1.3 :
1) Il
faut utiliser OpenORB.
Celui-ci se trouve à /dess/permanents/blanc/corba/OpenORB-1.3.0
2) Mettre
tous les jar du répertoire OpenORB-1.3.0/lib dans
votre variable d’environnement CLASSPATH :
CLASSPATH= /dess/…./OpenORB-1.3.0/lib/openorb-1.3.0.jar:
/…
ou (cela dépend de votre shell)
setenv CLASSPATH /dess/…/Open…
3) Pour
compiler l’interface IDL, taper la commande suivante :
java org.openorb.compiler.IdlComplier votreFichier.idl
Les fichiers générés se trouveront dans le répertoire generated.
4) Pour
des soucis de simplicité faite :
cd generated
5) Compiler
ces fichiers générés en tapant la commande suivante :
javac –d . chemin_des_fichiers_a_compiler
6) Ajouter
le répertoire qui contient le package compilé dans le CLASSPATH (en principe generated).
CLASSPATH=/…/generated :$CLASSPATH
7) Développer
votre application (sauver là au même endroit que les fichiers générés et
spécifier dans le code source le package correspondant au module) et compiler
là (voir 5))
8) Exécuter
le serveur en tapant la commande suivante (sur une ligne):
java –Dorg.omg.CORBA.ORBClass=org.openorb.CORBA.ORB
–Dorg.omg.CORBA.ORBSingletonClass=org.openorb.CORBA.ORBSingleton
chemin_de_votre_application arguments_de_votre_application
9) Exécuter
le client (de la même manière que le serveur).
10) Dites bravo J