Java - RMI Remote Method Invocation. Java - RMI

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

Download "Java - RMI Remote Method Invocation. Java - RMI"

Transcription

1 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

2 1. Introduction = Disponible à partir de la version 1.1 du JDK de Sun (1995) = Concurrent de CORBA et DCOM (.NET) pour offrir un système d objets distribués = Conçu pour un environnement homogène de machines virtuelles Java Multiplateforme / Monolangage = Sécurité et disponibilité (RMI Security Manager) = Compatible avec le modèle objet de Java Polymorphisme, instanceof, GC distribué, = Intégration des standards Internet Fonctionnalité = Obtention de références sur les objets serveurs = Invocation de méthode à distance = Invocation sans compilation = Importation / exportation / transmission dynamique d objets Par référence ou par copie = Intégration au modèle objet de Java = Préservation de l intégrité des références = Importation / exportation / transmission dynamique de comportement (code) = Cycle de vie des objets distants Activation / Passivation / Persistance

3 Objectifs Le mécanisme doit permettre les opérations de base suivantes : = Obtenir une référence sur un objet distant = Invoquer à distance une méthode sur cet objet = Utiliser un objet d un site distant comme un objet local (importation d une copie de l objet) = Importer dynamiquement une classe (type + méthodes) avec les objets correspondants = Exporter dynamiquement une classe (type + méthodes) avec les objets correspondants Obtenir une référence RMI comprend un serveur de nom (registry) basé sur les URL : = Les méthodes de la classe Naming accèdent au registry Du coté serveur, l application invoque la méthode : = Naming. bind (URL, objet) Du coté client, l application invoque la méthode : = référence = Naming.lookup (URL) L objet reste sur le serveur = Une instance de la souche (stub) est importée sur le client = La référence client désigne cette souche qui référence l objet distant

4 Utiliser un objet distant On peut utiliser localement un objet distant : = De façon transparente = Aussi simplement qu un objet local = résultat = objetlocal.méthode (objetdistant) Invoquer une méthode distante Une méthode distante s invoque de façon transparente : = résultat = objetdistant.méthode (param1,, paramn) Les paramètres d entrée peuvent être : = Des objets locaux transmis par copie et sérialisation = Des objets distants (du serveur ou d un site tiers) dont la référence (objet + stub) est retransmise Au retour : = Les objets locaux modifiés sont recopiés = Des références à de nouveaux objets distants peuvent être obtenues

5 Beaucoup plus qu un simple RPC pour Java 2. Rappels sur les RPC Machine A Client Machine B Serveur Processus uitilisateur Requête Invocation du service (Processus veilleur) Réponse Réseau Exécution du service (Processus serveur) renvoit des valeurs de retour

6 Caractéristiques d un RPC Un APD, appel de procédure à distance (RPC, Remote Procedure Call en anglais) permet : = La transparence Type de machine Type de réseau Localisation Type de codage et standards = Plusieurs sémantiques des appels Synchrone / asynchrone Au-moins-une-fois / au-plus-une-fois Processus serveur Question : qui exécute la procédure distante? Réponse : un processus serveur autonome = Un second processus est utilisé sur le serveur

7 Problèmes Les espaces d adressage des processus client et serveur sont disjoints = Nouvelle pile, nouvelles variables Une procédure appelée à distance forme un bloc opaque pour les règles de visibilité = Toutes les communications se font par passage de paramètre = On ne peut pas passer un pointeur Les machines et / ou les systèmes sont différents = Transformation des formats = Interdiction des calculs explicites d adresse Solutions Solution 1 : les paramètres sont limités aux types de base = Passage de paramètres par valeurs = Sans pointeur, uniquement des tableaux = Les structures et / ou listes doivent être décomposées par le programmeur Plusieurs standards ont été proposés = Le plus utilisé est DXF (Data exchange Format) Solution 2 : sérialisation (languages objets) = Les objets complexes sont transformés en un flot de caractères selon un format d échange

