Introduction à CORBA

Dimension: px
Commencer à balayer dès la page:

Download "Introduction à CORBA"

Transcription

1 Introduction à CORBA

2 Plan Introduction Architecture Services Développement d'une application Interface Definition Language (IDL) Exemple "Hello World!" 2

3 Bibliographie J.-M. Geib, C. Gransart, P. Merle, "CORBA : des concepts à la pratique", 2 e édition, Dunod, ISBN A. Fron. "Architectures réparties en JAVA", Dunod J. Daniel, "Au cœur de CORBA avec Java", Vuibert, ISBN

4 Introduction CORBA (Common Object Request Broker Architecture) Ensemble de spécifications et de recommandations. Norme rédigée par l OMG. CORBA 3. Object Management Group (1989). Plus de 800 membres (Sun, IBM, Microsoft,...). 4

5 Introduction Objectif : communications indépendantes des langages de programmations, des plates-formes matérielles, logicielles, des réseaux de communication, des développeurs. C++ Invocation Smalltalk Java Ada Objet distant Masquer l hétérogénéité 5

6 Introduction Applications : Objets CORBA qui implémentent des interfaces définies en IDL (Interface Definition Language). Clients accèdent aux méthodes dans les interfaces des objets CORBA, moyennant RMI. Serveur Objet CORBA Client Serveur 6

7 Architecture de CORBA Vision globale Services Objets de domaines Annuaire Transaction Médecine Electronique Le bus C.O.R.B.A. Client Serveur Administration Impression Applications utilisateurs Utilitaires communs 7

8 Architecture de CORBA Client Serveur JAVA IDL Objet C++ Skeleton Stub ORB IIOP Object Adapter ORB 8

9 Composants Souche/Stub : talon client Squelette/Skeleton : talon serveur générés automatiquement Object Adapter : enregistrement des objets. ORB : passage de requêtes/messages. IIOP : Internet Inter-ORB Protocol. 9

10 Stub (souche) Rappels Code client. Interface entre objet et ORB. Traduit les invocations sur l objet serveur (servant). Marshalling. Traduit les messages en valeurs de retour. Unmarshalling. 10

11 Code serveur. Skeleton (squelette) Rappels Interface entre implémentation/servant et ORB. Traduit les invocations client vers l implémentation. Unmarshalling. Traduit la valeur de retour en message vers client. Marshalling. 11

12 Référence d un objet CORBA Références d objets distants CORBA : Format IOR (Interoperable Object Reference) Interface de l objet Protocole et détails d adresse Clé identifiant l objet Interface repository identifier IIOP Host domain name Port number Adapter name Object name Exemple d IOR "stringifiée" (sous forme d une chaîne de caractères) : IOR: c3a c3a312e c d e38312e342e abacab f526f6f74504f410000cafebabe3bd5b c

13 Object Adapter (OA) POA : Portable Object Adapter Gère un ensemble de servants ayant des caractéristiques communes Ces caractéristiques sont contrôlées par les stratégies du POA Durée de vie des objets, allocation des requêtes à différents threads, allocation des identifiants d objets Activation et désactivation des objets. Invocation des méthodes. Tout servant est associé à un POA. 13

14 Object Request Broker (ORB) Transporte les messages entre les objets. Relie les souches aux squelettes correspondants et vice-versa. Bus à objets. Communications inter-orbs : GIOP (General Inter-ORB Protocol). IIOP (Internet Inter-ORB Protocol) (GIOP on TCP/IP). 14

15 Services de CORBA Services de localisation d objets Service de nommage (Naming) Pour retrouver un objet par un nom. De type "pages blanches". Service vendeur (Trader) Pour retrouver un objet par des propriétés. De type "pages jaunes". 15

16 Services de CORBA 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. 16

17 Développement d'une application Définir le contrat IDL (interface IDL). Compiler le contrat IDL (génération des talons). Créer la classe des servants (implémentation de l interface). Créer le serveur : Création et publication du servant (objet CORBA). Créer le client : Utilisation du servant. 17

18 Développement d'une application 18

19 Fichiers nécessaires Fichiers Client Serveur Souche X X Squelette X Code du serveur X Code du client X Librairie ORB X X 19

20 IDL de CORBA (Interface Definition Language) Langage neutre de spécification d interface. Définit les interfaces contractuelles d un composant avec ses clients. Aucun détail d implantation (langage, système d exploitation). Permet ensuite de générer des "squelettes" de programme dans les langages de programmation des applications. 20

21 IDL de CORBA Spécification IDL : définit un ou plusieurs types, constantes, exceptions, interfaces, modules. Mêmes règles syntaxiques que C++. Nouveaux mots-clés pour supporter la distribution (interface, attribute, oneway, readonly, in, out, ) Commentaires : par ligne : tout ce qui se trouve derrière // par bloque : /* pour le début, */ pour la fin Utilisation d un préprocesseur C : macros (#define, #ifdef, #ifndef, #endif); inclusion #include,... 21

22 IDL de CORBA module example { interface monexample { void methode1(); long methode2(); void methode3(in long param, out long result); }; }; Espace de nom C++ : namespace. Java : package. 22

