IV. Les objets répartis

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

Download "IV. Les objets répartis"

Transcription

1 IV. Les objets répartis 1

2 Plan 1. Client/Server OO 2. Java RMI 2

3 1 Modèle de prog. Client/Serveur OO 1.1 Nommage 1.2 Sécurité d accès 1.3 Durée de vie 1.4 Objets concurrents 1.5 Synchronisation 3

4 1 Modèle de prog. Client/Serveur OO Applications souvent en mode client / serveur les clients font appel à des services offerts par des serveurs distants API sockets sont de trop bas niveau et nécessitent allocation manuelle des sockets / threads sérialisation manuelle des appels de services distants emballage / déballage des données des messages sérialisation manuelle des objets complexes pas d annuaire ni d autres services «middleware» 4

5 1 Modèle de prog. Client/Serveur OO Les applications sont de plus en plus conçues selon une approche orientée objet «bonnes» propriétés de l objet (encapsulation, modularité, réutilisation, polymorphisme, composition) Objet = unité de désignation et de distribution Permettre la communication directe et transparente entre objets répartis par ex. objetdistant.methode(parametres) transparence uniquement pour le 5 programmeur!

6 1 Modèle de prog. Client/Serveur OO Introduction de la notion d objet dans un environnement réparti - Mieux structurer les applications - Simplifier la conception, le développement, la maintenance -Uniformiser l accès au système au travers d un Langage concurrent et réparti Objet = données + méthodes + référence données : variables méthodes : traitements référence : moyen d accès à l objet Données d1 d2 M1 M2 M3 Méthodes 6

7 1 Modèle de prog. Client/Serveur OO Quelques notions Encapsulation : l objet protège les données en ne les rendant visibles qu au travers de méthodes Instanciation : les objets sont créés à partir de moules (les classes) Héritage : les classes peuvent être définies en dérivant des classes existantes Classification (P. Wegner) Langage basé objet : ayant un mécanisme d encapsulation (Ada) Langage basé classe : ayant en plus un mécanisme d instancitation (Simula) Langage orienté objet : ayant en plus un mécanisme d héritage (Smalltalk, C++, Java) 7

8 1 Modèle de prog. Client/Serveur OO Les besoins dans un environnement concurrent et réparti OO Exécution à distance des méthodes Nommage universel des objets Création d instances à distance Exécutions concurrentes Synchronisation des exécutions Migration des instances 8

9 1.1 Nommage Nommage : Objets à désigner Le site d exécution, le serveur, la procédure Désignation globale indépendante de la localisation reconfiguration possible des services (pannes, régulation de charge,...) Désignation Statique : la localisation du serveur est connue à la compilation Dynamique : la localisation n est pas connue à la compilation séparation des connaissances du nom de service et de son adresse grande indépendance au niveau de l implantation 9

10 1.1 Nommage Identifier les objets dans un environnement réparti Deux objets diff. sur le même site ou sur des sites diff. ne doivent pas avoir la même identité (on parle de référence d objet) La référence sert à «retrouver» l objet pour pouvoir invoquer ses méthodes Généralisation de la notion de pointeur à un environnement réparti Deux techniques principales un ID sans rapport avec la localisation généré par une fonction mathématique un ID en deux parties : son site de création + un numéro local unique Recherche d un objet à partir de sa référence annuaires de localisation centralisés ou répartis, ou diffusion interrogation du site contenu dans la référence + liens de poursuite 10