8 Mécanisme d appel compilé = La procédure distante et le programme appelant sont compilés séparément = Le compilateur utilise une définition d interface abstraite = L appelant utilise le mécanisme d appel habituel = Une pseudo procédure se substitue localement à la procédure distante La souche client (stub) = L appelé utilise le mécanisme d appel habituel = Une pseudo procédure appelante se substitue à la vraie sur la machine distante La souche serveur (squeleton) Client Architecture Serveur Procédure appelante Souche client Librairie APD Système et communication Appel de procédure Appel de procédure Appel système Procédure appelée Souche serveur Librairie et runtime APD Système et communication Appel de procédure Appel de procédure Appel système

9 Définition d interface Une procédure distante n est connue que par son interface = type_retour nom_procedure (mode_p1 type_p1, mode_p2 type_p2,, mode_pn type_pn) ; = type_1 = ; = = type_m = ; L interface est générée par le compilateur serveur Elle est utilisée par le compilateur client 3. Le modèle objet de Java-RMI Le modèle objet distribué de RMI distingue deux types d objets : = Les objets distants (remote object) = Les objets locaux Un objet distant est connu des autres sites par une ou plusieurs interfaces distantes (remote interfaces) Chaque interface distante définit un ensemble de méthodes invocables depuis les autres sites Pour invoquer une méthode d un objet distant : = On connait son interface - son comportement = On ne connait pas sa classe exacte - son implémentation

10 Interfaces et classes en Java Une interface définit un comportement abstrait = Elle ne comporte pas de constructeur d objets = Elle définit la signature de méthodes abstraites = Elle peut aussi définir des constantes Une classe définit une implémentation particulière = Elle comporte un constructeur d objets = Elle définit un type pour la structure des objets = Elle spécifie des méthodes (signature + corps) Une classe peut implémenter une ou plusieurs interfaces = Elle doit alors fournir une implémentation des méthodes correspondantes Exemple InterfaceX méthodex1 () méthodex2 () InterfaceY méthodey1 () méthodey2 () InterfaceZ méthodez1 () méthodez2 () IntX IntY IntX IntZ ClasseA méthodex1 () méthodex2 () méthodey1 () méthodey2 () méthodea1 () méthodea2 () ClasseB méthodex1 () méthodex2 () méthodez1 () méthodez2 () méthodeb1 () méthodeb2 ()

11 Interfaces et héritage en Java Un objet Java est créé comme une instance d une classe particulière Java supporte trois mécanismes d héritage = simple : une classe peut étendre une autre classe - sa superclasse - = simple : une interface peut étendre une autre interface - sa superinterface - = multiple : une classe peut implémenter une ou plusieurs interfaces En résultat, un objet Java est aussi : = Une instance de sa ou ses superclasses = Une instance des toutes les interfaces implémentées par sa classe et sa (ou ses) superclasse (s) InterfaceX méthodex1 () Exemple InterfaceY méthodey1 () InterfaceW méthodew1 () IntX IntY ClasseA InterfaceZ méthodez1 () méthodex1 () méthodey1 () méthodea1 () implements extends IntZ ClasseC méthodey2 () méthodew1 () méthodez1 () méthodec1 () méthodec2 ()

12 Exemple (suite) Les instructions suivantes sont toutes correctes : ClasseC c1 = new ClasseC () ; ClasseA a1 = new ClasseC () ; ClasseA a2 = c1 ; ClasseC c2 = (ClasseC) a2 ; InterfaceX ix1 = new ClasseA () ; InterfaceX ix2 = new ClasseC () ; InterfaceZ iz1 = c1 ; InterfaceZ iz2 = (ClasseC) a1 ; L instruction suivante est incorrecte : InterfaceZ iz3 = new ClasseA () ; Interfaces et classes de RMI Interfaces Classes Exceptions Remote Serializable RemoteObject IOException RemoteServer RemoteException UnicastRemoteObject

