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

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

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

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

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

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

Programmation RMI Ph. Truillet

Programmation RMI Ph. Truillet http://www.irit.fr/~philippe.truillet Ph. Truillet Octobre 2015 v. 1.7 0. déroulement du TP RMI (Remote Method Invocation) est une technologie développée et fournie par Sun à partir du JDK 1.1 pour permettre

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

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

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

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

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

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

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

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

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

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

Construction d Applications Réparties

Construction d Applications Réparties Construction d Applications Réparties Jean-Francois Roos LIFL - équipe GOAL USTL - bâtiment M3 Extension - bureau 204 Jean-Francois.Roos@lifl.fr Avril 1 Objectifs du cours Appréhender la conception d applications

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

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

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 NSY102-Chapitre-11_Synthese.doc 1/12 06/01/2014 21:48:04 Chapitre 11 Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 2. OBSERVER/OBSERVABLE 3 2.1. DEFINITION 3 2.2. REFERENCES

Plus en détail

Informatique Répartie

Informatique Répartie INSA - ASI InfoRep : Client-Serveur 1/36 Informatique Répartie Architectures Client-Serveur Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI InfoRep : Client-Serveur

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

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

Le Client / Serveur. la brique de base. Stéphane Frénot -MID - V.0.2.0 I - C/S 2. Caractéristiques de la communication InterProcessus

Le Client / Serveur. la brique de base. Stéphane Frénot -MID - V.0.2.0 I - C/S 2. Caractéristiques de la communication InterProcessus Le Client / Serveur la brique de base Stéphane Frénot -MID - V.0.2.0 I - C/S 1 Caractéristiques de la communication InterProcessus Primitives : send/receive Synchrone / Asynchrone Destinataire des messages

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

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

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

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

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

Systèmes distribués. Les Sockets

Systèmes distribués. Les Sockets Systèmes distribués Plusieurs technologies existent : Les sockets Les remote procedure call (RPC) Remote Method Invocation (RMI) Les Sockets L'utilisation des Sockets nécessite De gérer le codage et le

Plus en détail

Système M1. Chapitre 3 : Gérer la communication et la synchronisation inter-tâches. J.-F. Pradat-Peyre & E Hyon

Système M1. Chapitre 3 : Gérer la communication et la synchronisation inter-tâches. J.-F. Pradat-Peyre & E Hyon Chapitre 3 : Gérer la communication et la synchronisation inter-tâches 1 Plan du cours Introduction aux problèmes de synchronisation Exemple de problèmes Section critique et verrous Exclusion Mutuelle

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

Plan. Java Remote Method Invocation. 1. Caractéristiques. 1. Caractéristiques

Plan. Java Remote Method Invocation. 1. Caractéristiques. 1. Caractéristiques Plan Java Remote Method Invocation Lionel Seinturier Université des Sciences et Technologies de Lille 1. Caractéristiques 3. Services 5. Protocole Lionel.Seinturier@lifl.fr 8/9/06 RMI 1 Lionel Seinturier

Plus en détail

Groupe de discussion. Contexte

Groupe de discussion. Contexte Groupe de discussion Systèmes distribués Contexte Explosion d'internet a redéfini les systèmes distribués Client-server Web Pair à pair Internet 2 octobre 2003 Systèmes distribués 2 Modèle Pair à Pair

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

Les Enterprise JavaBeans

Les Enterprise JavaBeans 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/ duvallet/ Claude Duvallet 1/228

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

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1 CHAPITRE 1 FOURNIR À L'UTILISATEUR UNE MACHINE VIRTUELLE ET UN ENVIRONNEMENT D'EXÉCUTION DE PROGRAMMES Plan ENVIRONNEMENT DE TRAVAIL ADAPTÉ AU BESOIN DE L'UTILISATEUR Fonctions de l'environnement d'exécution

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

Examen du 27 Juin 2002

Examen du 27 Juin 2002 Les exercices de cet examen portent tous sur le système RMI de Java. La consultation de documents (supports de cours, livres, etc.) est autorisée. L interaction avec les autres candidats n est pas autorisée!

Plus en détail

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente TP Systèmes n 1 Programmation concurrente Titre Simulation du comportement de processus producteurs et de processus consommateurs avec tampon intermédiaire borné. Organisation Binôme Durée de réalisation

Plus en détail

Définition de l architecture logicielle. (application répartie en CORBA)

Définition de l architecture logicielle. (application répartie en CORBA) Définition de l architecture logicielle (application répartie en CORBA) Projet MIAGe Toulouse Groupe 2 1 Introduction L architecture logicielle de l application est basée sur le modèle 3-tiers Client Java

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

Systèmes d Information Avancés (et répartis)

Systèmes d Information Avancés (et répartis) Systèmes d Information Avancés (et répartis) Université Lyon 1 MIAGE L. Médini, mars 2005 Plan des cours Protocole HTTP et programmation serveur Architectures multi-composants réparties Principes Exemples

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Les applications d'entreprise exemple : La technologie JEE Année universitaire 2013/2014 Semestre 1 Introduction Une application d'entreprise a généralement les caractéristiques