11 1.1 Nommage La localisation du serveur le client doit localiser et se "lier" (bind) avec le serveur La localisation se fait en trois étapes : enregistrer le serveur le client interroge le serveur de désignation le client accède au service sur le serveur serveur de désignation Plusieurs possibilités liaison statique (pas d appel à un serveur de nom) liaison au premier appel (appel du serveur de nom lors du premier appel liaison à chaque appel (appel du serveur de nom à chaque appel) 11

12 1.1 Nommage Les différentes étapes de la liaison Client Serveur 4 Talon client Talon serveur Serveur de Désignation 12

13 1.2 Sécurité Gérér le partage des objets dans un environnement réparti Pour des raisons de sécurité, l accès à certains objets peut être restreint - En fonction de l identité de l objet appelant Ex : seuls les accès en provenance de l intranet sont autorisés - À partir d une liste de contrôle d accès Ex : mot de passe, mécanisme de clés de session La restriction peut - Interdire complètement l accès à l objet - Fournir une vue dégradée Ex : autoriser les méthodes qui fournissent un service de consultation mais interdire celles qui modifient l état de l objet => Nombreuses informations à ajouter aux objets 13

14 1.3 Durée de vie Objets temporaires : leur durée de vie correspond à celle de leur créateur Objets persistants L objet persiste tant qu il n est pas détruit La persistance peut être limitée par la durée de vie du système ou s étendre au delà des redémarrages Problèmes à résoudre : - sauvegarde d informations multiples (type, classe, données) - gérer les lieux de stockage (mémoire, disque, réseau) - assurer que l objet reste accessible quelque soit son lieu de stockage Choix de conception : - tous les objets sont persistants? - un objet est crée persistant? - un objet temporaire peut devenir persistant? vice-versa? - un objet référencé par un objet persistant est persistant? 14

15 1.4 Degrés de concurrence Possibilité d exécuter simultanément plusieurs activités Rq: le terme parallélisme est lié aux machines multi-processeurs 4 degrés de concurrence (adapté de P. Wegner, J.P. Briot et al.) : séquentiel : une seule méthode est exécuté à la fois par l objet quasi-concurrent : plusieurs activations de méthodes coexistent, mais au plus une seule n est pas suspendue concurrent : plusieurs activités peuvent s exécuter, mais le programmeur peut restreindre le degré de concurrence (synchronisation) complètement-concurrent : concurrence sans aucune restriction (objet sans états) 15

16 1.4 Association objet/activité Deux façons d associer un objet et une activité (thread) Objet passif Objet actif L activité : manipulé de façon explicite orthogonal à l objet se «plaque» sur les méthodes appelant Une (+sieurs) activité dédiée à l objet exécutent les méthodes appelant 16

17 1.5 Synchronisation Restreindre la concurrence d accès à une ressource partagée afin d en maintenir la cohérence Ex : exclusion mutuelle, lecteurs/écrivain, transaction Synchro. Comportementale en fonction de l état des données de l objet ex : Pile avec empile et dépile vide : empile 1/2 : empile et dépile plein : dépile Synchro. Intra-objet en fonction de l état d exécution de l objet ex : Fichier avec lire et écrire soit + lire simultanément soit 1 seul écrire 17

18 1.5 Synchronisation objets sémaphores : méthodes P et V objets moniteurs : méthodes synchronized, wait et notify (ex Java) expressions de : avec les opérateurs, * // on spécifie les séquences valides chemin d exécutions de méthodes gardes : chaque méthode est associée à une condition booléenne remplacements de : chaque objet a +sieurs «comportements» comportement chacun correspond à l exécution d une méthode on spécifie avec la primitive become le cpment suivant approches à états : chaque objet est associé à un ensemble d états chaque état est associé à un sous-ensemble de méthodes pouvant être exécutées 18

19 1.5 Synchonisation inter-objets Dépendances entre objets -> mécanismes de synchronisation Exemple : un transfert entre deux objets comptes bancaires Assurer qu un ensemble de 2 ou +sieurs invocations de méthodes compte1.depot(50); compte2.retrait(50); s effectuent complètement avec les propriétés ACID ou pas du tout Problématique de la théorie de la sérialisatibilité et des moniteurs transactionnels -> intégration du moniteur dans le système réparti objet avec un - protocole de validation (2PC ou 3PC) - mécanisme de verrouillage des ressources - mécanisme de détection des conflits - mécanisme de traitement des conflits 19

20 Appel de méthode à distance (1/2) Interface état référence Méthode_i Talon client Talon serveur Référence d'objet + méthode + arguments Résultat ou exception 20 Objet désignation envoi de requêtes exécution de requêtes retour de résultat

21 Appel de méthode à distance (2/2) éléments d'une «invocation» référence d'objet («pointeur» universel) identification d'une méthode paramètres d'appel et de retour passage par valeur : types élémentaires et types construits passage par référence possibles exceptions en retour objets «langage» représentation propre au langage : instance d'une classe exemple : Java RMI objets «système» représentation «arbitraire» définie par l'environnement d'exécution exemple 21 : CORBA

22 Le principe des mandataires objets (ou proxy, talon, souche) objet serveur objet client état appel Talon client Talon serveur Methode_1. Methode_n. Système de communication 22

23 Le principe des mandataires objets (ou proxy, talon, souche) objet client appel (1) (2) (10) Talon client (9) (3) Talon serveur objet serveur état Methode_1. Methode_n. Système de communication 1 : Invocation d une méthode 6 : Retour de l invocation locale (4) (8) (7) (5) (6) 2 : Emballage des paramètres 7 : Emballage des résultats 3 : Transport de l invocation 8 : Transport des résultats 4 : Déballage des paramètres 9 : Déballage des résultats 5 : Invocation de l objet 10 : Retour de l invocation distante 23

24 Le rôle du talon client Représentant local de l objet distant => référence sur l objet distant Emballage des appels de méthodes locaux en messages à destination du talon serveur Déballage des résultats ou des exceptions contenus dans un message retourné par le talon serveur Contrôle de la bonne utilisation des signatures du talon à la compilation / l exécution => contrôle des messages du protocole 24

25 Le rôle du talon serveur Passerelle entre le réseau et l objet serveur rend l objet serveur accessible à distance Déballage des messages émis par les talons clients Appel local des méthodes de l objet serveur Emballage des résultats ou exceptions dans un message à destination du talon client 25

26 Le bus d objets répartis Client int solde() credit(int) debit(int) Talon client IDL int solde() credit(int) debit(int) Talon serveur Objet int solde() credit(int) debit(int) Bus d objets répartis Réseau Appliqué dans DCOM, Java RMI et CORBA Prise en charge de la fonction de 26 communication

27 La prise en charge de la fonction de communication Talon serveur if(op == «credit») { int m = receive(); objet.credit(m); return; }... Objet credit(int montant) {... code métier... balance_ += montant; } Le développeur ne code pas la communication gestion des sockets, du protocole applicatif, des threads déballage des arguments et emballage des résultats Indépendance vis-à-vis de la couche de transport TCP/IP, ATM,..., mémoire partagée, Amélioration de la qualité logiciel par génération

28 Le rôle du langage IDL Interface Definition Language = langage de définition des interfaces des objets répartis Permet de décrire la signature des méthodes publiques et accessibles à distance nom méthode type du résultat et des paramètres liste des exceptions Caractérisation des messages du protocole applicatif entre le client et le serveur Compilation pour production automatique des talons clients et serveurs 28

29 Le rôle du bus d objets répartis Implantation d un protocole de transport des appels de méthode à distance Bufférisation des messages Allocation des canaux de communications sockets mais aussi «pipes», mémoire partagée,... des adresses physiques, e.g. des ports gestion d un pool de sockets,... Gestion de pools de threads serveurs Autres services... 29

30 Middleware orienté objet Bus pour communication synchrone entre objets distants Mais peut aussi fournir d autres fonctions Annuaires de recherche stockage des références d objets distants Communication asynchrone diffusion d événements Activation à la volée des objets objets présents en mémoire seulement si invoqués => virtuellement des milliards d objets ;-) Sécurité Transactions réparties... 30