13 L interface Remote Remote CompteBancaire Remote sert à identifier et référencer les objets distants Remote ne définit aucune méthode public interface Remote {} Remote est la racine de toutes les interfaces distantes définies par les utilisateurs pour manipuler les objets distants public interface CompteBancaire extends Remote { public void depot (float montant) throws RemoteException ; public void retrait (float montant) throws RemoteException ; } Objets distants de Java-RMI Définition : un objet distant est une instance d une classe implémentant une ou plusieurs interfaces distantes. Un objet non-distant est dit objet local. NB : distant et local désignent la nature de l objet et non pas sa localisation sur un certain site. Exemple pour l accès aux objets depuis un site particulier (Site local dans le tableau ci-dessous) selon la nature et la localisation d un objet : Nature des objets Objet local Objet distant Localisation des objets Site local accès local accès local Site distant accès copie locale accès distant

14 La classe UnicastRemoteObject La classe abstraite RemoteObject redéfinit plusieurs méthodes de Object et en ajoute pour les objets distants = hashcode, equals, tostring = getref, tostub, writeobject, readobject La classe abstraite RemoteServer définit des méthodes communes à tous les serveurs = unexportobject, getclienthost, La classe UnicastRemoteObject implémente les objets distants non répliqués (mono-serveur) = exportobject, Conformité avec le modèle Java Une référence à un objet distant peut être : = Passée en paramètre de toute invocation de méthode locale ou distante = Retournée par toute invocation de méthode locale ou distante = Fondue en une référence sur des interfaces distantes de son implémentation = Utilisée en argument de instanceof pour tester les interfaces supportées

15 Spécificité du modèle RMI Les clients des objets distants = Ne voient que les interfaces distantes = Ne voient jamais directement les classes qui les implémentent Les paramètres des méthodes distantes sont passés = Par référence pour les objets distants = par copie pour les autres objets Classes souches de Java-RMI A chaque classe C d objets distants sur le serveur est associée : = Une classe souche CS (stub class) = L ensemble des interfaces I distantes de C Implémentées directement par C Ou implémentées par une superclasse de C Pour un objet distant référencé depuis un site client : = La classe souche est importée par le réseau = Un objet de cette classe est créé localement Le système normal de type de Java fonctionne avec les références sur les objets souches

16 Exemple : hiérarchie de classe Interfaces Serializable Classes RemoteObject Remote RemoteServer RemoteInterfaceX RemoteInterfaceY UnicastRemoteObject RemoteInterfaceZ RemoteInterfaceW ClasseA InterfaceM ClasseB InterfaceN ClasseC Exemple : souches Interfaces Remote Souches RemoteInterfaceX RemoteInterfaceY RemoteInterfaceZ RemoteInterfaceW SoucheA SoucheB

17 Exemple : objets souches Serveur RIX RIW ClasseA SoucheA RIX RIZ RIW IM ClasseB SoucheB Importation des souches Client RIX RIW SoucheA RIX RIZ RIW SoucheB RIX RIZ RIW IM IN ClasseC Création d objets substituts Obj_CAi Obj_CBj Obj_CCk Obj_SAi Obj_SBj Obj_SCk références distantes 4. Architecture générale RMI se décompose en trois couches : Client Serveur Application Souches client (Stubs) Souches Serveur (Skeletons) Couche des références distantes (Remote Reference Layer) Mécanisme RMI Couche Transport

18 La couche des souches La couche des souches : = Constitue l interface application / système RMI. = Comporte les souches client (stubs) agissant comme un objet par procuration (proxy) = Comporte les souches serveur implémentant toutes les interfaces de l objet distant. = Soumet les données à la couche des références distantes sous forme de flots de données entrants et sortants - après sérialisation. Sérialisation Sérialisation Définition : technique permettant la transmission des données objets entre deux espaces d adressage différents Les références à d autres objets conduisent à une copie en profondeur Entrée : = Un ensemble d objets en mémoire (virtuelle) = Organisé en graphe (connexe ou non) Sortie : = Un flot séquentiel de données = Utilisant exclusivement un adressage relatif Désérialisation