Plus en détail

Programmation Objet. Cours 1

Programmation Objet. Cours 1 Programmation Objet. Cours 1 Marie-Pierre Béal UPEM DUT 1 Programmation objet. Classes et objets. Principaux styles de programmation Style impératif Fondé sur l exécution d instructions modifiant l état

Plus en détail

Des objets aux services : un mariage réussi? Vers le meilleur des deux mondes

Des objets aux services : un mariage réussi? Vers le meilleur des deux mondes Des objets aux services : un mariage réussi? Vers le meilleur des deux mondes Hervé Grall (avec Diana Allam et Jean-Claude Royer) Ascola (Mines de Nantes Inria Lina) 7 june 2013 Objets + Services Bugs?

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

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

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

RMI, IIOP et EJB. Avril 1999. Dave Curtis Inprise Corporation. 100 Enterprise Way Scotts Valley CA 95066-3249 http://www.borland.

RMI, IIOP et EJB. Avril 1999. Dave Curtis Inprise Corporation. 100 Enterprise Way Scotts Valley CA 95066-3249 http://www.borland. RMI, IIOP et EJB Avril 1999 Dave Curtis Inprise Corporation 100 Enterprise Way Scotts Valley CA 95066-3249 http://www.borland.com/ INTRODUCTION...3 COEXISTENCE OU COOPÉRATION?...4 MODÈLES ET PROTOCOLES

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 10 Lecture de données Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Le langage UML 2.0 Diagramme de Déploiement

Le langage UML 2.0 Diagramme de Déploiement Claude Belleil Université de Nantes Le langage UML 2.0 Diagramme de Déploiement 1 Introduction Le diagramme de déploiement spécifie un ensemble de constructions qui peuvent être utilisées pour définir

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

Maxima et la programmation en parallèle

Maxima et la programmation en parallèle Maxima et la programmation en parallèle Danielle Léger Département de mathématiques et d informatique Université Laurentienne (Sudbury, Ontario) La présence de l ordinateur constitue une réalité palpable

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

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

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

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

Plan. Les objets répartis. Sources. Cours. Introduction. Pierre Courtieu. Remote method invocation (JAVA/RMI)

Plan. Les objets répartis. Sources. Cours. Introduction. Pierre Courtieu. Remote method invocation (JAVA/RMI) Les objets répartis Pierre Courtieu Plan Introduction Les applications distribuées Introduction Les applications distribuées Remote method invocation (JAVA/RMI) Exemple 1: Compte en banque Exemple complet:

Plus en détail

RMI JAVA. Introduction

RMI JAVA. Introduction RMI JAVA Introduction RMI Remote Method Invocation Système client/serveur Invocation distante de méthodes Famille des applications distribuées Les applications avec des objets CAS D'UTILISATION objet 1

Plus en détail

Cours de base d Ingéniérie des applications objet. Introduction

Cours de base d Ingéniérie des applications objet. Introduction 1 IMPORTANCE DES OBJETS DANS L INFORMATIQUE LOGICIELLE1 Cours de base d Ingéniérie des applications objet. Introduction Support de Cours Christophe Dony Université Montpellier-II Contenu du cours - concepts

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

Architecture des Systèmes d'information

Architecture des Systèmes d'information Architecture des Systèmes d'information Cours "Réseaux et systèmes répartis" NFP 214 par Jacques LAFORGUE (jacques.laforgue@neuf.fr) version du 23/10/2009 slide numéro 1 Définition d'un Système d'information

Plus en détail

Programmation Orientée Objet - Licence TIS CM2/9

Programmation Orientée Objet - Licence TIS CM2/9 Programmation Orientée Objet - Licence TIS CM2/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/01/2006 1 2 3 4 5 Rappel sur la séance précédente La fois précédente, nous avons

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI - Réseaux : Programmation par RPC et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Programmation par RPC et Java-RMI : - Principes des RPC - Utilisation d

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 Modèle client-serveur Définition

Plus en détail

Middleware Java RMI. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr

Middleware Java RMI. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr Middleware Java RMI Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Middleware Middleware (intergiciel en français) : couche logiciel S'intercale

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

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

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

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

Déclaration et Implémentation d'une classe

Déclaration et Implémentation d'une classe Définir et Instancier une classe en Java Déclaration et Implémentation d'une classe En algorithmique (comme en C++ la plupart du temps), l'écriture du corps des méthodes (implémentation) se fait après

Plus en détail

IFT3030 Base de données. Chapitre 10 Modèle et bases de données à objets

IFT3030 Base de données. Chapitre 10 Modèle et bases de données à objets IFT3030 Base de données Chapitre 10 Modèle et bases de données à objets Cours tiré du livre Gardarin99 Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle

Plus en détail

CORBA vs COM. Urbanisation des SI NFE107. Fiche de lecture. Y. Durand-Poudret

