M2 BD IA — BDED
Semaine du 19/10 au 30/10/2009
TP 2 •Les objets distribu´es CORBA
Exercice 1. Programme HelloWorld client serveur
Le but de cet exercice est de tester les capacit´
es multi-langages et multi-plate-formes de CORBA.
1. reprendre l’exemple Hello World vu en cours, construire l’interface IDL, impl´
ementer le serveur et rea-
liser un client (en C++), compiler chaque partie et ex´
ecuter serveur et client sur une mˆ
eme machine
(attention a prendre soin d’initialiser le POA au lieu ce BOA) ;
2. r´
ep´
eter l’ex´
ecution en utilisant deux stations diff´
erentes ;
3. impl´
ementer un client et un serveur en Java et tester l’ex´
ecution du client et du serveur Java ;
4. ex´
ecuter de facon mixte : client java/serveur C++, client C++/serveur Java ;
5. tester plusieurs clients simultan´
es sur un mˆ
eme serveur.
Exercice 2. Mesure du temps d’invocations de m´
ethodes `
a distance
On d´
esire comparer le temps d’invocation de m´
ethodes dans une application client serveur lorsque le client
et le serveur sont sur la mˆ
eme machine puis, lorsque le client et le serveur utilisent deux machines diff´
erentes.
Pour effectuer cette mesure on lancera 1000 fois l’invocation d’une m´
ethode depuis un client vers le serveur.
On mesurera le temps de ces 1000 invocations. La m´
ethode du serveur peut se contenter d’incr´
ementer un
compteur.
Reprendre le mˆ
eme type de programme et mesure le temps d’acheminement avec JavaRMI.
Exercice 3. Invocation dynamique
Les exemples d´
evelopp´
es jusqu’a pr´
esent utilisent exclusivement le m´
ecanisme d’invocation dynamique.
Au moyen du service CosNaming de CORBA r´
ealiser une invocation dynamique avec un client en Java et un
serveur en C++.
Reprendre l’exercice sur les compte banquaire du TP sur Java RMI et implanter une solution avec le pattern
ObjectFactory en CORBA.
Exercice 4. Activation
Exp´
erimentez le m´
ecanisme d’activation et le ´
eventuellement le principe t´
el´
echargement de r´
ef´
erences via
un serveur web. Les fonctions n´
ecessaire `
a la r´
ealisation du programme sont d´
ecrites dans le chapitre 7 du
manuel de r´
ef´
erence d’Object Broker. Comparez les m´
ecanismes propos´
es avec ceux de Java RMI.
Exercice 5. Pont RMI-CORBA
Il est possible depuis Java RMI d’invoquer des objets CORBA. D´
ecrire et tester sur un exemple simple le
m´
ecanisme propos´
e par Java.
Indications et recommandations :
Object Broker (Orbacus) peut fonctionner sur les machines SUN Solaris et Linux Debian. Sous Linux et sous
Solaris la version 4.3 sont install´
ee dans le r´
epertoire /usr/local.
Vous utiliserez le serveur kundera pour ex´
ecuter la partie Linux. Les programmes pour Solaris peuvent
tourner sur les machines SUN de la salle A105 (de pr´
ef´
erence Ultra 20).
Suivant la machine il faut faire attention `
a mettre a jour les variables PATH JAVA HOME LD LIBRARY PATH
pour d´
esigner le r´
epertoire d’installation d’Orbacus.
Les documentations sont accessibles sur le serveur depinfo http://depinfo.u-bourgogne.fr/docs/
et sur le site de l’´
editeur du logiciel (http://web.progress.com/orbacus/documentation_432.html).
Reprenez les exemples d´
evelopp´
es en cours dans la documentation sp´
ecifique `
a la version 4.
La commande c++ est g´
en´
erique, la remplacer par CC pour utiliser le compilateur C++ constructeur ou par
g++ pour utiliser le compilateur C++ GNU.
Eric Leclercq — D´
epartement IEM — http://ufrsciencestech.u-bourgogne.fr 1