La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

France Télécom R&D Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.

Présentations similaires


Présentation au sujet: "France Télécom R&D Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire."— Transcription de la présentation:

1 France Télécom R&D Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire implique, de la part de ce dernier, la reconnaissance du caractère confidentiel de son contenu et l'engagement de n'en faire aucune reproduction, aucune transmission à des tiers, aucune divulgation et aucune utilisation commerciale sans l'accord préalable écrit de France Télécom R&D 1 Introduction à Corba Réunion Cube – 24/10/2003 P. Déchamboux (FTR&D DTL/ASR)

2 France Télécom R&D 2 Contenu et déroulement è Références  http://www.omg.org/  http://corbaweb.lifl.fr/CORBA_des_concepts_a_la_pratique/  http://www.cs.wustl.edu/~schmidt/corba.html è Plan  vision Corba  mise en oeuvre de Corba  liaison et transport dans Corba  services « systèmes » et canevas de Corba è Annexe  exemple : HelloWorld

3 France Télécom R&D 3 Vision de Corba

4 France Télécom R&D 4 OMG : concepts-clés è Permettre l’interopérabilité des composants / applications par l’intermédiaire d’un mode de coopération unifié : l’appel d’objets distants è Gérer l’hétérogénéité des réseaux, machines, systèmes et langages è Vision utilisateur = langage pivot commun : OMG-IDL è Offrir une architecture globale

5 France Télécom R&D 5 OMG : les objectifs techniques è Liaison avec tous les langages è Transparence des invocations è Invocation statique et dynamique è Système auto-descriptif è Activation automatique è Interopérabilité entre bus

6 France Télécom R&D 6 OMG : vision globale è Common Object Request Broker Architecture CORBA  appel de méthode réparti transparent passages de paramètres : in, out, in/out types de paramètres : types de base (entiers, string, etc), références d’objets, objets par valeur  un bus à objets répartis (ORB) transport des requêtes, activation des objets  des services de base (CORBAservices)  des utilitaires communs (CORBAfacilities)  des interfaces de domaines = objets métiers « interopérabilité sémantique »

7 France Télécom R&D 7 OMA : l’architecture globale Licences TransactionsPersistancePropriétésChangementsEvents NommageVendeurSécuritéRelationsCollectionsTempsExternalisation Interrogations Cycle de vie Concurrence Services objet communs Workflow DataWareIHM Administration Utilitaires communs Finance Télécoms Santé Interfaces de domaine Objets applicatifs Spécifiques Bus d’objets répartis

8 France Télécom R&D 8 ORB OMG : le modèle client/serveur objet Objet CORBA Etat Code d’implantation Référence d’objet Interface d’objet Requête Activation

9 France Télécom R&D 9 Mise en oeuvre de Corba

10 France Télécom R&D 10 OMG-IDL : le langage d’interfaces è Rôle du langage  décrire les interfaces des objets  langage pivot entre applications  générer des squelettes de programme dans les langages de programmation des applications

11 France Télécom R&D 11 OMG-IDL : mise en oeuvre des interfaces è Projection des descriptions OMG-IDL vers les langages d’implantation des clients et des serveurs (e.g., C, C++, Java, etc).  mode « statique » è Instanciation sous forme d’objets CORBA des descriptions OMG-IDL dans un référentiel d’interfaces.  mode « dynamique »

12 France Télécom R&D 12 CORBA : les composantes du bus Bus de communication Interface du bus Interface d’invocation statique Interface d’invocation dynamique SIIDII ORB SSIDSI OA Adaptateur d’objet Interface de squelettes statiques Interface de squelettes dynamiques IR Référentiel des interfaces ImplR Référentiel des implantations

13 France Télécom R&D 13 Liaison et transport dans Corba

14 France Télécom R&D 14 Les couches de transport de CORBA è GIOP : protocole d’interopérabilité entre bus de la norme CORBA 2  support à l’appel de méthode (enveloppe = REQUEST, REPLY, etc)  encodage des données : CDR  GIOP sur Internet = Internet Inter ORB Protocol (IIOP)  champs « service context » (ex: standardisation ctxt transactions, sécurité)

15 France Télécom R&D 15 Nommage dans Corba è Noms du domaine Corba  Interoperable Object Reference : IOR  identification protocole  interface OMG-IDL è Sous-domaine Corba/Internet  adresse IP + port  clé de format libre (dépendant de l’adaptateur d’objet) identificateur d’adaptateur d’objet clé de format libre (dépendant de l’adaptateur d’objet)

