Title: David Olivier CRI de Lumire
13.2 Organisationdes serveurs AGALAN
- 3.2.1 Architecture établissement
- 3.2.2 Architecture inter-établissement
- 3.2.3 Serveur RMI
23.2.1 Architecture établissement
- Cas de figure établissement implémentant
lui-même le schéma Agalan sur machines locales. - Serveur LDAP maître local.
- Serveur RMI local.
- Éventuels réplicats LDAP locaux.
3Architecture établissement
HTTP
Serveur LDAPmaître
Serveur RMI
Servlet
LDAP
LDAP
RMI
Conn. apogee
4Configuration LDAP
- Maître et réplicats - DIT Agalan- schéma
Agalan - Autorisations daccès - Maître pleins droits
au DN sous lequel opére le serveur RMI.- Maître
et/ou réplicat(s) droits en lecture seule pour
les clients LDAP directs, en fonction de la
politique de létablissement.
53.2.2 Architectureinter-établissement
- Un serveur LDAP commun au niveau de chaque plaque
régionale (Lyon, Grenoble) - Conformité de ce serveur LDAP régional aux
spécifications Agalan (structure du DIT, schéma) - Souplesse au niveau de limplémentation dans
chaque établissement serveur LDAP Agalan maître
soit local, soit régional - Condition commune il doit toujours y avoir un
serveur RMI en amont du serveur LDAP Agalan
maître (local ou régional)
6Les cas i et n
LDAP Agalan régional (iPlanet)
réplicat
réplication
- Serveur local maîtreau format Agalan
- Cas i Serveur LDAP iPlanetRéplication
standard iPlanet - Cas n Serveur LDAP OpenLDAP Réplication
OpenLDAP-iPlanet
LDAP maître
RMI
conn.
conn.
UniversitéPaladru 1
7Le cas z
LDAP Agalan régional (iPlanet)
maître
RMI
réplication
- Serveur LDAPrégional maître
- ServeurRMI régional
- Réplicat local
conn.
conn.
réplicat
UniversitéAiguebelette
8Le cas k
LDAP Agalan régional (iPlanet)
réplicat
RMI
Connecteurde normalisation
LDAPnon Agalan
- Serveur local maîtrenon Agalan
- Réplicat au format Agalan,pour visibilité
régionale
UniversitéAix-lès-bains
93.2.3 Le serveur RMI
Clients RMI
HTTP
Serveur LDAP
Serveur RMI
Servlet
LDAP
LDAP
RMI
Conn. apogee
10Rôle du serveur RMI
- Dessert un ou plusieurs serveurs LDAP et/ou
branches de DIT LDAP, un pour chaque
établissement (community). - Seul agent autorisé à écriresur la base LDAP.
- Résout les conflits daccès concurrent.
- Garantit le respect du schéma virtuel.
- Implémente la politiquedautorisation daccès.
11Implémentationdu serveur RMI
- Entièrement écrit en Java
- Nécessite Java v1.4 ou plus
- Machine Unix ou Windows Mac ?
- Pour Lyon 2 (25 000 étudiants) Sun Enterprise
280R biprocesseur (Solaris) 300 Mo RAM allouée
à la JVM
12Le serveur RMI
- Le serveur RMI est un cache des entrées LDAP de
type - personne- groupe- machine- connecteur - Il donne de ces entrées une image java
objets auxquels les clients accèdent par
invocation distante de leurs méthodes. - Cache de type write-through toute
modification est reportée immédiatement sur la
base LDAP.
13Dialogueserveur RMI - serveur LDAP
- Le serveur RMI sauthentifie auprès de la base
LDAP par un DN et mot de passe unique (pour
létablissement). - Le serveur LDAP acorde à ce DN tous les droits de
lecture et décriture/création sur les quatre
types dentrées dans la branche LDAP de
létablissement. - Ce DN et le mot de passe sont spécifiés dans le
fichier de configuration du serveur RMI.
14Dialogueserveur RMI - client RMI
- Le client opère sous lidentitédun agent.
- Pour créer un agent, le client fournit un DN et
un mot de passe, qui seront authentifiés auprès
de la base LDAP.- DN dutilisateur (gestion par
lutilisateur de son propre profil) - DN de
service - - Le serveur RMI autorise une opération par un
agent donné en fonction de sa propre politique
(et non des ACL du serveur LDAP).
15Configurationdu serveur RMI
- Fichier de configuration au format
XMLltnom-du-tag paramètres-du-taggt
contenu-du-tag lt/nom-du-taggt - Spécifie - les paramètres daccès par les
clients RMI - pour chaque établissement
desservi, - les paramètres de dialogue avec
le serveur LDAP - la politique de
létablissement concernant le schéma virtuel
et les droits daccès. - fichier de configuration des logs (Logger Java)
16Le Rmi Registry
- Mécanisme standard RMIservant au bootstrap
de laccès distant le serveur RMI met à
disposition des clients une première référence
dobjet distant. - Lobjet exporté est une instance de la classe
S_AgalanRmiServer, représentant le serveur RMI
entier. - À installer en tâche de fond sur la machine où
tourne le serveur RMI. - Lexécutable rmiregistry fait partie des packages
Java standard
17Le serveur de classes
- Met à disposition du client et du serveur RMI la
description des classes échangées (fichiers
.class). - Serveur HTTP spécifique (poids plume) tournant
sur un port quelconque, ou branche dun serveur
HTTP préexistant.
18Le kit serveur - client RMI
- Préalable Java 1.4 (ou plus)
- Contient - les package Java (fichiers .jar)
constituant le serveur- les package Java
(fichiers .jar) support aux clients- la
hiérarchie des classes (fichiers .class) pour le
serveur de classes- un serveur de classes
poids-plume (origine Sun)- des modèles de
fichiers de configuration- des clients
rudimentaires (pour le moment !)- des scripts de
lancement du serveur RMI, du rmiregistry, du
serveur de classes, des clients fournis- la
javadoc des classes de support client- LISMOI.txt
19Le package agalan.clientApi
- Facilite laccès au serveur RMI, par la
fourniture dobjets et de méthodes plus
naturelles . - Documentation complète par javadoc.
- Javadoc disponible en fouillant http//www.agala
n.org/
20Exemple de code client
- AgalanRmiServer s
- new AgalanRmiServer
- (//machineDuRmiRegistry/nomDuServeur)
- Community c s.getCommunity(uLy2)
- Agent agent c.getAgent(pdupont, bonjour)
- Person p Person.getPerson(agent, pdupont)
- String mail p.getMail()
- System.out.println(Votre adresse est mail)