Un peu de documentation :
Vous disposez avec les fichiers echo-java.tgz et echo-cpp-omniorb.tgz de l'implantation dans les langages Java et C++ du service suivant :
interface Echo { string echoString(in string mesg); };
$ source echo-cpp-omniorb/omniorb.sh
/* - Remplacer les méthodes echoLong() et echoString() par une seule méthode “any echo(in any a)” manipulant le type any. [BONUS] */
Implanter en Java le service client/serveur de compte bancaire définit par l'interface “bank.idl”.
interface Account { void deposit(in unsigned long amount ); void withdraw(in unsigned long amount ); long balance(); }; interface Bank { Account create (); void destroy(in Account a); Account move(in Bank target, in Account a); };
Note : La méthode move() utilisera les méthodes balance(), destroy(), create() et deposit().
Pour aller plus loin, on modifiera l'IDL pour que la Bank gère des numéros de comptes. Par exemple :
Account create(out long id); Account lookup(in long id);
Reprendre l'exemple Echo pour le rendre persistant. Pour ce faire, il faut utiliser orbd à la place de tnameserv et préciser que le POA est persistant comme ceci :
import org.omg.CORBA.Policy; POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); Policy[] policy = new Policy[1]; policy[0] = rootPOA.create_lifespan_policy(LifespanPolicyValue.PERSISTENT); POA persistentPOA = rootPOA.create_POA("persistentPOA", null, policy);
Réaliser le déploiement de l'application à l'aide de la commande servertool
Plus d'infos :
Ecrire un client Echo en langage Python avec OmniORBpy. Des exemples sont disponibles dans ~esnard/opt/omniORBpy-3.4/examples.
Pour vous aider, consulter la documentation :