19 Les souches client (stubs) La souche client : = Initialise l appel vers un objet distant (via la couche des références distantes ) = Sérialise les arguments sous forme d un unique flot de sortie = Informe la couche des références distantes que l appel peut être invoqué = Désérialise le flot d entrée contenant la valeur de retour ou une exception = Informe la couche des références distantes que l appel est achevé Les souches serveur (squeletons) La souche serveur : = Reçoit l appel par une méthode unique (aiguilleur) = Désérialise le flot d entrée des arguments = Prépare l appel vers l implémentation réelle de l objet distant = Distribue l appel vers la bonne méthode cible = Sérialise les valeurs de retour ou les exceptions dans le flot de sortie

20 La couche des références distantes Plusieurs protocoles d invocation possibles : = Invocation point à point (Unicast) = Invocation vers des groupes de réplication (Multicast) Stratégie de reconnexion (si un objet devient inaccessible) Deux composantes coopérantes : = la composante coté client (client-side) = la composante coté server (server-side) Transmission de données entre couches transport par une connexion orientée flux La couche transport La couche transport de Java-RMI effectue : = Mise en place, gestion, surveillance de la connexion = Ecoute des appels arrivant = Maintien d une table d objets distants pour l espace d adressage = Localisation du dispatcher pour la cible d un appel distant et transmission de la connexion

21 Concepts de la couche transport 4 abstractions : = Un endpoint indique machine virtuelle Java. = Un channel conduit entre = Une connexion permet le transfert des données. = Le transport effectue la gestion des channels. Nettoyage des objets distants Ramasse-miette Ramasse-miette (Garbage Collector) distribué Invoqué quand : = Les objets distants ne sont plus appelés (compteur ref_counting == 0) = Il n y a plus ni référence locale ni référence distante sur les objets locaux ou distants Remarque : = Le GC ne garantit pas l intégrité des références, il peut rester une référence sans objet correspondant ( fi RemoteException)

22 Chargement dynamique des classes Pendant l exécution : Chargement dynamique des classes nécessaires à l invocation des méthodes de l objet distant. = Classes stub et squelette (~proxies) = Classes indirectement utilisées par RMI Chargement dynamique des classes pour les copies des objets locaux hors-site = Classes et interfaces des objets hors-site Différents chargeurs de classe = LocalClassLoader (selon le Classpath) Chargement des classes connues localement = AppletClassLoader Chargement de l applet Chargement des classes dépendantes sur le réseau = RMIClassLoader Vérifie que l on ne peut pas charger avec le Classpath. Localise la classe grâce à l URL dans le flot (objet distant). Localise la classe grâce à l URL spécifié par java.rmi.server.codebase local (souche/squelette).

23 Sécurité Chargement local de classe : = Pas de problème de sécurité Chargement à partir du réseau : = Nécessité d un Security Manager. Applet Security Manager (à lancer en 1er dans une application). RMI Security Manager (par défaut). Sécurité Applet Security : = Le chargement doit être fait sur applet (travail des développeurs). RMI Security : = Lorsque non local (ex : bootstrapping). = Toutes les classes téléchargées par le RMIClassLoader. = Pb : on ne peut pas prévenir le chargement de classes abusant de ressource.

24 Scénarios Serveurs en mode ouvert ou fermé. Application Java utilisant RMI : Mode Client / Serveur Mode Serveur / Client (callback) Mode égal à égal (peer to peer) Mode ouvert ou fermé Serveur fermé : = Pas de chargement de classe = Interfaces locales au serveur = Pas de Security Manager Serveur ouvert : = Chargement de classes avec l URL du java.rmi.server.codebase = Contrôle par le RMI Security Manager

25 Applets Classes fournies par serveur HTTP ou FTP (URL page HTML) Pas de chargement de classes si elles existent déjà sur le serveur. Application Java distribuée NB : Applet Un seul serveur HTTP pour toutes les applications distribuées sur le réseau Chargement local d une application : = Chargement des interfaces distantes = Chargement des classes souche et squelette. Chargement réseau (bootstrapping) : = Toutes les classes peuvent être chargées à partir de la même source réseau