23 IDL de CORBA Types d IDL : types de base void rien short entier 16 bits unsigned short entier 16 bits non signé long entier 32 bits unsigned long entier 32 bits non signé long long entier 64 bits unsigned long long entier 64 bits non signé float réel 32 bits (IEEE) double réel 64 bits (IEEE) long double réel 128 bits (IEEE) boolean booléen (TRUE, FALSE) octet opaque 8 bits char caractère 8 bits (ISO Latin 1) wchar caractère international 23

24 IDL de CORBA Types d IDL (suite): Types construits struct enum union string, wstring Types génériques sequence any typecode Types alias typedef 24

25 IDL de CORBA void methode(in long param, out long result); Méthodes : comme en C++ et Java, sauf in : paramètre utilisé en entrée (lu, non modifié). out : paramètre utilisé en sortie (non lu, modifié). inout : paramètre utilisé en entrée et en sortie (lu et modifié). 25

26 IDL de CORBA Une méthode est bloquante par défaut Long pgcd(in long a, in long b); Méthode non bloquante : Utilisation de l attribut oneway Pas de paramètre de type out, inout ou d exceptions Valeur de retour : void oneway void arret(in short delay); 26

27 IDL de CORBA Définition d exceptions : 0 ou N champs typés Indispensables pour prévoir les cas d erreurs exception ErreurInterne {}; // sans paramètres exception MauvaiseDate { Date UneDate; }; Type générique any : sert à stocker n importe quelle valeur IDL module MesPiles { }; interface PileGenerique { }; readonly attribute long sommet; void empiler(in any valeur); any depiler(); 27

28 IDL de CORBA Héritage : interface A {... }; // A est une interface interface B : A {... }; // B étend A interface C : A {... }; // C étend A interface D : B, C {...}; // D étend B et C // (héritage multiple) A Surcharge et redéfinition interdites. B D 28 C

