Module SI4 Applications réparties

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Xavier Blanc Web Services Xavier Blanc
Invocation de Méthode à des Objets distants RMI et Corba
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é
Module SI2 Applications réparties
ORB (1/2) ORB : Object Request Broker
Module SI4 Applications réparties
Architecture CORBA réseau Objet Corba Application Serveur
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Module SI4 Applications réparties Questions Réponses Extraits de Mireille Blay-Fornarino, Audrey Occello et Didier Donsez.
Objets Distribués Chronique d ’une invasion annoncée
© 2006, Occello Audrey, PolytechNice Module SI2 Applications réparties Service de nommage & JNDI Extraits de Mireille Blay-Fornarino, Anne-Marie.
En savoir plus sur le nommage
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Sud Ouest Est Nord Individuel 36 joueurs
Les Prepositions.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Object Management Architecture (OMA)
L’architecture .net et ASP.net
1 Les technologies XML Cours 4 : Les Web Services et XML- RPC Février Version 1.0 -
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV J2EE / JNDI Module Java Expert.
Atelier Portail SAP Durée : 2h.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Configuration de Windows Server 2008 Active Directory
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Introduction aux services WEB
Développement d’applications web
Java Remote Method Invocation (RMI)
Virtual Local Area Network
Interopérabilité JOnAS - CORBA
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Internet : la mémoire courte ? Capture de sites Web en ligne Conférence B.N.F, Avril 2004 Xavier Roche(HTTrack)
LES NOMBRES PREMIERS ET COMPOSÉS
La Saint-Valentin Par Matt Maxwell.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
1 1 Corba avec Java et C Jean-Marc Vanel Transiciel - Sogeti.
Notre calendrier français MARS 2014
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
C'est pour bientôt.....
Veuillez trouver ci-joint
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
CORBA (Common Request Broker Architecture)
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
CALENDRIER-PLAYBOY 2020.
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Java Enterprise Edition, anciennement J2EE
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Systèmes distribués Plusieurs technologies existent : Les sockets
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
France Télécom R&D Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.
Java RMI: Remote Method Invocation
Remote Method Invocation
Java Remote Method Invocation
JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche
Applications distribuées Introduction Jean-Jacques LE COZ.
Transcription de la présentation:

Module SI4 Applications réparties Questions Réponses Extraits de Mireille Blay-Fornarino, Audrey Occello et Didier Donsez - 1 -

JNDI ? - 2 -

JNDI en quelques mots Services de nommages connus : rmiregistry, Corba naming Services d’annuaires connus : LDAP, DNS Des fonctionnalités communes Principe : Fournir une API (java) uniforme à des services de nommage ou d’annuaire Utilisation de pilotes SPI dynamiquement chargeables LDAP, DNS, NIS, NDS, RMI, CORBA, … et FileSystems - 3 -

Différences Serveur de Noms et Annuaire ? - 4 -

Unicité des noms pinna EPU BIO ELEC SI MAM arthur estelle arthur clément - 5 -

Association d’attributs EPU BIO ELEC SI MAM pinna arthur estelle arthur clément Email Password login Email Password login Email Password login Email Password login Email Password login - 6 -

Exemples Serveur de Noms et Annuaire ? - 7 -

Service providers (SPI) SPI est l’interface permettant d’attaquer différents providers de manière uniforme. Les providers « compatibles » doivent fournir un ensemble de classes implémentant javax.naming.spi. LDAP : Lightweight Directory Access Protocol = > Simplification de ISO X500. même convention de nommage mais basé sur TCP/IP (plutôt que les couches ISO) DNS : Domain Name System is an application-layer protocol that is part of the standard TCP/IP protocol suite. This protocol implements the DNS naming service, which is the naming service that is used on the Internet. One of the most common and important uses of DNS is connecting your network to the global Internet. To connect to the Internet, your network IP address must be registered with whomever is administering your parent domain. NIS : Network Information Service (formerly known as YP) is a distributed naming service. It is a mechanism for identifying and locating network objects and resources. It provides a uniform storage and retrieval method for network-wide information in a transport-protocol and media-independent fashion. NIS was developed independently of DNS and has a slightly different focus. Whereas DNS focuses on making communication simpler by using machine names instead of numerical IP addresses, NIS focuses on making network administration more manageable by providing centralized control over a variety of network information. NIS stores information not only about machine names and addresses, but also about users, the network itself, and network services. This collection of network information is referred to as the NIS namespace. NDS : Novell Directory Service is an industry-leading directory service. - 8 -