26 RMI à travers les Firewalls Problème : = Ouvrir un socket en présence de parefeux (Firewalls) sur Intranet Solution : = Encapsulation d un appel RMI par le protocole HTTP Appel RMI envoyé dans le corps d une requête HTTP POST. Retour dans une requête HTTP response. L usine à sockets Le factory de sockets : = java.rmi.server.rmisocketfactory = Fournisseur de ressource pour les sockets = Création de socket permettant le tunneling Socket client : connexion HTTP vers les hôtes Socket serveur : si HTTP POST alors réponse HTTP

27 Configuration Configuration du client : RAS Configuration du serveur : = La totalité du nom de l hôte serveur doit être incluse dans les références distantes = Si le serveur ne supporte pas les clients RMI en dehors du parefeux : Utilisation d un serveur HTTP à l écoute sur le port 80. Utilisation d un script CGI : /cgi-bin/java-rmi Multithreading NAME ADDRESS Client NAME ADDRESS Client NAME ADDRESS RMI RMI Server RMI Client JDBC Expense records

28 Comparaison RMI / RPC Orientation Objet = Passage d objets complexes en paramètre. = Création d objets à distance. Séparation interface / implémentation Client Server Architecture d objets distribués Répartition des objets sur une architecture C/S ou 3 tiers de façon libre. Utilisation d un Security Manager standard ou spécialisé. Portable sur toute machine (VM). Ramasse-miette distribué. Multithreaded.

29 Intégration intranet / extranet Appel à distance / téléchargement de code Encapsulation code non-java avec JNI Encapsulation BD avec JDBC Récupère les avantages d un BUS Java : = Puissance = Sécurité = Portabilité Implémentation des souches L implémentation des souches s appuie sur les possibilités objets de Java

30 Classes et Interfaces des souches Classe RemoteStub = Superclasse pour tous les stubs Interface RemoteCall = Gestion du transport des informations (flux) Interface RemoteRef = Attache locale à un objet distant Interface Skeleton = Répartiteur d appels JINI Architecture destinée à la gestion de périphériques en réseau = Utilise RMI = Télécharge des données et du code pour piloter le périphérique = Constitue une première application de Service Web

31 Fonctionnnement de JINI Lors de l ajout d un périphérique: Celui-ci se déclare auprès du serveur Lookup Service puis lui envoie son pilote Le client voulant utiliser le pilote envoie une demande au serveur Le serveur lui envoie le pilote du périphérique

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

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

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

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

Plus en détail

Programmation par RPC et Java-RMI :

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

Plus en détail

Remote Method Invocation (RMI)

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

Plus en détail

RMI. Remote Method Invocation: 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

NFP111 Systèmes et Applications Réparties

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

Plus en détail

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

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

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

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

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

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

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

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

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

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

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

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

Plus en détail

Architectures n tiers Intergiciels à objets et services web

Architectures n tiers Intergiciels à objets et services web UMIN406 : thèmes abordés Architectures n tiers Intergiciels à objets et services web Clémentine Nebut LIRMM / Université de Montpellier 2 LIRMM Clementine.nebut@lirmm.fr 1 Distribution d objets Java RMI,.net

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

Rapport du projet de Chat distribué avec Java RMI

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

Plus en détail

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

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES

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

Plus en détail

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

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

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

Plus en détail

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

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

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

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

Plus en détail

CORBA avec OpenORB. Samir Torki et Patrice Torguet

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

Plus en détail

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

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

Plus en détail

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

Agents Mobiles/Code Mobile

Agents Mobiles/Code Mobile Systèmes Répartis Agents Mobiles Agents Mobiles/Code Mobile Modèles d exécution répartie et agents mobiles Infrastructure pour les agents mobiles Expérimentations Conclusion 1 Modèles d exécution répartie

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

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

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

Firewall IDS Architecture. Assurer le contrôle des connexions au. nicolas.hernandez@univ-nantes.fr Sécurité 1

Firewall IDS Architecture. Assurer le contrôle des connexions au. nicolas.hernandez@univ-nantes.fr Sécurité 1 Sécurité Firewall IDS Architecture sécurisée d un réseau Assurer le contrôle des connexions au réseau nicolas.hernandez@univ-nantes.fr Sécurité 1 Sommaire général Mise en oeuvre d une politique de sécurité

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

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

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

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

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

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

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

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

