Java Remote Method Invocation

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

GESTION D’IMPRISSION SOUS WINDOWS & LINUX
Invocation de Méthode à des Objets distants RMI et Corba
Plan de l’enseignement
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Harmonisation AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Retour sur RMI.
1 Plan de lenseignement Cours Introduction au réseau via les objets distants (Application à RMI) Ce que cache RMI : programmation socket – mode connecté
Des sockets à RMI Programmation réseau versus programmation objet
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Objets Distribués Chronique d ’une invasion annoncée
Module SI4 Applications réparties
Des sockets à RMI. Pourquoi ? Maturation de la technologie orientée objet –ADA, Modula –Smalltalk, C++, Java Maturation des communications Client- Serveur.
Des sockets à RMI.
Introduction aux applications réparties
TP 7.1 synchronized et join Écrire un programme Java qui crée 1000 threads et maintient un compteur nb du nombre de threads créés jusque-là. Le thread.
Chapitre I : Systèmes d’exploitation
Object Management Architecture (OMA)
Exposé de Système - Informatique et Réseau
Programmation Objet en JAVA Cours 9 : Réseau R. M
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance

Systèmes d’exploitation
BERNARDIN Benoît Université de Franche-Comté – Année 2008/2009
Active Directory Windows 2003 Server
Java Remote Method Invocation (RMI)
Labview Programmation réseau Communication par sockets
BERNARDIN Benoît Lycée Louis Pergaud
Laboratoire d'Informatique de l’Université de Franche-Comté
.Net Remoting.
Interopérabilité JOnAS - CORBA
Cours 12 Contenu du cours : RMI : a quoi ca sert Comment ca marche
PROJET DE GENIE LOGICIEL 2005
Java et les appels de méthodes distantes
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Réunion de collaboration du 9-10 Juillet 2008 J.L. Béney 1 Logiciel At  Client-Serveur Tcp/ip de la station autonome  Influence de l'architecture matérielle.
Travail réalisé par : LATRECHE Imed Eddine MENASRIA Med Lamine
Présentation de CORBA et de IIOP
Exploration de la programmation android Formation Assurer par: Club FreeWays Réalisé par: BOUHJJA Lamia.
Structures de données avancées : Concepts réseaux et protocole de communication. D. E ZEGOUR Institut National d ’Informatique.
VPN sous Linux Essaka Cynthia Serbin Laurent. Sommaire  Introduction  Vpnd  LRP  Freeswan.
Systèmes distribués Plusieurs technologies existent : Les sockets
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Introduction à Visual Studio C++ (VC++)
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Les sockets.
Module 3 : Création d'un domaine Windows 2000
Les RPC remote procedure call
 Formulaires HTML : traiter les entrées utilisateur
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Le Browser hiérarchique de Classes Java : En quoi cette application pourra faciliter le travail de Mr Leblanc ? GROUX Julien & MOULINIER Georges.
Le Browser hiérarchique de Classes Java : En quoi cette application pourra faciliter le travail de Mr Leblanc ?
Java RMI: Remote Method Invocation
Master 1 SIGLIS Systèmes d’Information pour l’entreprise – Java RMI Stéphane Tallard Mise en œuvre de l’exemple Bonjour RMI Master 1 SIGLIS1 Intégration.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Service de vidéo à la demande Projet Tutoré : Groupe C3 Université Paris 5.
Les bases du protocole Modbus
Architecture Client/Serveur
Cycle de développement avec Inprise JBuilder 4.0 iup MIAGe 3° année Projet MIAGe Toulouse – Groupe 21 JBuilder 4.0 et CORBA.
AXIS Implémentation des echanges type RPC en XML (XML RPC ou JAX-RPC API)‏ Framework à installer au-dessus de Tomcat JDK récent.
Remote Method Invocation
Introduction à Java Caractéristiques principales Environnement Java Environnement de développement Compilation et exécution.
2 3 Recherche de l’adresse du serveur Envoie en broadcast ( ) Communication entre les clients et le serveur :  Enregistrement de personnes.
Installation du PGI – CEGID
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Sockets/rmi - Y. Bekkers1 Applications réparties en Java Paquetage java.net – Sockets Objets distants transparents – RMI Yves Bekkers.
Transcription de la présentation:

Java Remote Method Invocation Mehrez Boulares, Nour Ben Yahia ISI Kef 2015-2016

Introduction JAVA et les objets distribués. Mise en place d’outils facilitant la distribution d’objets et leur utilisation dans le cadre d’architecture Client/Serveur : RMI. Extension de la notion de programmation réseau avec les sockets UDP et TCP. RMI est un système d’objets distribués constitué uniquement d’objets JAVA. RMI est une API (Application Programming Interface) intégrée à JAVA depuis la version 1.1. PUT THE NAME OF YOUR COMPANY HERE