31 Les diverses solutions industrielles ProduitS de Microsoft Système d exploitation Windows partout! Java RMI pour Java Remote Method Invocation Produit de SUN Microsystems Langage Java partout! CORBA pour Common Object Request Broker Architecture Norme du consortium Object Management Group Interopérabilité! 31

32 Java RMI Principes Tout Java IDL = interfaces Java (extends java.rmi.remote) Transport = JRMP ou IIOP Avantages Intégré aux environnements JDK Simple à mettre en œuvre Inconvénients Un seul concepteur Mono langage 32

33 CORBA Principes Modèle d objets hétérogènes et interopérables IDL = OMG IDL Transport = GIOP - IIOP (Internet Inter Orb Protocol) Avantages Norme consensuelle OMG / ISO fournisseurs / utilisateurs / domaines Ouvert et évolutif Multiples fournisseurs d implantations Multi langages / OS / transports Middleware avec de nombreux services Inconvénients «Réputé» pour être complexe 33 à mettre en œuvre ;-)

34 Illustration avec Java RMI 34

35 Java Remote Method Invocation Solution simple et 100% Java pas de nouveau langage IDL Permet l'invocation de méthodes entre des objets Java qui s'exécutent dans des machines virtuelles distinctes et réparties Sérialisation automatique des paramètres et résultats des méthodes même pour des objets Java complexes chargement dynamique des classes si nécessaires Ramasse-miettes distribué Annuaire de références d objets RMI 35

