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

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

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

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

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

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

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

NFP111 Systèmes et Applications Réparties

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

Plus en détail

CORBA. (Common 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 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

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

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

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

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

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

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

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

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

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

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

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

[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

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

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

Plus en détail

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

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

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

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

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

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

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

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

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

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

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

Modèle client-serveur Plan. Modèle client-serveur. Modèle client-serveur définition. Modèle client-serveur communication par messages.

Modèle client-serveur Plan. Modèle client-serveur. Modèle client-serveur définition. Modèle client-serveur communication par messages. Modèle client- Modèle client- Plan Michel RIVEILL riveill@unice.fr Polytech Nice - Sophia Principe Traitement des défaillances Désignation, localisation et liaison Intégration aux langages de programmation

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

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

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

Plus en détail

Le 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

Présentation de Java. Olivier de Pertat IT GROUP

Présentation de Java. Olivier de Pertat IT GROUP Présentation de Java Olivier de Pertat IT GROUP Qu'est-ce que Java? Un langage de programmation orienté objets Une architecture de Virtual Machine Un ensemble d'api variées Un ensemble d'outils : le Java

Plus en détail

Une introduction à Java

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

Plus en détail

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

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

as Architecture des Systèmes d Information

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

Plus en détail

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction Plan du cours Autres modèles pour les applications réparties Introduction Riveill@unice.fr http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant

Plus en détail

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

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

Plus en détail

Java c est quoi? Java pourquoi?

Java c est quoi? Java pourquoi? Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

.NET remoting. Plan. Principes de.net Remoting

.NET remoting. Plan. Principes de.net Remoting Plan.NET remoting Clémentine Nebut LIRMM / Université de Montellier 2 de.net Remoting côté serveur côté client.net Remoting en ratique Les canaux de communication L'activation L'invocation Les aramètres

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Cours 1: Java et les objets

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

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

Architectures n-tiers Intergiciels à objets et services web

Architectures n-tiers Intergiciels à objets et services web Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 Clementine.nebut@lirmm.fr Introduction Architectures classiques

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

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

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

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

GEI 465 : Systèmes répartis

GEI 465 : Systèmes répartis Université de Sherbrooke GEI 465 : Systèmes répartis Travaux à effectuer Ahmed Khoumsi Automne 2004 Page 1 Les deux premiers travaux que vous effectuerez vous donneront, respectivement, l occasion d utiliser

Plus en détail

MEAD : temps réel et tolérance aux pannes pour CORBA

MEAD : temps réel et tolérance aux pannes pour CORBA MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier

Plus en détail

Systèmes d'informations historique et mutations

Systèmes d'informations historique et mutations Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

La JVM. La machine virtuelle Java. La JVM. La JVM

La JVM. La machine virtuelle Java. La JVM. La JVM La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées

Plus en détail

Meta Object Facility. Plan

Meta Object Facility. Plan Meta Object Facility Gestion de «meta objets» & meta meta modélisation Xavier Le Pallec Plan 1 Auteur : MOF : généralités L OMG en 1997-1998. Acteur principal DSTC : Centre Recherche sur les Systèmes distribués

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Le cadre des Web Services Partie 1 : Introduction

Le cadre des Web Services Partie 1 : Introduction Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services

Plus en détail

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

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

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

JOnAS Day 5.1. Clustering

JOnAS Day 5.1. Clustering JOnAS Day 5.1 Clustering Solution complète de clustering Répartition de charge & bascule sur échec Application Web avec mod_jk/mod_proxy Connecteur http pour md_proxy Application Ejb avec CMIv2 Réplication

Plus en détail

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

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

Plus en détail

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

JAVA TD0. Prise en main du langage Environnement de base JAVA 1 JAVA TD0 Prise en main du langage Environnement de base JAVA 1 Mon premier programme public class HelloWorld { public static void main(string [] arg){ System.out.println("Hello, World!"); main(string []

Plus en détail

Contribution à l allocation dynamique de ressources pour les composants expressifs dans les systèmes répartis

Contribution à l allocation dynamique de ressources pour les composants expressifs dans les systèmes répartis Numéro d ordre : 988 THÈSE présentée à L U.F.R DES SCIENCES ET TECHNIQUES DE L UNIVERSITÉ DE FRANCHE-COMTÉ pour obtenir le GRADE DE DOCTEUR DE L UNIVERSITÉ DE FRANCHE-COMTÉ Spécialité Automatique et Informatique

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Introduction à CORBA

Introduction à CORBA Introduction à CORBA Plan Introduction Architecture Services Développement d'une application Interface Definition Language (IDL) Exemple "Hello World!" 2 Bibliographie http://www.omg.org/ http://www.corba.org/

Plus en détail

Java 1.5 : principales nouveautés

Java 1.5 : principales nouveautés Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés

Plus en détail

Auto-évaluation Programmation en Java

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

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande

Plus en détail

PROGRAMMATION PAR OBJETS

PROGRAMMATION PAR OBJETS PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)

Plus en détail

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

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

Plus en détail

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit

Plus en détail

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition) Introduction 1. Introduction 13 2. Le choix de l'ouvrage : Open Source et Linux Ubuntu 13 2.1 Structure du livre 13 2.2 Pré-requis ou niveau de connaissances préalables 13 3. L'objectif : la constitution

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

Plus en détail

Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java

Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java Université Catholique de Louvain Faculté des Sciences Appliquées Département d Ingénierie Informatique Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Jean-Pierre Meinadier Professeur du CNAM, meinadier@cnam.fr Révolution CS : l utilisateur

Plus en détail

java : Langage et Environnement

java : Langage et Environnement java : Langage et Environnement 1. rintroduction ava est une nouvelle technologie conçue par Sun Microsystems l'un des premiers fabriquants des stations de travail Sun. Depuis son apparition, à peine plus

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Java - la plateforme

Java - la plateforme Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)

Plus en détail

Programmation réseau avec Java. 3/7 RMI, un peu de sécurité et CORBA

Programmation réseau avec Java. 3/7 RMI, un peu de sécurité et CORBA Programmation réseau avec Java 3/7 RMI, un peu de sécurité et CORBA Olivier Ricou 5 juin 2008 Java, comme CORBA avant, permet d exécuter des taches à distances avec la RMI. Cette partie aborde les points

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

CONCEPTION ET IMPLANTATION BASÉES SUR DES COMPOSANTS RÉPARTIS D'UNE STATION TERRESTRE

CONCEPTION ET IMPLANTATION BASÉES SUR DES COMPOSANTS RÉPARTIS D'UNE STATION TERRESTRE CONCEPTION ET IMPLANTATION BASÉES SUR DES COMPOSANTS RÉPARTIS D'UNE STATION TERRESTRE VIRTUELLE DE COMMUNICATION SATELLITE Steve Bernier mémoire présenté au Département de mathématiques et d'informatique

Plus en détail