CORBA vs COM. Urbanisation des SI NFE107. Fiche de lecture. Y. Durand-Poudret CORBA vs COM Urbanisation des SI NFE107 Fiche de lecture Y. Durand-Poudret CORBA vs COM... 1 CORBA, COM? : Intergiciels (Middleware)... 3 CORBA, COM? : Intergiciels (Middleware)... 3 CORBA : Définition...

Plus en détail

RPC Remote procedure call

RPC Remote procedure call RPC Remote procedure call L'appel de méthode à distance a pour objectif de fournir l'illusion d'un appel de méthode local. Pour cela il faut définir un passage des arguments et du résultat. De plus il

Plus en détail

Static. static. USTL http://www.lifl.fr/ routier 1

Static. static. USTL http://www.lifl.fr/ routier 1 Static static USTL http://www.lifl.fr/ routier 1 Static 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

Plus en détail

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013 Nom : Prénom : Contrôle continu n 4 Programmation objet Vous devez répondre dans les cadres aux questions posées. Documents de cours et notes personnelles autorisés. Téléphones portables, ordinateurs et

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

ENSTA IN204 Introduction à JAVA

ENSTA IN204 Introduction à JAVA Ecole Nationale Supérieure de Techniques Avancées (ENSTA) -http://www.ensta.fr ENSTA IN204 Introduction à JAVA Olivier Sigaud LIP6/AnimatLab olivier.sigaud@lip6.fr 01.44.27.88.53 Ce document est mis à

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

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles GL / C++ Chapitre 7 Lien Dynamique Méthodes Virtuelles 1. Pointeur sur un objet d'une classe dérivée Considérons les classes écrites précédemment : Personne Etudiant // dérive de personne Salarie // dérive

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 Modèle client-serveur Communication

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

La Gestion des Exceptions

La Gestion des Exceptions La Gestion des Exceptions Les exceptions Les exceptions représentent le mécanisme de gestion des erreurs intégré au langage Java. Il se compose d'objets représentant les erreurs et d'un ensemble de troismotsclésquipermettentdedétecteretdetraiterceserreurs(try,

Plus en détail

Cours: BD et Environnement Distribuées

Cours: BD et Environnement Distribuées UNIVERSITÉ DE BOURGOGNE UFR Sciences et Techniques Cours: BD et Environnement Distribuées TP 4 - Mapping Objet Relationnel Préparé par: MATTA Elie et al. Copyright 2010-2011, eliematta.com. All rights

Plus en détail

Qu'est-ce qu'un Web Service?

Qu'est-ce qu'un Web Service? WEB SERVICES Qu'est-ce qu'un Web Service? Un Web Service est un composant implémenté dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans une couche de standards dérivés

Plus en détail

Notions de programmation orientée objet

Notions de programmation orientée objet 1 Génie Logiciel Notions de programmation orientée objet Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 19/04/2007 2 Les données d'abord (1) Important résultat de l'expérience : Le plus souvent,

Plus en détail

Publication (avancée) de données spatiales dans Internet

Publication (avancée) de données spatiales dans Internet Publication (avancée) de données spatiales dans Internet GMT-4152 & GMT-6006 Capsule 3 - Architectures pour le développement d applications sur web Thierry Badard & Frédéric Hubert Université Laval, Dép.

Plus en détail

Systèmes et applications distribués Intergiciels et applications communicantes

Systèmes et applications distribués Intergiciels et applications communicantes Systèmes et applications distribués Intergiciels et applications communicantes Philippe Quéinnec Télécommunication et Réseaux 2e année ENSEEIHT 24 février 2014 Inspiré de cours de G. Padiou, Ph. Mauran

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

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

.net Remoting Chapitre 1 : Introduction au.net Remoting

.net Remoting Chapitre 1 : Introduction au.net Remoting .net Remoting Chapitre 1 : Introduction au.net Remoting Maxime LAMURE I : Présentation... 2 II : Principe de base... 3 1.1 Introduction... 3 1.2 Architecture :... 4 III : Outils et compilateurs... 7 IV

Plus en détail

Le parallélisme en Java

Le parallélisme en Java Chapitre 7 Le parallélisme en Java L espoir du parallélisme est de pouvoir faire exécuter plusieurs tâches à un ordinateur (avec plusieurs processeurs). Ceci trouve un début d application sur certains

Plus en détail

Module 19: Développement et déploiement d application client/serveur TDI2 2013/2014 Formateur:M.AZZI hamidazzi@gmail.com hamidazzi.overblog.

Module 19: Développement et déploiement d application client/serveur TDI2 2013/2014 Formateur:M.AZZI hamidazzi@gmail.com hamidazzi.overblog. Module 19: Développement et déploiement d application client/serveur TDI2 2013/2014 Formateur:M.AZZI hamidazzi@gmail.com hamidazzi.overblog.com INTRODUCTION Il y a une évolution majeure des systèmes d'information,

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