36 L architecture Java RMI Transparence dans la communication entre client et serveur Bibliothèque RMI = couche de référence distante et couche de transport Souches et squelettes Java sont 36 générées par le compilateur rmic

37 Une mise en œuvre très simple Définir l'interface de l'objet distribué (OD) Implanter l OD Générer le talon client et serveur appelés stub et skeleton RMI via le compilateur rmic Côté serveur instancier l'od enregistrer l OD dans l annuaire RMI Côté client obtenir l OD via l annuaire RMI l OD se manipule comme tout autre objet Java 37

38 Rendre un objet Java accessible à distance Pour qu un objet Java soit accessible à distance via Java RMI, sa classe doit implanter au moins une interface Java RMI publique Une interface Java RMI est une interface Java «classique» héritant au moins de l interface java.rmi.remote Chaque méthode de l interface doit lever au moins l exception java.rmi.remoteexception Tout objet distant passé en paramètre doit être déclaré par son interface RMI 38

39 Un simple exemple d interface Java RMI public interface Hello extends java.rmi.remote { public void afficher(string chaine) throws java.rmi.remoteexception; } public Message getderniermessage() throws java.rmi.remoteexception; 39

40 L implantation de l interface Java RMI (1/2) public class HelloImpl extends java.rmi.server.unicastremoteobject implements Hello { protected Message lederniermessage; public HelloImpl() throws java.rmi.remoteexception { } // Appel du constructeur java.rmi.server.unicastremoteobject // soulevant l'exception java.rmi.remoteexception. super(); lederniermessage = new Message(""); 40

41 L implantation de l interface Java RMI (2/2) public void afficher(string chaine) throws java.rmi.remoteexception { System.out.println("chaine=" + chaine); lederniermessage = new Message(chaine); } } public Message getderniermessage() throws java.rmi.remoteexception { return lederniermessage; } 41

42 Rendre un objet Java sérialisable par RMI Pour qu un objet Java soit sérialisable, sa classe doit implanter au moins l interface java.io.serializable Sérialisation de tous les attributs sauf ceux marqués transient Prise en compte récursive des graphes d objets sérialisables ainsi que les cycles La plupart des classes Java de base sont sérialisables par ex. java.util.* Les objets associés à des ressources systèmes ne sont pas sérialisables 42 Thread, Process, File, AWT, etc.