Configuration JNDI ? - 9 -

Configuration de JNDI : ContextFactory & Provider Deux façons de configurer ces propriétés : Paramétrer le contexte initial : Hashtable env = new Hashtable(); env.put("java.naming.factory.initial", ...); env.put("java.naming.provider.url", ...); javax.naming.Context ct = new InitialContext(env); Passer en paramètre de ligne de commande de Java : java -Djava.naming.factory.initial=value -Djava.naming.provider.url=value Server - 10 -

ContextFactory : exemples FileSystem : com.sun.jndi.fscontext.FSContextFactory Lightweight Directory Access Protocol (LDAP) : com.sun.jndi.ldap.LdapCtxFactory CORBA services (COS) naming service : com.sun.jndi.cosnaming.CNCtxFactory Java Remote Method Invocation (RMI) Registry : com.sun.jndi.rmi.registry.RegistryContextFactory NIS : com.sun.jndi.nis.NISCtxFactory NDS : com.novell.naming.service.nds.NdsInitialContextFactory - 11 -

Providers et formats d’accès : exemples FileSystem : file://directory_path Lightweight Directory Access Protocol (LDAP) : ldap://host:port CORBA services (COS) naming service : corbaloc::host:port/NameService Java Remote Method Invocation (RMI) Registry : rmi://host:port/ NIS : nis://servername/domain NDS : nds://ndsTreeName - 12 -

IIOP ? 2 Corba sont ils toujours interopérables ? - 13 -

Protocoles : GIOP, IIOP GIOP (General Inter-ORB Protocol) spécifie un standard de communications entre ORBs IIOP (Internet Inter-ORB Protocol) est l'implémentation la + populaire du protocole GIOP au dessus de TCP/IP - 14 -

Communication inter-ORB composant c++ (O.R.B.) composant java (O.R.B.) Bridge IIOP DCE-CIOP IIOP IIOP TCP/IP network (O.R.B.) composant cobol BD IIOP Java-RMI ? (O.R.B.) composant BD DCE network DCE-CIOP Les protocoles de la couche de transport ont la charge de transmettre des paquets de données d’un point à un autre. A l âge de l’Internet le protocole de transport probablement le plus utilisé est TCP/IP (Transmission Control Protocol/ Internet Protocol). La plupart des applications utilise ce protocole, y compris FTP (File Transfer Protocol), Telnet (Host Communication protocol) et HTTP (HyperText Transport Protocol). D’autres protocoles de transport peuvent être utilisés comme DCE (Distributed Computing Environment). - 15 - 13 13

RMI et Corba interopérables ? Différences RMI et Corba ? - 16 -

Protocoles : JRMP JRMP (Java Remote Method Protocol) est le protocole utilisé par Java RMI - 17 -

Pourquoi JNDI ? - 18 -

JNDI Enregistrement de l’objet distant via JNDI InitialContext.rebind("obj_ref", obj); Obtenir un objet distant toujours via JNDI InitialContext IC = new InitialContext(env); Object obj = IC.lookup("obj_ref"); MyObject myobj = (MyObject)PortableRemoteObject.narrow(obj,MyObje ct.class); Lancement du service de nommage choisi : (rmiregistry, CosNaming, …) - 19 -

RMI IIOP ? - 20 -

- 21 -

Souches identiques ? - 22 -

Procédure de compilation : rmic -iiop Implementation File (MyObjectImpl.class) rmic -iiop Coté client Coté serveur _MyObject_Stub.class _MyObject_Tie.class Interface File (MyObject.class) rmic -iiop _MyObject_Stub.class Coté client - 23 -

Influence sur la communication RMI Corba? IDL vs interface ? - 24 -