Introduction Java RMI permet de créer des applications réseau où : Le client et le serveur sont en Java Le client peut utiliser des objets situés sur le serveur comme s’ils étaient locaux La couche réseau devient transparente aux applications client/serveurs Application RMI : développement coté serveur + développement coté client PUT THE NAME OF YOUR COMPANY HERE

Étapes d’un appel de méthode distante PUT THE NAME OF YOUR COMPANY HERE

Développer une application avec RMI : Mise en œuvre Définir une interface distante (Xyy.java). Créer une classe implémentant cette interface (XyyImpl.java). Compiler cette classe (javac XyyImpl.java). Créer une application serveur (XyyServer.java). Compiler l’application serveur. Créer les classes stub et skeleton à l’aide de rmic XyyImpl_Stub.java et XyyImpl_Skel.java (Skel n’existe pas pour les versions >1.2). Démarrage du registre avec rmiregistry. Lancer le serveur pour la création d’objets et leur enregistrement dans rmiregistry. Créer une classe cliente qui appelle des méthodes distantes de l’objet distribué (XyyClient.java). Compiler cette classe et la lancer. PUT THE NAME OF YOUR COMPANY HERE

Exemple : Application « Echo » msg1 Client Serveur [msg1] PUT THE NAME OF YOUR COMPANY HERE

Étape 1 : Application serveur (l’interface de l’objet serveur) Un objet distant doit implémenter l’interface Remote de java.rmi Les méthodes distantes sont celles qui appartiennent à une interface dérivée de la classe Remote PUT THE NAME OF YOUR COMPANY HERE

Étape 2 : Application serveur (Écriture de l’objet serveur) I Implémentation de l’interface distante précédente par une classe Cette classe doit dériver de UnicastRemoteObject qui permet l’invocation de méthodes distantes PUT THE NAME OF YOUR COMPANY HERE

Étape 2 : Application serveur (Écriture de l’objet serveur) II Publication du service offert par le serveur dans le service annuaire Cet annuaire sera utiliser par les clients pour chercher les services du serveurs Publication à travers la méthode rebind de la classe Naming : Naming.rebind(String nom, Remote obj) nom : nom du service obj : objet serveur PUT THE NAME OF YOUR COMPANY HERE

Étape 2 : Application serveur (Écriture de l’objet serveur) III PUT THE NAME OF YOUR COMPANY HERE

Étape 3 : Application serveur (Compilation de la partie serveur) Compilation du fichier interEcho.java de l’interface interEcho Compilation du fichier srvEcho.java de la classe srvEcho Obtention des .class : interEcho.class et srvEcho.class PUT THE NAME OF YOUR COMPANY HERE

Étape 4 : écriture du client I On écrit un client à qui on passe en paramètre l’URL du serveur d’écho et qui : lit une ligne tapée au clavier l’envoie au serveur d’écho affiche la réponse que celui-ci envoie reboucle en 1 et s’arrête lorsque la ligne tapée est « fin » PUT THE NAME OF YOUR COMPANY HERE

Étape 4 : écriture du client II Localisation du service par serveur=(interEcho) Naming.lookup(urlService); urlService : rmi://machine:port/nom_service PUT THE NAME OF YOUR COMPANY HERE

Étape 5 : Génération des .class nécessaires Compilation du client et obtention du cltEcho.class Pour dialoguer avec le serveur le client a besoin d’une image du service serveur localement c’est le fichier de Stub Obtenu par : Exécution de la commande rmic srvEcho sur le serveur Obtention de deux fichiers : srvEcho_stub.class et srvEcho_Skel.class Copie de srvEcho_stub.class et de interEcho.class avec le client PUT THE NAME OF YOUR COMPANY HERE

Étape 5 : Génération des .class nécessaires (Résumé) Côté serveur : interEcho.class srvEcho.class srvEcho_stub.class Côté client : cltEcho.class PUT THE NAME OF YOUR COMPANY HERE

Étape 6 : exécution de l’application sur une même machine Préparatif : lancement du service d’annuaire start rmiregistry Lancement du serveur (à partir du répertoire du serveur) start java srvEcho Lancement du client : java cltEcho rmi://localhost/srvEcho PUT THE NAME OF YOUR COMPANY HERE

Exécution sur deux machines différentes Client Linux : copier dans le même répertoire les .class suivants : cltEcho.class interEcho.class srvEcho_stub.class Serveur : dans le même répertoire il faut prévoir les .class suivants : srvEcho.class srvEcho_Skel.class PUT THE NAME OF YOUR COMPANY HERE