16 France Télécom R&D 16 Emballeur GIOP Talon client (IOR) Interface applicative (issue de l’interface IDL) IOR servant Adaptateur d’objet Mise en place d’une liaison Emballeur GIOP Squelette serveur Servant applicatif Invocation Liaison IIOP

17 France Télécom R&D 17 Services « systèmes » et canevas de Corba

18 France Télécom R&D 18 Les services communs (1) è Services de localisation d’objets  service de nommage (Naming) pour retrouver un objet par un nom service de type « pages blanches »  service de courtage (Trader) pour retrouver un objet par des propriétés service de type « pages jaunes »

19 France Télécom R&D 19 Les services communs (2) è Services de communications asynchrones  Events, Notification, Messaging è Services de sûreté de fonctionnement  Security, Transactions, Concurrence è Services concernant la vie des objets  Life Cycle, Property, Relationship, Externalization, Persistent Object, Query, Collection, Versionning, Time, Licencing

20 France Télécom R&D 20 Exemple : « Hello World » en Java

21 France Télécom R&D 21 Chaine de production de programme Hello.idl HelloOperations.java Hello.java HelloHelper.java HelloHolder.java _StubForHello.java Compilateur OMG-IDL / Java HelloClient.java HelloPOA.java HelloPOATie.java Client Serveur HelloServeur.java HelloImpl.java

22 France Télécom R&D 22 De l’IDL à Java è Interface OMG-IDL Hello è Interface Java HelloOperations, Hello è Classes Java HelloHelper, HelloHolder interface Hello { void doHello(); }; public interface HelloOperations { public void doHello(); } public interface Hello extends HelloOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity {}

23 France Télécom R&D 23 Implantation du serveur Corba public class HelloServeur { public static void main(String args[]) { // Initialisation du Bus Corba et d’un POA org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null); org.omg.PortableServer.POA poa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); poa.the_POAManager().activate(); // récupération du serveur de nom org.omg.CosNaming.NamingContext ns = org.omg.CosNaming. NamingContextHelper.narrow( orb.resolve_initial_references("NameService")); // Creation du servant et enregistrement au serveur de noms HelloImpl hello = new HelloImpl(); ns.rebind( new org.omg.CosNaming.NameComponent[] {new NameComponent("HelloObj","")}, hello); // Mise en attente du serveur orb.run(); }

24 France Télécom R&D 24 Implantation du client Corba public class HelloClient { public static void main(String args[]) { // Initialisation du Bus Corba org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null); // récupération du serveur de nom org.omg.CosNaming.NamingContext ns = org.omg.CosNaming. NamingContextHelper.narrow( orb.resolve_initial_references("NameService")); // Récupération de la souche depuis le serveur de nom org.omg.CORBA.Object obj_ref = ns.resolve(new org.omg.CosNaming.NameComponent[] {new NameComponent("HelloObj","")}); Hello hello = HelloHelper.narrow(obj_ref); // Invocation de l'objet distant hello.doHello(); }

25 France Télécom R&D 25 Les classes générées (client et serveur) è Classe _StubForHello : implantation du talon  sert à envoyer les requêtes  utilisé en lieu et place de l'objet Hello dans le client è Classe HelloPOA  Classe HelloPOATie  reçoit et décode les requêtes  implantation par héritage  implantation par délégation public class HelloImpl extends HelloPOA { public HelloImpl() {} public void doHello() { System.out.println("Hello world!"); }

26 France Télécom R&D 26 Corba dynamique

27 France Télécom R&D 27 L’invocation dynamique è Référentiel d’interfaces (IR)  accessible comme objet Corba  gestion de méta-objets Corba (ModuleDef, InterfaceDef, OperationDef, AttributeDef, TypedefDef, …) è API (DII) de construction de requêtes è Un objet Request = un nom d’opération, une liste de couples valeur - type (au sens de l’IR) et une structure pour le résultat  invoke  send_deferred + get_response, poll_response  send_oneway

28 France Télécom R&D 28 Le squelette dynamique è API (DSI) de décodage de requêtes è Pas d’utilisation de squelettes pré-générés è Utilisée pour implanter dynamiquement des objets è Cas d’utilisation : création de passerelles


Télécharger ppt "France Télécom R&D Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire."

Présentations similaires


Annonces Google