DIFF-ORBACUS-JACORB

Remarques sur différence entre ORBACUS et JACORB : évolution des exigences de la norme:

I: classe Hello_impl

1. OBACUS : conforme à la norme OMG CORBA2.0 qui exige l'interopérabilité des Brokers :

ojectif : un client ORBACUS peut se connecter et communiquer avec un serveur JACORB

2 . JACORB est conforme à norme CORBA 2.3 qui exige la PORTABILITE du code des applications CORBA:

le nom de la classe de laquelle hérite l'implémentation est standardisé : Hello_impl hérite de HelloPOA sachant que l'interface IDL s'appelle Hello objectif : Le code de l'application Hello de JACOR peut etre compilé sous un autre broker corforme à la version CORBA2.3 sans avoir à modifier le code Java (server, client, Hello_impl)

Le polymophisme n'est pas implanté par héritage : la classe HelloPOA n'hérite pas de la Hello : voir le code des classes java générées sous JACORB et sous ORBACUS pour voir la différence.

Donc le type Hello_impl n'est plus compatible avec Hello par héritage. Il faut « caster » les objets Hello_impl explicitement vers le type Hello par une methode explicite. D'où la différence entre l'implantation de creerHello() dans ORBACUS et JACORB

II classe Hfactory_impl: de JACORB :

public class Hfactory_impl extends HfactoryPOA {

ORB orb ; Hello creerHello () { Hello_impl h = new Hello_impl(); return h._this(orb); //cast explicite de h vers Hello}