29 IDL de CORBA Attributs IDL : opération(s) (lecture, écriture) liée(s) à une propriété interface article { readonly attribute float poids; // (lecture seule) attribute string description; // (lecture et écriture) }; Équivalent Java interface article { float poids(); // get_poids string description(); // get_description void description(string s); // set_description } 29

30 IDL de CORBA Exceptions d une opération IDL : informer l appelant des erreurs d exécution lors de l invocation d une méthode. Exceptions "système" Problèmes liés à l utilisation du bus CORBA. Explicitement spécifiées pour toutes les méthodes. Exceptions "utilisateur" Problèmes liés à une mauvaise utilisation de l objet. Explicitement spécifiées dans la signature des méthodes. 30

31 IDL de CORBA Quelques règles de la projection IDL vers Java IDL Type module interface const enum, struct, union sequence tableaux IDL typedef exception [readonly] attribute opération d une interface Java package interface static final classes Java ad hoc tableaux Java tableaux Java class sous-type de java.lang.exception méthodes Java de lecture/maj méthode Java 31

32 IDL de CORBA Projection des types de base IDL Type boolean (TRUE, FALSE) char wchar octet string wstring short unsigned short long unsigned long long long unsigned long long float double fixed long double Java boolean (true, false) char char byte java.lang.string java.lang.string short short int int long long float double java.math.bigdecimal Non supporté! 32

33 Exemple "Hello World!" /* Fichier "Hello.idl" */ module HelloApp { interface Hello { string sayhello(); }; }; 33

34 Exemple "Hello World!" Projection vers JAVA. idlj : compilateur IDL vers java Dans le JDK. Syntaxe : idlj -fall Hello.idl Les fichier suivants sont alors générées : _HelloStub.java, Hello.java, HelloOperations.java, HelloPOA.java, HelloPOATie.java, HelloHelper.java, HelloHolder.java 34

35 Exemple "Hello World!" Les classes générées Fichiers générés : Hello.java HelloOperations.java _HelloStub.java HelloHelper.java HelloHolder.java HelloPOA.java HelloPOATie.java Classe équivalente en Java pour chaque interface Classe souche Classes Helper et Holder Classe adaptateur d objets Classe adaptateur d objets (délégation ) 35

36 Exemple "Hello World!" La classe des futurs servants Classe qui implémente le contrat IDL. Doit dériver de "HelloPOA". class HelloImpl extends HelloPOA { private ORB orb; public void setorb(orb orb_val) { orb = orb_val; } public String sayhello() { return "\nhello World!\n"; } } 36

37 Exemple "Hello World!" Le serveur Création et initialisation de l ORB ; Récupération de la référence de l adaptateur d objets racine et activation du manager ; Création de l objet servant ; Récupération de la référence du servant ; Récupération de la référence de l objet du service de nommage en utilisant sa référence initiale "NameService" ; Conversion vers un type utilisable au moyen de la méthode narrow() de la classe NamingContextExtHelper ; Association d'un nom à la référence du servant, dans le service de nommage ; Mise en attente des requêtes. 37

38 Exemple "Hello World!" public class HelloServer { public static void main(string args[]) { try{ // create and initialize the ORB ORB orb = ORB.init(args, null); // get reference to rootpoa & activate the POAManager POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootpoa.the_poamanager().activate(); // create servant and register it with the ORB HelloImpl helloimpl = new HelloImpl(); helloimpl.setorb(orb); 38

39 Exemple "Hello World!" // get object reference from the servant org.omg.corba.object ref = rootpoa.servant_to_reference(helloimpl); //Hello href = HelloHelper.narrow(ref); // get the root naming context ; NameService org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); // bind the Object Reference in Naming String name = "Hello"; NameComponent path[] = ncref.to_name(name); ncref.rebind(path, ref); 39

40 Exemple "Hello World!" System.out.println("HelloServer ready and waiting..."); // wait for invocations from clients orb.run(); } catch (Exception e) { System.err.println("ERROR: " + e); e.printstacktrace(); } } 40

41 Exemple "Hello World!" Le client Création et initialisation de l ORB ; Récupération de la référence de l objet du service de nommage ; Récupération de la référence du servant grâce au service de nommage ; Conversion de la référence vers le type Hello en utilisant la méthode narrow() de la classe HelloHelper ; Invocation de méthodes distantes. 41

42 Exemple "Hello World!" public class HelloClient { static Hello helloimpl; public static void main(string args[]) { try{ // create and initialize the ORB ORB orb = ORB.init(args, null); // get the root naming context org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); 42

43 Exemple "Hello World!" // resolve the Object Reference in Naming String name = "Hello"; helloimpl = HelloHelper.narrow(ncRef.resolve_str(name)); System.out.println(helloImpl.sayHello()); } } catch (Exception e) { System.out.println("ERROR : " + e) ; e.printstacktrace(system.out); } } 43

44 Exemple "Hello World!" L'exécution Service de nommage à lancer avant le serveur orbd -ORBInitialPort <port> Sous Windows : start orbd Lancer le serveur java HelloServer -ORBInitialPort <port> Lancer le client -ORBInitialHost <servermachinename> java HelloClient -ORBInitialPort <port> -ORBInitialHost <servermachinename> 44

45 JAVA RMI vs. CORBA JAVA RMI fait communiquer des composants 100% JAVA, alors que CORBA est multi-langage. JAVA RMI bénéficie des apports de JAVA, certaines difficiles, voire impossibles à réaliser avec CORBA (ex : téléchargement distant d un objet). JAVA RMI est plus facile à mettre en œuvre que CORBA. JAVA RMI est une technologie moins mûre que CORBA, et a donc moins de services auxiliaires (notamment en matière de sécurité, de transaction, ). Le choix entre JAVA RMI et CORBA dépend du type d application à développer. 45

46 Conclusion Solution non propriétaire. Standard. Libre choix de l implémentation et du langage. Solution fonctionnelle d interopérabilité. Plusieurs implémentations libres et opensource. 46

47 ANNEXE Comparatif des ORB CORBA Middleware Prix Système Concepteur ORBacus $ Unix/Win Object Oriented Concepts (OOC) Langages supportés Java/C++ Remarques Rapide, léger VisiBroker $ Unix/Win Borland Java/C++/Delphi Facilité d utilisation, performance ORBIX $ Unix/Win Iona Java/C++ MICO gnu Unix/Win Univ. Francfort C++ Jac Orb version C++ JDK free Unix/Win Sun Java Complet, évolution vers Open ORB JacORB gnu Unix/Win Univ. Berlin Java Jorba free 47

48 ANNEXE Comparatif d'intergiciels 48

49 ANNEXE Appel en retour (callback) Exemple "Bonjour" 49

50 Appel en retour : exemple "Bonjour" Interface module CallbackApp { interface BonjourCallback { }; void callback(in string message); interface Bonjour { void say(in BonjourCallback objref, in string message); }; }; 50

51 Appel en retour : exemple "Bonjour" Côté Serveur class BonjourServant extends BonjourPOA { } public void say(bonjourcallback callobj, String msg) { callobj.callback(msg); System.out.println("Servant : Callback effectué\n");} public class BonjourServer { public static void main(string args[]) { try{ ORB orb = ORB.init(args, null); POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootpoa.the_poamanager().activate(); BonjourServant bonjourimpl = new BonjourServant(); org.omg.corba.object ref = rootpoa.servant_to_reference(bonjourimpl); Bonjour cref = BonjourHelper.narrow(ref); org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); }} NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); String name = "Bonjour"; NameComponent path[] = ncref.to_name(name); ncref.rebind(path, cref); orb.run();} catch(exception e) {System.err.println("ERROR:"+e); e.printstacktrace(system.out);} 51

52 Appel en retour : exemple "Bonjour" Côté Client class BonjourCallbackServant extends BonjourCallbackPOA { public void callback(string notification) { System.out.println("(appel de callback) -> "+ notification); }} public class BonjourClient { static Bonjour bonjourimpl; public static void main(string args[]) { try{orb orb = ORB.init(args, null); POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootpoa.the_poamanager().activate(); org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); String name = "Bonjour"; bonjourimpl = BonjourHelper.narrow(ncRef.resolve_str(name)); BonjourCallbackServant bonjourcallbackimpl = new BonjourCallbackServant(); org.omg.corba.object ref = rootpoa.servant_to_reference(bonjourcallbackimpl); BonjourCallback cref = BonjourCallbackHelper.narrow(ref); bonjourimpl.say(cref, "Bonjour!"); System.out.println("Fin du client");} catch(exception e){system.out.println("error:"+e); e.printstacktrace(system.out);} }} 52

53 ANNEXE Exemple "Hello world!" avec ORBacus serveur et client en C++ 53

54 "hello.idl" module HelloApp { interface Hello { string sayhello(); }; }; 54

55 "hello_impl.h" #include <hello_skel.h> // Implémentation par héritage du squelette class hello_impl : public POA_Hello, public PortableServer::RefCountServantBase { protected: int count; public: inline hello_impl() {count=0;} virtual ~hello_impl() {} virtual char* sayhello(); }; 55

56 "hello_impl.cc" #include <CORBA.h> #include <hello_impl.h> // Implémentation de sayhello() char* hello_impl::sayhello() throw(corba::systemexception) { } cout<<"appel de sayhello() #"<<(count+1)<<endl; ostringstream s; s<<"hello World #"<<++count<<"!"; return CORBA::string_dup( (const char*)s.str().c_str()); 56

57 "hello_server.cc" // initialisation de l ORB CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); // retrouve le Root POA CORBA::Object_var poaobj = orb -> resolve_initial_references("rootpoa"); PortableServer::POA_var rootpoa = PortableServer::POA::_narrow(poaObj.in()); // recuperation d'une reference sur le POA manager PortableServer::POAManager_var manager = rootpoa -> the_poamanager(); // creation de servants Hello_impl* a1p = new Hello_impl; Hello_var a1 = a1p -> _this(); // récupération du naming service CORBA::Object_var obj = orb -> resolve_initial_references("nameservice"); CosNaming::NamingContext_var nc = CosNaming::NamingContext::_narrow(obj); // creation et publication du nom CosNaming::Name a1name; a1name.length(1); a1name[0].id = CORBA::string_dup( Hello"); a1name[0].kind = CORBA::string_dup(""); nc -> bind(a1name, a1); // lancement manager -> activate(); // POA manager orb -> run(); } 57

58 "hello_client.cc" // Initialisation de l ORB CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); // récupération du naming service CORBA::Object_var obj = orb->resolve_initial_references("nameservice"); CosNaming::NamingContext_var nc = If(CORBA::is_nil(obj.in())) { cout << "'NameService' introuvable" << endl; return 1; } // Résolution d un nom CosNaming::Name aname; aname.length(1); aname[0].id = CORBA::string_dup("Hello"); aname[0].kind = CORBA::string_dup(""); CORBA::Object_var aobj = nc -> resolve(aname); Hello_var helloref = Hello::_narrow(aObj.in()); // appel d une methode de l objet CORBA::String_var dest = helloref->sayhello(); CosNaming::NamingContext::_narrow(obj.in()); cout<<"message de l'objet corba Hello: \""<<(char*)dest<<"\"."<<endl; 58

59 Compilation Génération des souches/squelettes C++ <ORB home>/bin/idl hello.idl Compilation C++ des sources applicatifs et générés gcc -o hello_skel.o c hello_skel.cc gcc -o hello_server hello_server.o hello_skel.o <librairies ORB> gcc -o hello_client hello_client.o <bibliothèques ORB> 59

Chapitre 5 CORBA (Common Object Request Broker Architecture)

Chapitre 5 CORBA (Common Object Request Broker Architecture) DÉVELOPPEMENT D APPLICATIONS RÉPARTIES CORBA (Common Object Request Broker Architecture) Amen Ben Hadj Ali amenbha@hotmail.com ISI-L3SIL 2011-2012 Plan 2 Architecture CORBA Le langage IDL CORBA en Java

Plus en détail

Corba avec Java et C++ 2004 Jean Marc Vanel Transiciel Sogeti

Corba avec Java et C++ 2004 Jean Marc Vanel Transiciel Sogeti Corba avec Java et C++ 2004 Jean Marc Vanel Transiciel Sogeti 1 1 Contenu et déroulement 2 Plan Partie 1: survol vision Corba mise en oeuvre de Corba liaison et transport dans Corba services «communs»

Plus en détail

CORBA avec OpenORB. Samir Torki et Patrice Torguet

CORBA avec OpenORB. Samir Torki et Patrice Torguet CORBA avec OpenORB Samir Torki et Patrice Torguet 1 Présentation de CORBA CORBA (Common Object Request Broker Architecture) est un standard décrivant une architecture pour la mise en place d objets distribués.

Plus en détail

Systèmes répartis : CORBA p.1/45

Systèmes répartis : CORBA p.1/45 Systèmes répartis : CORBA Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : CORBA p.1/45 Plan 1. Architecture et modèle objet 2. Interface Definition Language

Plus en détail

ORB. Plan. Corba. Introduction. Plan CORBA. Objet annuaire. Objet serveur BD. Master Informatique 2ème année. Olivier Flauzac 3 Architecture de CORBA

ORB. Plan. Corba. Introduction. Plan CORBA. Objet annuaire. Objet serveur BD. Master Informatique 2ème année. Olivier Flauzac 3 Architecture de CORBA Plan Corba Master Informatique 2ème année 1 Généralités 2 Le modèle OMA Olivier Flauzac 3 Architecture de CORBA 4 Le langage IDL olivier.flauzac@univ-reims.fr 5 Développement avec Corba Corba et BOA Corba

Plus en détail

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier Intergiciels pour la répartition CORBA : Common Object Request Broker Patrice Torguet torguet@irit.fr Université Paul Sabatier Plan du cours 2 Introduction à CORBA Architecture de l ORB Implémentation

Plus en détail

Introduction CORBA. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

Introduction CORBA. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Introduction CORBA Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Contexte Besoins Interconnexion de systèmes d'information Réutilisation de codes existants Hétérogénéité

Plus en détail

Objets répartis - Partie 2 CORBA

Objets répartis - Partie 2 CORBA Objets répartis - Partie 2 CORBA 1 Merci à Jean-Marc Geib, Christophe Gransart, Philippe Merle Corba, des concepts à la pratique InterEditions CorbaScript (Christophe Gransart, Philippe Merle) http://corbaweb.lifl.fr

Plus en détail

OMG CORBA www.omg.org www.corba.org

OMG CORBA www.omg.org www.corba.org OMG CORBA www.omg.org www.corba.org OMG CORBA Introduction 2 Modèle de présentation Télécom ParisTech Plan CORBA vue d ensemble IDL «Interface Definition Language» Translation d IDL vers Java 3 CORBA contexte

Plus en détail

Présentation de CORBA, RMI et SOAP

Présentation de CORBA, RMI et SOAP Présentation de CORBA, RMI et SOAP Christophe Borelly IUT GTR Béziers 2000 http://cb.iutbeziers.univ-montp2.fr Christophe.Borelly@iutbeziers.univ-montp2.fr Généralités CORBA, RMI et SOAP sont des techniques

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties Chapître 4 - CORBA et les objets distribués Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/

Plus en détail

Bases de données et environnements distribués Chapitre II : CORBA

Bases de données et environnements distribués Chapitre II : CORBA Bases de données et environnements distribués Chapitre II : CORBA Eric Leclercq Département IEM / UB 10/2005 email : Eric.Leclercq@u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq http://ufrsciencestech.u-bourgogne.fr

Plus en détail

1.! Caractéristiques. 2.! Le langage IDL. 3.! Projection vers Java. 4.! Développement Java. 5.! Architecture. 6.! Services

1.! Caractéristiques. 2.! Le langage IDL. 3.! Projection vers Java. 4.! Développement Java. 5.! Architecture. 6.! Services SRCS : Systèmes Répartis / Introduction à CORBA Introduction à CORBA Gaël Thomas gael.thomas@lip6.fr (basé sur un cours de Lionel Seinturier) Université Pierre et Marie Curie Master Informatique M1 Spécialité

Plus en détail

Présentation de l architecture CORBA

Présentation de l architecture CORBA Présentation de l architecture CORBA Common Object Request Broker Architecture Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1 1.Introduction Depuis 1989, une

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

CORBA. Cycle de développement

CORBA. Cycle de développement CORBA Cycle de développement Projet MIAGe Toulouse Groupe 2 1 Le cycle de développement (1/3) On s intéresse au développement selon le mode statique, c est à dire en utilisant les talons (stub, skeleton,

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr 1 Plan Principes généraux Modèle

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Programmation répartie: Objet distribué. CORBA (Common Object Request Broker Architectur)

Programmation répartie: Objet distribué. CORBA (Common Object Request Broker Architectur) Programmation répartie: Objet distribué CORBA (Common Object Request Broker Architectur) Plan du cours Introduction définitions problématiques architectures de distribution Distribution intra-applications

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr Remerciements Michel Riveill 1

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

CORBA. (Common Object Request Broker Architecture) Denivaldo LOPES

CORBA. (Common Object Request Broker Architecture) Denivaldo LOPES CORBA (Common Object Request Broker Architecture) Denivaldo LOPES 1 CORBA Table de matières Middleware CORBA Introduction à IDL Java et CORBA (JDK 1.4) C et CORBA (ORBit2) L interopérabilité entre JDK-CORBA

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

Cours 9 : Servlet, JSP, corba

Cours 9 : Servlet, JSP, corba Cours 9 - PC2R - UPMC - 2009/2010 p. 1/40 Cours 9 : Servlet, JSP, corba chargement dynamique (cours 7) Applet (cours 4) Servlet JSP Corba Cours 9 - PC2R - UPMC - 2009/2010 p. 2/40 servlet du coté serveur:

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 TP Java RMI Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Paradigme RMI RMI (Remote Method Invocation) RPC orientés objet (encapsulation, héritage,...) objet :

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

CORBA : principes et mécanismes

CORBA : principes et mécanismes CORBA : principes et mécanismes Développement d applications distribuées (par Z. Mammeri UPS) 1. Objectifs et principes de base de CORBA 1.1. CORBA : bus pour l interopérabilité CORBA (Common Object Request

Plus en détail

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Ce support est très largement inspiré du livre et du cours de S. Krakowiak S. Krakowiak Java Remote Method Invocation 1 / 25 Intérêt des objets pour la construction d applications

Plus en détail

La plate-forme Java RMI

La plate-forme Java RMI La plate-forme Java RMI Frank Singhoff Bureau C-202 Université de Brest, France Lab-STICC/UMR 3192 singhoff@univ-brest.fr UE systèmes à objets répartis, Université de Brest Page 1/25 Sommaire 1. Le modèle

Plus en détail

Objets distribués et Appel de Méthodes à Distance 2009-2010

Objets distribués et Appel de Méthodes à Distance 2009-2010 Objets distribués et Appel de Méthodes à Distance 2009-2010 1 Objectif : construire une application où différents modules peuvent être situés sur des machines différentes, en utilisant un modèle à objets

Plus en détail

Sensibilisation à RMI (Remote Method Invocation)

Sensibilisation à RMI (Remote Method Invocation) Jini Sensibilisation à RMI (Remote Method Invocation) Le rêve de tout système distribué L idéal serait d avoir un système distribué utilisant la technologie objet et permettant : 1) d invoquer une méthode

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Java RMI : Techniques et utilisations avancées de RMI Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE

Plus en détail

RMI : Remote Method Invocation Appel de méthodes à distance

RMI : Remote Method Invocation Appel de méthodes à distance RMI : Remote Method Invocation Appel de méthodes à distance Patrice Torguet torguet@irit.fr Université Paul Sabatier Plan du cours l Les RPC l Architecture et fonctionnement de RMI l Etapes de développement

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP Chapitre 9 Dans ce chapitre nous abordons le mécanisme RMI (Remote Method Invocation) permettant le développe ment des systèmes répartis. Nous expliquerons comment les classes d un serveur peuvent être

Plus en détail

Construction d Applications Réparties avec CORBA

Construction d Applications Réparties avec CORBA Construction d Applications Réparties avec CORBA Serge Midonnet (serge.midonnet@univ-paris-est.fr) Février 2013 Outline Outline Introduction et Modèle Corba Objectifs du cours Objectifs Corba Domaines

Plus en détail

Architecture CORBA: les différents services dont le service de nommage Interopérabilité RMI CORBA

Architecture CORBA: les différents services dont le service de nommage Interopérabilité RMI CORBA 1 Module SI4 Applications réparties Architecture CORBA: les différents services dont le service de nommage Interopérabilité RMI CORBA Extraits de A. Occello, cours EPU 2009-2010, et L.Seinturier - 1 -

Plus en détail

Introduction à JAVA RMI

Introduction à JAVA RMI Introduction à JAVA RMI Plan Introduction Architecture logique Principe de programmation Un exemple Fabrique d'objets Appels en retour 2 Bibliographie Documentation Sun : http://java.sun.com/javase/technologies/core/basic/rmi/

Plus en détail

Systèmes Distribués Des protocoles client serveur au paradigme objets distribués avec Java

Systèmes Distribués Des protocoles client serveur au paradigme objets distribués avec Java Systèmes Distribués Des protocoles client serveur au paradigme objets distribués avec Java (application avec Java RMI) Éric Leclercq Département IEM / Laboratoire LE2i Décembre 2010 émail : Eric.Leclercq@u-bourgogne.fr

Plus en détail

Introduction. Réalisation d'une application répartie (fournissant un ou plusieurs services)

Introduction. Réalisation d'une application répartie (fournissant un ou plusieurs services) Intergiciels Introduction Réalisation d'une application répartie (fournissant un ou plusieurs services) Bas niveau : Sockets Haut niveau : Intergiciels (Middleware) Appel de procédure à distance (RPC),

Plus en détail

Intergiciel - concepts de base

Intergiciel - concepts de base Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques

Plus en détail

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com RPC Remote Procedure Call Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com Objectifs Le rôle de RPC comme middleware Positionner RPC dans le modèle OSI Développement d application

Plus en détail

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011 Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

Plus en détail

Programmation Réseau RMI. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! UFR Informatique

Programmation Réseau RMI. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! UFR Informatique Programmation Réseau RMI Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr UFR Informatique 2014 Les RMI de Java Les applications RMI sont des applications bâties sur

Plus en détail

Calcul Parallèle. Cours 5 - JAVA RMI

Calcul Parallèle. Cours 5 - JAVA RMI Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Introduction à CORBA. Contents. Pierre Gançarski. Octobre 2002

Introduction à CORBA. Contents. Pierre Gançarski. Octobre 2002 Introduction à CORBA Pierre Gançarski Octobre 2002 Département d'informatique UFR de Mathématique et Informatique Université Louis Pasteur - Strasbourg Contents 1 Introduction 3 1.1 Plate-forme................................................

Plus en détail

Les Systèmes et Applications Réparties et leur Programmation

Les Systèmes et Applications Réparties et leur Programmation Les Systèmes et Applications Réparties et leur Programmation Samia Bouzefrane Maître de Conférences Laboratoire CEDRIC Conservatoire National des Arts et Métiers 292 rue Saint Martin 75141 Paris Cédex

Plus en détail

M2 FMIN305 - Novembre 2010 CORBA

M2 FMIN305 - Novembre 2010 CORBA FMIN05 - Novembre 0 Ce TD est très largement inspiré de ceux de Gilles Roussel. Vous trouverez beaucoup de choses intéressantes ici : http://www-igm.univ-mlv.fr/ roussel. 1 Horloge distante On souhaite

Plus en détail

TD 7 - Remote Procedure Call (RPC)

TD 7 - Remote Procedure Call (RPC) Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Année scolaire 2008-2009 Claude Duvallet 1/25 Plan de la présentation

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

Plus en détail

Le Langage Java et le Monde des Objets

Le Langage Java et le Monde des Objets . p.1 Le Langage Java et le Monde des Objets Les principes de la modélisation Orientée Objet. Qu est-ce qu une classe?. Les types de base. Utiliser les classes. Les tentacules de Java. . p.2 Bibliographie

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Examen terminal Architectures n-tiers : Intergiciels à objets et services web

Examen terminal Architectures n-tiers : Intergiciels à objets et services web GMIN20 - Juin 2013 Tous documents autorisés. Le barème est donné à titre indicatif. 1 Corba (5 points) Un fichier IDL vous est donné au listing 1. On vous donne aussi un fichier d implémentation au listing

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

RMI (Remote Method Invocation) Client serveur, situation traditionnelle. Client serveur, situation traditionnelle.

RMI (Remote Method Invocation) Client serveur, situation traditionnelle. Client serveur, situation traditionnelle. RMI (Remote Method Invocation) Présentation de RMI Université Française d Egypte Richard Grin Version 0.6 10/10/12 R. Grin RMI page 2 Client serveur, situation traditionnelle Sur la machine A un client

Plus en détail

PPOOGL. Florent de Dinechin. Java pour les nuls

PPOOGL. Florent de Dinechin. Java pour les nuls PPOOGL Florent de Dinechin Java pour les nuls Java en 30 minutes Introduction Grands principes Pour en finir avec l organisation Types de base et objets Le reste est dans le manuel PPOOGL 1 Introduction

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Java - RMI Remote Method Invocation. Stéphane Frénot -MID - V.0.2.0 Part I - RMI 1

Java - RMI Remote Method Invocation. Stéphane Frénot -MID - V.0.2.0 Part I - RMI 1 Java - RMI Remote Method Invocation Stéphane Frénot -MID - V.0.2.0 Part I - RMI 1 Répartition d'une application Application de Présentation Middleware Implicite Application de traitement Application de

Plus en détail

Java - RMI Remote Method Invocation

Java - RMI Remote Method Invocation Java - RMI Remote Method Invocation Stéphane Frénot -MID - V.0.2.0 Part I - RMI 1 Répartition d'une application Application de Présentation Système d'exploitation Middleware Implicite Application de traitement

Plus en détail

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier Etude de cas PLM Patrice TORGUET IRIT Université Paul Sabatier Plan Exemple PLM Répartition avec Sockets Répartition avec RMI Répartition avec CORBA Répartition avec JMS Répartition avec Java EE Améliorations

Plus en détail

IN104. Programmation orientée objet Introduction aux objets

IN104. Programmation orientée objet Introduction aux objets IN104 Programmation orientée objet Introduction aux objets Séance de Travaux Dirigés du 24 septembre 2009 B. Monsuez, F. Védrine Exercice 1 Notre compteur en C++ Nous étudions dans cet exercice l exemple

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Systèmes Distribués : Synthèse

Systèmes Distribués : Synthèse Facultés Universitaires Notre Dame de la Paix Namur Systèmes Distribués : Synthèse Année Académique 2011-2012 MAES Jerome Cours : INFO-M112 Professeur : V. Englebert Assistant : F. Gilson Table des matières

Plus en détail

1 Notions de base 1.1 Structure d'un programme

1 Notions de base 1.1 Structure d'un programme 1 Notions de base 1.1 Structure d'un programme Le langage C++ contient le langage C : tout programme écrit en C à la norme ANSI doit pouvoir être compilé par un compilateur C++. C++ fait la diérence entre

Plus en détail

Code Java. Exemple d agent. Agent.java. Attend une connexion d un agent Lit un agent sur la socket (deserialisation) Invoque sa méthode arrivede

Code Java. Exemple d agent. Agent.java. Attend une connexion d un agent Lit un agent sur la socket (deserialisation) Invoque sa méthode arrivede [ Codes (agents) mobiles / Un agent] Code Java [ Codes (agents) mobiles ] Le serveur Agent.java public abstract class Agent implements Serialisable{ public final void allersur(string adresseurl){ // On

Plus en détail

DotNet Remoting. Assia HACHICHI. dr.hachichi@gmail.com (basé sur un cours de Lionel Seinturier) Page 1

DotNet Remoting. Assia HACHICHI. dr.hachichi@gmail.com (basé sur un cours de Lionel Seinturier) Page 1 DotNet Remoting Assia HACHICHI dr.hachichi@gmail.com (basé sur un cours de Lionel Seinturier) Page 1 I Introduction 1. Introduction 2. Modèle de programmation 3. Caractéristiques techniques Invocation

Plus en détail

CORBA haute performance

CORBA haute performance CORBA haute performance «CORBA à 730Mb/s!» Alexandre DENIS PARIS/IRISA, Rennes Alexandre.Denis@irisa.fr Plan Motivations : concept de grille de calcul CORBA : concepts fondamentaux Vers un ORB haute performance

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Le standard CORBA. Frank Singhoff Bureau C-202 Université de Brest, France Lab-STICC/UMR 3192 singhoff@univ-brest.fr

Le standard CORBA. Frank Singhoff Bureau C-202 Université de Brest, France Lab-STICC/UMR 3192 singhoff@univ-brest.fr Le standard CORBA Frank Singhoff Bureau C-202 Université de Brest, France Lab-STICC/UMR 3192 singhoff@univ-brest.fr UE systèmes à objets répartis, Université de Brest Page 1/99 Introduction CORBA a est

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

TP1 - Entreprise Java Beans

TP1 - Entreprise Java Beans TP1 - Entreprise Java Beans Réseaux Middlewares - Jules Chevalier 1 Configuration Minimale Pour ce TP, vous aurez besoin de outils suivants : Un JDK installé (le JRE est insuffisant) Un IDE édition Java

Plus en détail

Java - Historique. Une introduction à Java. Premier exemple. Aperçu de Java. Processus d obtention d un exécutable. Compilation/interprétation

Java - Historique. Une introduction à Java. Premier exemple. Aperçu de Java. Processus d obtention d un exécutable. Compilation/interprétation Java - Historique Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Systèmes distribués avec Java RMI

Systèmes distribués avec Java RMI Systèmes distribués avec Java RMI Vania Marangozova-Martin Vania.Marangozova-Martin@imag.fr ibd.forge.imag.fr Pourquoi Java RMI? u A plus bas niveau nous avons le mécanisme de sockets A socket is one end-point

Plus en détail

Cours de Java. Benjamin FAUCHER Cubis-Helios Consulting

Cours de Java. Benjamin FAUCHER Cubis-Helios Consulting Cours de Java Benjamin FAUCHER Cubis-Helios Consulting Cours 1 : Les bases du Langage Java 1/2 I. Introduction II. Compilation III. Rappel sur la POO IV. Les classes Java V. Syntaxe de base du Java Langage

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

PARADIGME ORIENTÉ-OBJET

PARADIGME ORIENTÉ-OBJET PARADIGME ORIENTÉ-OBJET A programming paradigm that uses objects to design systems. Sébastien Adam Une introduction des concepts de base 2 Principes fondamentaux Modularité : vise à répartir les opérations

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

public class StaticExample { private static int compteur; public static double pi = 3.14159; } utilisation de la notation. respect des modificateurs

public class StaticExample { private static int compteur; public static double pi = 3.14159; } utilisation de la notation. respect des modificateurs static static : usage Le rôle essentiel d un moule est de permettre la création d objets. mais un moule a également des caractéristiques Il en est de même pour une classe. Usage : La déclaration des attributs

Plus en détail

Réalisation d un serveur CTI-CSTA sur TCP/IP

Réalisation d un serveur CTI-CSTA sur TCP/IP Alcôve http://www.alcove.fr 1/28 Réalisation d un serveur CTI-CSTA sur TCP/IP Julien Gaulmin Cette présentation est librement diffusable sous les termes de la GNU Free Documentation

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Plan. USTL Master mention Informatique M1. Construction d applications réparties. VI. Le bus logiciel CORBA. Introduction.

Plan. USTL Master mention Informatique M1. Construction d applications réparties. VI. Le bus logiciel CORBA. Introduction. Plan USTL Master mention Informatique M1 Construction d applications réparties VI. Le bus logiciel CORBA 1. Introduction 2. Langage 3. 4. 5. Services 6. Fonctionnalités avancées Lionel.Seinturier@lifl.fr

Plus en détail

Software development. Deliverable number : D3 Nature:P Contractual Date of Delivery: 14 August 1998 Task WP6 : Project management

Software development. Deliverable number : D3 Nature:P Contractual Date of Delivery: 14 August 1998 Task WP6 : Project management SIMES - 961620 Système d Information Multimédia Pour l Environnement Subsaharien Software development Deliverable number : D3 Nature:P Contractual Date of Delivery: 14 August 1998 Task WP6 : Project management

Plus en détail

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

Plus en détail

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES Dhouha Ayed, Chantal Taconet et Guy Bernard GET / INT, CNRS Samovar 9 rue Charles Fourier, 91011 Évry, France {Dhouha.Ayed, Chantal.Taconet, Guy.Bernard}@int-evry.fr

Plus en détail

PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03

PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03 PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03 Plan Contexte Problèmes CORBA PaCO++ Conclusion / perspectives Contexte : couplage de code Structural Mechanics Optics Thermal Dynamics Satellite design

Plus en détail

Java Avancé - Cours 2

Java Avancé - Cours 2 Java avancé - cours 2 1/8 Java Avancé - Cours 2 Plan 1 Communication entre objets 1 1.1 Motivation....................................................... 1 1.2 Relations entre le panier et le rayon.........................................

Plus en détail

Standards Objets OMG - ODMG ODL - OQL. Plan. Introduction à l'odmg: Object Definition Language (ODL) Object Query Language (OQ)

Standards Objets OMG - ODMG ODL - OQL. Plan. Introduction à l'odmg: Object Definition Language (ODL) Object Query Language (OQ) Plan Standards Objets OMG - ODMG ODL - OQL Introduction à l'odmg: Contenu de la proposition; Architecture d'un SGBDO; Object Definition Language (ODL) Object Query Language (OQ) 1 2 Tirés des documents

Plus en détail