JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche

Slides:



Advertisements
Présentations similaires
Tutoriel - Les Ressources du BCH
Advertisements

Active Directory Windows 2003 Server
ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
Les protocoles réseau.
Vue d'ensemble Présentation multimédia : Administration d’un environnement Microsoft Windows Server 2003 Ouverture de session sur Windows Server 2003 Installation.
Module 5 : Implémentation de l'impression
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
1 Notions fondamentales relatives à la gestion de la bande passante Questions concernant le personnel technique et les solutions techniques.
Xavier Blanc Web Services Xavier Blanc
Module SI4 Applications réparties
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Implémentation de la gestion de réseau dans Windows 2000 et plus
L’architecture .net et ASP.net
(Classes prédéfinies – API Java)
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV J2EE / JNDI Module Java Expert.
Active Directory Windows 2003 Server
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
Nouveau blog. WordPress connexion Nommez votre blog.
XML-Family Web Services Description Language W.S.D.L.
Module 1 : Préparation de l'administration d'un serveur
Programmation Approche composants Ing5 SI
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
WINDOWS Les Versions Serveurs
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
Configuration de Windows Server 2008 Active Directory
Module 9 : Configuration de Microsoft Windows XP Professionnel pour fonctionner sur des réseaux Microsoft.
Présentation de Active Directory
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Module 5 : Publication de ressources dans Active Directory
Vue d'ensemble Présentation du rôle du système DNS dans Active Directory Système DNS et Active Directory Résolution de noms DNS dans Active Directory.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Mise en place d'une forêt (Aspects pratiques).
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
QCM 2 Windows 2000.
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
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Yonel GRUSSON1 Installation d'une imprimante sous Windows 200x Server.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Plan Qu’est-ce que Windows Server 2008 ?
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Le web service
Gestion des comptes utilisateurs (Windows 2000)
Mastère Professionnel Systèmes de Communication et Réseaux
© WYNIWYG / Communication, reproduction interdite sauf autorisation.
Module 3 : Création d'un domaine Windows 2000
COMPARAISON ENTRE GNUTELLA ET FREENET
Web Services 17/01/2009.
V- Identification des ordinateurs sur le réseau
ACTIVE DIRECTORY B.T.S. S.I.O – SI3 –
LDAP (Lightweight Directory Access Protocol)
Nouvelles Technologies Internet & Mobile
Architecture informatique GEV Plan Groupe de travail Contexte et objectifs Principes généraux -Structure Annuaire Mise en oeuvre -Objectifs, généralités.
Introduction aux technologies des web services en Java EE
TP D’UML Groupe N° 3.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Internet Le Réseau des Réseaux Découverte & utilisation.
© - Last update: Sunday, 31 January Master « Technologies de l’Internet » - UPPA.
LDAP Lightweight Directory Access Protocol. Ce que pensent 100 directeurs informatique de LDAP :
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.
Chapitre 1 Introduction à l'infrastructure Active Directory Module S44.
Transcription de la présentation:

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Java Naming and Directory Interface (JNDI) Franck Barbier Université de Pau et des Pays de l’Adour

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Nommage La gestion des ressources des systèmes distribués impose leur identification aisée et précise, leur localisation et leur accès par nommage en particulier Internet par exemple est fondé sur une nomenclature qui gouverne le nommage des sites : c’est le DNS ou Domain Name System (e.g. Il existe deux supports de base pour la gestion du nommage : les services de nommage proprement dit (e.g., DNS) et les services de gestion d’annuaire (e.g., la norme X.500 et son implantation standard mais « allégée » qui est LDAP pour Lightweight Directory Access Protocol)

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Exemples de besoins en nommage Environnement d’imprimantes et leurs capacités/possibilités/qualités d’impression en s’affranchissant des serveurs d’impression (pilote d’impression, file d’attente…) Les annuaires, pages blanches, pages jaunes… Les fichiers qui existent physiquement sur des machines différentes mais dont l’accès et la manipulation logiques doivent être transparents et simplifiés Les composants et services logiciels dont la localisation et la composition dynamique dans des applications nécessitent l’identification sure, rapide et fréquente Les utilisateurs des systèmes distribués avec en particulier leurs propriétés « système » telles que , home page…

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Gestion du nommage et programmation J2SE fournit en standard une API complète pour la gestion du nommage : JNDI Cette technologie Java est un support complet pour DNS, LDAP, RMI, CORBA… Elle autorise par exemple la gestion des URLs (Uniform Resource Locators) du Web comme des noms simples ou composites ; on trouve ainsi les interfaces et classes Java : javax.naming.Name, javax.naming.CompositeName et javax.naming.CompoundName

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Java Naming and Directory Interface (JNDI) Package clef : javax.naming Livre : JNDI API Tutorial and Reference: Building Directory-Enabled Java™ Applications, Rosanna Lee and Scott Seligman, Addison Wesley, 2000 Voir aussi ( The Internet Engineering Task Force ) pour les spécifications

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Architecture de JNDI Novell

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Service Provider Un fournisseur de service JNDI doit implémenter toutes les interfaces composant la norme. Les services de base sont en général inclus dans J2SE et il est possible de créer son propre service JNDI-compliant. Voici quelques cas : LDAP (inclus dans J2SE depuis SDK 1.4.0), voir aussi pour déployer un serveur RMI Registry (inclus dans J2SE) DNS (inclus dans J2SE depuis SDK 1.3.0) File System (à télécharger) Windows Registry (à télécharger) Etc. Voir aussi

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Ce package est réservé aux développeurs qui créent un service conforme à JNDI pour traiter d’une technologie particulière. Par exemple, JNDI2R est une réalisation de la société SCAND pour accéder et manipuler le registre de Windows (9x -> XP) en Java Le package javax.naming.spi contient les interfaces que doit implémenter un Service Provider pour offrir un point d’entrée JNDI à une technologie donnée Package Java du Service Provider

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche L’interface javax.naming.Context est l’interface clef de JNDI. Elle définit spécialement les opérations de base pour gérer les objets nommés composés du nom lui- même et de sa liaison (binding). Les liaisons JNDI sont vues comme des objets Java possédant un type qui souvent peut être découvert à l’exécution. Par exemple, un composant logiciel EJB verra sa localisation JNDI retourner un objet d’un type conforme à sa Home Interface. Ce type varie selon le domaine traité : le File System retourne lui par exemple des contextes ou des fichiers (java.io.File) Interface javax.naming.Context

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Organisation des classes et interfaces Java autour de Context Autres interfaces non encore implémentées à ce jour : EventContext, EventDirContext

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Interface Name JNDI définit une représentation standard sous forme de chaîne de caractères des noms composites. Cette représentation est la concaténation des composants d’un composite de la gauche vers la droite en utilisant un séparateur (le slash ou /) pour distinguer chaque élément

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Configuration d’un contexte avant ouverture Paramètre de configuration : INITIAL_CONTEXT_FACTORY java.util.Properties p = new java.util.Properties(); p.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.FSContextFactory"); // File System Service Provider /* or p.setProperty(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.Re fFSContextFactory"); // File System Service Provider */

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Classes pour le service File System implements javax.naming.Context

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Version « light » de la norme X.500 de l’OSI (Directory Service ou service d’annuaire) qui tourne au dessus du protocole TCP/IP Organisation dépendante d’une base de données (X.500 Directory Information Base) plutôt dédiée à des opérations de « lecture seule » et des accès sécurisés Concepts clefs de X.500 : les « entrées » qui ont un DN pour Distinguished Name (i.e., un identifiant) et qui sont structurées selon un DIT ou Directory Information Tree LDAP

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche En tant que protocole, LDPA définit un format de transport des données, des opérations de base comme « chercher », « comparer »… Les mécanismes de recherche sont associés à des filtres/contrôles. Exemple (les personnels de l’UPPA situés à Mont de Marsan et ayant la chaîne de caractères « anc » dans leur nom de famille) : String filterExp = "(&(!(givenName=*anc*))(uppaSite~=mont de marsan))"; NamingEnumeration ne = lc.search("ou=people",filterExp,null); // lc est de type com.sun.jndi.ldap.LdapCtx while(ne.hasMore()) System.out.println(ne.next().toString()); La classe javax.naming.directory.SearchControls est un moyen de personnalisation et d’optimisation des recherches : nombre limite d’entrées retournées, temps limite de recherche, profondeur de la recherche… LDAP, aspects étendus

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Format des données des annuaires LDIF (Lightweight Data Interchange Format) : format d’échange des gestionnaires de messagerie comme ceux intégrés dans Mozilla par exemple (voir fonctions export/import) Directory Services Markup Language (DSML) : c’est une définition de schéma XML pour l’accès et la manipulation ouverts d’informations d’annuaires via des protocoles communs tels que HTTP ou SMTP DSML dispose depuis peu d’un frontal JNDI

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Machine hôte : ldap.univ-pau.fr (port par défaut : 389) avec miroir : scinfe100.univ-pau.fr Accès basé SSL : ldaps://crisv1.univ-pau.fr:636 (nécessité de certificat) Exemple de DN : uid=barbier,ou=people,dc=univ- pau,dc=fr Package Java spécifique : javax.naming.directory Serveur LDAP : un exemple

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche DIT de ldap://ldap.univ-pau.fr

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Toutes les entrées LDAP sont typées (à ne pas confondre avec les types Java des objets nommés lorsqu’ils sont manipulés « programmatiquement ») : Le type d’un objet (eduPerson par exemple qui un type LDAP) précise formellement les attributs obligatoires et optionnels qui peuvent être associés à une entrée donnée (e.g., uid=barbier,ou=people,dc=univ- pau,dc=fr) ayant ce type Typage des données LDAP

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Schéma retenu pour ldap://ldap.univ-pau.fr

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche LDAP : propriétés de type Structural. Indicates the attributes that the entry may have and where each entry may occur in the DIT Auxiliary. Indicates the attributes that the entry may have Abstract. Indicates a "partial" specification in the object class hierarchy; only structural and auxiliary subclasses may appear as entries in the directory

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche Schema Class Definition pour ldap://ldap.univ-pau.fr

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche LDAP 3.0 API étendue dans le package javax.naming.ldap Factory : com.sun.jndi.ldap.LdapCtxFactory (idem LDAP standard) Concepts d’« opération étendue », de « contrôle » et de « notification non sollicitée » Instrumentation via l’interface javax.naming.ldap.Control par exemple pour la notion de contrôle Exemple d’opération étendue : « recherche avec tri »

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche DNS Factory : com.sun.jndi.dns.DnsContextFactory DIT du DNS

JNDI, dernière mise à jour : vendredi 29 septembre 2006 © - groupe de recherche JNDI et CORBA Le service de nommage de CORBA ou CosNaming est natif dans la plate-forme J2SE. Le package clef est org.omg.CosNaming La mise en œuvre via JNDI est possible grâce à la Factory suivante (également native) : com.sun.jndi.cosnaming.CNCtxFactory L’implémentation de l’interface javax.naming.Context est com.sun.jndi.cosnaming.CNCtx Exemple : _p = new java.util.Properties(); _p.setProperty(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.cosnaming.CNCtxFactory"); _p.setProperty(Context.PROVIDER_URL,"iiop://localhost:1170"); _ic = new InitialContext(_p);