Plus en détail

Implementing a simple RMI Application over the Internet (using and comparing HTTP tunneling, RMI Proxy)

Implementing a simple RMI Application over the Internet (using and comparing HTTP tunneling, RMI Proxy) Implementing a simple RMI Application over the Internet (using and comparing HTTP tunneling, RMI Proxy) Abstract Un problème se pose lorsque l on veut effectuer des appels RMI à travers un firewall, car

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

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

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

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

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

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

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

Plus en détail

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

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

Systèmes distribués avec Java RMI

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

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

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

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

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

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

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

Cisco Certified Network Associate

Cisco Certified Network Associate Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un

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

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

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

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

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

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

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

Sensibilisation à la sécurité informatique

Sensibilisation à la sécurité informatique Sensibilisation à la sécurité informatique Michel Salomon IUT de Belfort-Montbéliard Département d informatique Michel Salomon Sécurité 1 / 25 Sensibilisation à la sécurité informatique Généralités et

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

Cahier des charges (CDC)

Cahier des charges (CDC) Cahier des charges (CDC) PTella Auteur Arnaud Aucher - Ecole Centrale Groupe PT1 3 Nom du document Version 3 Page 1 / 5 Sommaire Sommaire... 2 Présentation générale du projet... 3 1. Descriptif du projet...

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

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

SaGE,unSystèmedeGestiond Exceptions pourla programmationorientéemessage: Le casdessystèmesmulti-agents et desplates-formesàbasedecomposantslogiciels

SaGE,unSystèmedeGestiond Exceptions pourla programmationorientéemessage: Le casdessystèmesmulti-agents et desplates-formesàbasedecomposantslogiciels numéro d identification : ACADÉMIE DE MONTPELLIER UNIVERSITÉ MONTPELLIER II SCIENCES ET TECHNIQUES DU LANGUEDOC THÈSE présentée àl Université des Sciences et Techniques du Languedoc pour obtenir le diplôme

Plus en détail

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

Plus en détail

Evaluation Idéopass Cahier d analyse technique

Evaluation Idéopass Cahier d analyse technique Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

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

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

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

Chapitre 1 Windows Server 2008 11

Chapitre 1 Windows Server 2008 11 Chapitre 1 Windows Server 2008 11 1.1. Les fondations du système... 15 1.2. La virtualisation... 16 1.3. La sécurité... 18 1.4. Le Web... 20 1.5. Fonctionnalité disponible dans Windows Server 2008... 21

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

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

La VOIP :Les protocoles H.323 et SIP

La VOIP :Les protocoles H.323 et SIP La VOIP :Les protocoles H.323 et SIP PLAN La VOIP 1 H.323 2 SIP 3 Comparaison SIP/H.323 4 2 La VOIP Qu appelle t on VOIP? VOIP = Voice Over Internet Protocol ou Voix sur IP La voix sur IP : Le transport

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

Figure 1-1. Plateformes compatibles avec WCF

Figure 1-1. Plateformes compatibles avec WCF 1 Bonjour Indigo Windows Communication Foundation (WCF), auparavant connu sous le nom de code «Indigo», est une nouvelle plateforme de messages distribués. Il fait partie du Framework.NET 3.0 livré avec

Plus en détail

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT Administration Réseau Niveau routage Intérêt du NAT (Network Address Translation) Possibilité d utilisation d adresses privées dans l 4 2 1 Transport Réseau Liaison Physique Protocole de Transport Frontière

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

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

Druais Cédric École Polytechnique de Montréal. Résumé

Druais Cédric École Polytechnique de Montréal. Résumé Étude de load balancing par un réseau de neurones de types HME (Hierarchical Mixture of s). Druais Cédric École Polytechnique de Montréal Résumé Cet article tente d introduire le principe de load balancing

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau)

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Année 2008-2009 Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction

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

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft Virtual Server 2005 R2 Network Shutdown Module Système Principal (hôte) Virtual Server

Plus en détail