Intégration Java-RMI/CORBA Quel sous ensemble de JAVA RMI peut être utilise pour faire du CORBA Passage par valeur : un équivalent à la sérialisation Java rmic -idl Objects Passable by Value CORBA's language-independent equivalent of Java's serializable enables many new features including the reverse Java-to-IDL mapping Java-to-IDL Mapping This mapping allows Java RMI objects to interoperate over the network as CORBA objects. They have CORBA object references, and emit the IIOP protocol.   - 25 -

Client CORBA + Serveur RMI 2) rmic -idl IDL CORBA de l’objet Interface RMI de l’objet 3) jidl Implémentation RMI de l’objet Client CORBA 1) rmic -iiop Squelette RMI Stub CORBA By a CORBA client is a client program that was written by a CORBA programmer ignorant of RMI. Likewise, an RMI client, we mean a client program that was written by an RMI programmer who knows nothing about CORBA or IDL. Protocole IIOP ORB ORB - 26 -

Client RMI + Serveur CORBA 1) rmic -idl Interface RMI de l’objet IDL CORBA de l’objet 3) rmic -iiop 2) jidl Implémentation CORBA de l’objet Client RMI Squelette CORBA Stub RMI Protocole IIOP ORB ORB - 27 -

Serveur RMI ou Serveur Corba? - 28 -

Client RMI + Serveur CORBA 1) rmic -idl Interface RMI de l’objet IDL CORBA de l’objet 3) rmic -iiop 2) jidl Implémentation CORBA de l’objet Client RMI Squelette CORBA Stub RMI Protocole IIOP ORB ORB Étape 1 pas naturelle ! Ne marche que pour l’intégration de nouvelles applications - 29 -

Mise en œuvre - 30 -

Compatibilité IIOP : Différences de développement coté serveur (1/2) 1. Clause d’importation javax.rmi.PortableRemoteObject au lieu de java.rmi.UnicastRemoteObject javax.naming.InitialContext au lieu de java.rmi.Naming 2. Définition de l’objet distant pas de différence au niveau de l’interface de l’objet au niveau de l’implémentation : public class MyObjectImpl extends PortableRemoteObject implements MyObject 3. Enregistrement de l’objet distant via JNDI InitialContext.rebind("obj_ref", obj); 4. Génération des souches compatibles IIOP : rmic -iiop - 31 -

Compatibilité IIOP : Différences de développement coté serveur (2/2) 5. Lancement du service de nommage choisi : (rmiregistry, CosNaming, …) 6. Dans le cas de l’interopérabilité avec CORBA, une étape supplémentaire : génération de l’IDL avec rmic -idl Pour générer les bonnes souches CORBA - 32 -

Compatibilité IIOP : Différences de développement coté client 1. Clause d’importation (idem serveur) javax.rmi.PortableRemoteObject; javax.naming.InitialContext; 2. Obtenir un objet distant toujours via JNDI InitialContext IC = new InitialContext(env); Object obj = IC.lookup("obj_ref"); MyObject myobj = (MyObject)PortableRemoteObject.narrow(obj,MyObject.class); 3. Génération des souches compatibles IIOP : rmic -iiop - 33 -

Conclusion Interopérabilité CORBA/Java RMI peu courante mais Première approche d'unification : CORBA/Java RMI contre Micro$oft => effort pour faire face aux solutions tout Microsoft des utilisations plus fréquentes depuis l'apparition des EJB Importance de l’interopérabilité face à la prolifération des langages, des middlewares, ... Maturation des technologies émergence des middlewares orientés composants : ccm, .net Réalité différente dans les entreprises : solutions tout XML nécessité de traduire de A vers XML puis de XML vers B même mécanismes sous-jacents (langage intermédiaire, conversion des données, ...) Pourquoi réinventer la roue ? - 34 -

Quelques références ... Complément de cours : http://www.essi.fr/~pinna/Sar/AppRep/CoursIIOP- JNDI2.ppt Le site de Sun sur RMI-IIOP : http://java.sun.com/j2se/1.4.2/docs/guide/rmi-iiop/ Un article sur l’interopérabilité RMI/CORBA : http://www.javaworld.com/jw-12-1999/jw-12-iiop.html Tutorial JNDI http://java.sun.com/products/jndi/tutorial/TOC.html - 35 -