43 Un simple exemple d objet sérialisable par Java RMI public class Message implements java.io.serializable { protected java.util.date date; protected String texte; // Le constructeur. public Message(String texte) { this.date = new java.util.date(); this.texte = texte; } // Pour afficher le message. public String tostring() { return "Message[... ]"; } } 43

44 L annuaire Java RMI Java RMI fournit un annuaire gérant des associations entre noms symboliques et références d objet RMI des serveurs contenant 1 objet RMI annuaire Côté serveur exporter la référence des objets RMI java.rmi.naming.rebind("nomsymbolique", référenceobjetrmi); Côté client importer des références d OD RMI référenceobjetrmi = java.rmi.naming.lookup( "//machineannuaire/nomsymbolique"); 44

45 Un simple serveur RMI public class Serveur { public static void main(string args[]) throws Exception { // Créer l'objet accessible par Java RMI. HelloImpl obj = new HelloImpl(); } // Enregistrer cet objet dans l annuaire RMI. java.rmi.naming.rebind("hello", obj); // Ici le programme ne se termine pas! // Car attente des invocations distantes sur l OD. } 45

46 Un simple client RMI public class Client { public static void main (String[] args) throws Exception { // Obtenir la souche sur l OD via l'annuaire RMI. Hello hellodistant = (Hello) java.rmi.naming.lookup("//localhost/hello"); // Invoquer des méthodes comme si l'objet était local. hellodistant.afficher("hello world!"); Message message = hellodistant.getderniermessage(); System.out.println("Le dernier message = " + message); } } 46

47 Compilation et exécution Compiler les sources > javac Hello.java Message.java HelloImpl.java Serveur.java Client.java Générer les stub et les skeletons RMI > rmic HelloImpl Produit HelloImpl_Stub.class et HelloImpl_Skel.class Lancer l annuaire RMI > rmiregistry & Lancer le serveur de l'od > java Serveur & Lancer le client de l'od > java Client 47

48 Une vision d ensemble de l application (5) hellodistant Client HelloImpl _Stub (7) (4a) HelloImpl _Skel Serveur (2) (3) HelloImpl (5) démarrage Client (6) recherche annuaire lookup (7) invocations (6) HelloImpl _Stub (4b) rmiregistry 48 (1) (4) (1) démarrage annuaire RMI (2) démarrage Serveur (3) création OD (4) exportation annuaire (bind - rebind)

49 Distributed Garbage Collector (DGC) Le DGC interagit avec les GC locaux et utilise un mécanisme de reference-counting Lorsqu'un OD est passé en paramètre à un autre OD ref_count+ + Lorsqu'un stub n'est plus référencé weak reference Lorsque le GC du client libère le stub, sa méthode finalize est appelée et informe le DGC ref_count-- Lorsque le nombre de références d'un OD = 0 weak reference Le GC du serveur peut alors libérer l'od Le client doit régulièrement renouveler son bail au près du DGC Si référence à un OD libéré RemoteException 49

50 Comparaison de Java RMI avec CORBA - RMI est propriétaire SUN / CORBA est une norme internationale - RMI moins ambitieux que CORBA - RMI n'offre pas interopérabilité avec des objets d'autres langages - RMI est beaucoup plus lent que les implantations de CORBA + RMI est une implantation standard et gratuite (incluse dans JDK) + RMI est object-oriented / CORBA est object-based + RMI est plus simple à mettre en œuvre que CORBA + Pas besoins d'idl : seulement l'interface de l'od et son URL + Les OD se manipulent comme les OL (grâce au DGC) + RMI supporte le passage d'objets locaux par copie + RMI permet une gestion de la sécurité (RMISecurityManager, ACL,...) 50

51 Bibliographie sur Java RMI Tutoriel Java RMI JAVA REMOTE METHOD INVOCATION - DISTRIBUTED COMPUTING FOR JAVA Java Distributed Computing, J Farley, Ed. O Reilly... 51

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

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

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

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

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

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

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

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

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

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

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

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

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

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

Conception de serveurs d'applications ouverts

Conception de serveurs d'applications ouverts Conception de serveurs d'applications ouverts Stéphane Frénot 3 Un modèle d'exécution standard Application Stéphane Frénot 4 1 Répartition "horizontale" d'une application Application de Présentation Application

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

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

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

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

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

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

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) Pierre Gançarski Mars 2010 1 Présentation L'objectif est de permettre à des applications clientes (s'exécutant localement) d'invoquer des méthodes sur des objets distants,

Plus en détail

1. QCM (40 points) (1h)

1. QCM (40 points) (1h) Examen 1ère session 2012-2013 page 1 NSY 102 - AISL IPST-CNAM Intranet et Designs patterns NSY 102 Vendredi 26 Avril 2013 Durée : 3 heures Enseignants : LAFORGUE Jacques 1. QCM (40 points) (1h) Mode d'emploi

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 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

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

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

RMI : Remote Method Invocation Appel de méthodes à distance TD/TP RMI : Remote Method Invocation Appel de méthodes à distance TD/TP Patrice Torguet torguet@irit.fr Université Paul Sabatier But l But du TD/TP : application répartie permettant de gérer des comptes bancaires.

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

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

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

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

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

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

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

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

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

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

Remote Method Invocation Invocation de méthodes distantes (RMI)

Remote Method Invocation Invocation de méthodes distantes (RMI) Remote Method Invocation Invocation de méthodes distantes (RMI) Stéphane NICOLAS Hiver 2002 Résumé Ce document est destiné à donner au lecteur une connaissance à la fois pratique et théorique du modèle

Plus en détail

Systèmes répartis : Remote Method Invocation p.1/74

Systèmes répartis : Remote Method Invocation p.1/74 Systèmes répartis : Remote Method Invocation Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : Remote Method Invocation p.1/74 Plan 1. Introduction 2. JRMP

Plus en détail

Programmation répartie RPC & RMI

Programmation répartie RPC & RMI Programmation répartie RPC & RMI Plan du cours Introduction Définitions Problématiques Architectures de distribution Distribution intra-applications Notion de processus Programmation multi-thread Distribution

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

TP 5 : Application distribuée. Pascal GRAFFION 2013/11/14 15:23

TP 5 : Application distribuée. Pascal GRAFFION 2013/11/14 15:23 TP 5 : Application distribuée Pascal GRAFFION 2013/11/14 15:23 Table des matières TP 5 : Application distribuée... 3 Hello PetStore!... 3 Outils... 4 Expression des besoins... 5 Analyse et conception...

Plus en détail

Plan. Middleware. Introduction. Introduction

Plan. Middleware. Introduction. Introduction Plan Middleware Lionel Seinturier Université des Sciences et Technologies de Lille Lionel.Seinturier@univ-lille1.fr 1. Modèle de programmation 1.1 Côté 2. Client/ orienté objet 3. Bibliographie 25/09/08

Plus en détail

Java - RMI Remote Method Invocation. Java - RMI

Java - RMI Remote Method Invocation. Java - RMI Remote Method Invocation Yann Viémont Université de Versailles St-Quentin Plan 1. Introduction 2. Rappels sur les RPC 3. Le modèle objet de Java-RMI 4. Architecture générale 1. Introduction = Disponible

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

Création d un WebService. Tp WinDev Numéro 13

Création d un WebService. Tp WinDev Numéro 13 Tp WinDev Numéro 13 Objectifs : Création d un WebService Paramétrage d un serveur Web, Création du Service Web, Création du client consommateur, Approche XML, SOAP Outils : Un serveur d application Ce

Plus en détail

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

Plus en détail

DÉPARTEMENT DE GÉNIE ÉLECTRIQUE DESCRIPTION DE JAVA RMI ET. Document préparé par Mario Couture ET DE GÉNIE INFORMATIQUE COMPARAISON AVEC CORBA ET DCOM

DÉPARTEMENT DE GÉNIE ÉLECTRIQUE DESCRIPTION DE JAVA RMI ET. Document préparé par Mario Couture ET DE GÉNIE INFORMATIQUE COMPARAISON AVEC CORBA ET DCOM DÉPARTEMENT DE GÉNIE ÉLECTRIQUE ET DE GÉNIE INFORMATIQUE DESCRIPTION DE JAVA RMI ET COMPARAISON AVEC CORBA ET DCOM Document préparé par Mario Couture Août 2000 Table des matières Table des matières...ii

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

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA)

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Introduction à JAVA Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Mais JAVA c est quoi? Langage OO Exécuté dans une Machine Virtuelle Possède un ensemble complet d API (réseau, graphique, sécurité,

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

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

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

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

Software Engineering and Middleware A Roadmap

Software Engineering and Middleware A Roadmap Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems

Plus en détail

Introduction aux intergiciels

Introduction aux intergiciels Introduction aux intergiciels M. Belguidoum Université Mentouri de Constantine Master2 Académique M. Belguidoum (UMC) Introduction aux intergiciels 1 / 39 Plan 1 Historique 2 Pourquoi l'intergiciel? 3

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

2 Chapitre 1 Introduction

2 Chapitre 1 Introduction 1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné

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

Rapport du projet de Chat distribué avec Java RMI

Rapport du projet de Chat distribué avec Java RMI Rapport du projet de Chat distribué avec Java RMI 1. LE SUJET...2 2. VERSION 1...4 A. PRESENTATION ET PRINCIPE... 4 B. CARACTERISTIQUES CLIENT / SERVEUR... 6 3. VERSION 2...8 A. PRESENTATION ET PRINCIPE...

Plus en détail

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

[APPLICATON REPARTIE DE VENTE AUX ENCHERES] 2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...

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

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

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

Etude critique de mécanismes de sécurité pour l architecture Jini

Etude critique de mécanismes de sécurité pour l architecture Jini UNIVERSITE LIBRE DE BRUXELLES Année académique 2001-2002 Faculté des Sciences Département d Informatique Etude critique de mécanismes de sécurité pour l architecture Jini Pierre Stadnik Directeur de Mémoire:

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

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1 1.Introduction Les services de composant

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

Remote Method Invocation

Remote Method Invocation Remote Method Invocation 1999, Cnam Paris jean-michel Douin, douin@cnam.fr Notes de cours consacrées à RMI Version du 18 Mars 2002 http://lmi92.cnam.fr:8080/tp_cdi/douin/java_rmi.pdf http://lmi92.cnam.fr:8080/tp_cdi/tprmi/tprmi.html

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

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Les tâches et la synchronisation en langage Java

Les tâches et la synchronisation en langage Java Les tâches et la synchronisation en langage Java Les threads, les verrous, les sémaphores et les moniteurs en Java D après les cours de D. Genthial et B. Caylux Langage Java Threads et synchronisation

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux

Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux Eric Leclercq Département IEM / UB 10/2005 email : Eric.Leclercq@u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq

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

Architecture. Architecture CORBA. Architecture. Architecture. Object Request Broker (ORB) CORBA. Lionel Seinturier. Université Pierre & Marie Curie

Architecture. Architecture CORBA. Architecture. Architecture. Object Request Broker (ORB) CORBA. Lionel Seinturier. Université Pierre & Marie Curie Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr 02/03/04 Défini par l'object Management Group () www.omg.org - organisme de standardisation international depuis 1989 - groupe

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Programmation concurrente en java

Programmation concurrente en java Programmation concurrente en java M. Belguidoum Université Mentouri de Constantine Département Informatique M. Belguidoum (UMC) Programmation concurrente 1 / 29 Plan 1 Introduction 2 Création d'un thread

Plus en détail

Analyse statique de programmes Typage et analyse statique au sein de Java

Analyse statique de programmes Typage et analyse statique au sein de Java Analyse statique de programmes Typage et analyse statique au sein de Java Master Professionnel Informatique spécialité FSIL/FSI Jean-Marc Talbot jean-marc.talbot@lif.univ-mrs.fr Aix-Marseille Université

Plus en détail

Objectifs du cours. Master mention Informatique M1. Construction d Applications Réparties. Sommaire. Organisation.

Objectifs du cours. Master mention Informatique M1. Construction d Applications Réparties. Sommaire. Organisation. Master mention Informatique M1 Construction d s Réparties Lionel Seinturier USTL-LIFL Équipe GOAL/Projet INRIA Jacquard Lionel.Seinturier@lifl.fr 2006/2007 1 Objectifs du cours Appréhender la conception

Plus en détail

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions Java Java Modeling Language (JML) Arnaud LANOIX Université Nancy 2 Master1 GL Langage de Programmation Orientée Objet développé par Sun Projet OAK (1991), Java (1995),...Java 1.5 (2004) http://java.sun.com/

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Les enterprises Java Beans

Les enterprises Java Beans Enterprise Java Beans http://java.sun.com/products/ejb/index.html Les enterprises Java Beans Michel RIVEILL riveill@unice.fr - http://rangiroa.essi.fr/riveill Laboratoire I3S Architecture permettant la

Plus en détail

Systèmes répartis. Samuel Tardieu Samuel.Tardieu@enst.fr. Dom INF 2000/2001 Systèmes répartis 1

Systèmes répartis. Samuel Tardieu Samuel.Tardieu@enst.fr. Dom INF 2000/2001 Systèmes répartis 1 Systèmes répartis Samuel Tardieu Samuel.Tardieu@enst.fr Dom INF 2000/2001 Systèmes répartis 1 Plan Généralités Classes de systèmes répartis Exemples de systèmes répartis Autres types de systèmes répartis

Plus en détail

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

Java Naming and Directory Interface

Java Naming and Directory Interface Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard

Plus en détail

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49 Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 / 24 1 Vue générale La technologie Java Le langage Java La machine virtuelle Java Résumé Plan 2 Hello World Prérequis Premier programme : 3 étapes Résumé 3 HelloWorld en

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

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

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

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

Chapitre 4. Le modèle de composants : les services

Chapitre 4. Le modèle de composants : les services Chapitre 4 Le modèle de composants : les services 1 Les services "A Service is an application component that can perform long-running operations in the background and does not provide a user interface."

Plus en détail

Modélisation Objet. Introduction à JAVA. Georges Linares IUP GMI Université d Avignon et des Pays de Vaucluse

Modélisation Objet. Introduction à JAVA. Georges Linares IUP GMI Université d Avignon et des Pays de Vaucluse Modélisation Objet Introduction à JAVA Historique Les langages objets Simula 67 (trop tôt) Smalltalk 80 : purement objet Objective C : extension du C, esprit Smalltalk C++ : extension du c; le plus utilisé

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

Client /serveur. Client/serveur. C/S : bibliographie. C/S : introduction. C/S : modèle général. C/S : les architectures

Client /serveur. Client/serveur. C/S : bibliographie. C/S : introduction. C/S : modèle général. C/S : les architectures C/S : bibliographie Client /serveur «Jeux 3D multi-joueurs sur PC» V. Gal/A. Topol Technologies et architectures internet P.Y. Cloux, D. Doussot, A. Géron Editions Dunod 2ème édition 2002 Cours d'introduction

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

L appel de procédure distante RPC Remote Procedure Call. Gérard Florin - CNAM - - Laboratoire CEDRIC -

L appel de procédure distante RPC Remote Procedure Call. Gérard Florin - CNAM - - Laboratoire CEDRIC - L appel de procédure distante RPC Remote Procedure Call Gérard Florin - CNAM - - Laboratoire CEDRIC - 1 Plan Introduction Mise en oeuvre de l appel de procédure distante Gestion du contrôle Gestion des

Plus en détail