Larchitecture du gestionnaire de profils Table des matières Statut de ce document Cliquez ici pour dérouler le diaporama Cliquez ici pour revenir au début.

Slides:



Advertisements
Présentations similaires
HTML la base Structure de la page Code HTML: les tags de base.
Advertisements

Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
Développement dapplications sur mobiles.NET et J2ME, C++ et Symbian WIPLIER Thomas – M2IRT2009 – 15/02/2007.
Métadonnées des publications scientifiques Acclimater Eprints Application Profile (UK) Yann Nicolas, ABES Couperin AO, 21 mai 2007.
La sécurité dans Sharepoint
ASP.NET v2 + Ajax = Atlas Pierre Lagarde DevDays 2006 Equipé aujourdhui, prêt pour demain !
« Les Mercredis du développement » Nouveau format de fichier Template Solution Présenté par Pierre Lagarde Relation Développeurs.
JOURNÉES CSIESR 31/01/2005, 01/02/2005 Architecture des socles des E.N.T. Raymond Bourges.
Département Édition - Intégration SEMINAIRE SOA Migration du canal Esup MonDossierWeb Olivier Ziller / Charlie Dubois Université Nancy 2 16 octobre 2007.
Authentification Interne Authentification de base proposée par uPortal L'identifiant et le mot de passe sont stockés dans la base de données interne du.
Agendas ESUP-Days 5 5 Février 2008.
L’architecture de l’espace de stockage
Copyright 2011 © Consortium ESUP-Portail ESUP days, Paris, 17 juin 2011 Nouveaux services dans ESUP Julien Marchal.
Copyright 2008 © Consortium ESUP-Portail ESUP-Days 9, Paris, 5 février 2010 Packaging et déploiement ESUP Version 3 Julien Marchal.
Data Management for Large-Scale Scientific Computations in High Performance Distributed Systems A. Choudhary, M. Kandemir, J. NoG. Memik, X. Shen, W. Liao,
Le Projet CoMMA: gestion dune mémoire distribuée.
Formation CCNA 07- La commutation LAN. Sommaire 1) Concepts et fonctionnement 2) Commutateurs a - Présentation b - Démarrage c - Configuration de base.
JXDVDTEK – Une DVDthèque en Java et XML
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
PhotoManager eXtreme Présentation IceCream team Besoins Étude existant Technologies Découpage des tâches Conclusion.
JPEG2000 Vincent Roudaut Master M2 ESTC CNAM
Distribution de politiques de sécurité IPsec F. BARRERE - A. BENZEKRI - G.GRASSET - R. LABORDE – Y. RAYNAUDIRIT/SIERA Université Paul Sabatier – Toulouse.
Grid France – CC In2p3 – 19/07/2001 Travaux du WP4
TP 3-4 BD21.
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
09/03/2014 EF Installations de suivi environnemental Draft data specification Version 2.0 TWG EF Facilitators: Franz Daffner, Sylvain Grellet.
Bases de données Objet singleton pour la connexion
Isabelle Franchistéguy-Couloume CREG-UPPA IUT de Bayonne - Pays Basque
DGA REI RECHERCHE EXPLORATOIRE ET INNOVATION Réseau d’ Observation Océanique Automatisé par Gliders 2007 – 2009/2010.
Journées départementales des documentalistes 23 janvier 2006
Integration serveur Data Access Layer Web Service Service1.asmx BankAccess FinanceAccess CLIENTS Business Logic Layer Finance Portfolio SOURCE DE DONNEES.
© 2010 Agence Régionale de Santé 1/13 Messagerie Instantanée Support dauto-formation utilisateur.
Point sur la migration STAR - Elyx.
JDBC: manipuler une base de données en Java IFT6800 – E 2007 Jian-Yun Nie.
Fonctionnalités avancées des VLANs
Cours Base de données relationnelles
Kit formation entreprise Salle des marchés publics e-bourgogne (V2.1) 1 ère Partie : Comment sinscrire sur e-bourgogne ? Accéder à la plate-forme e-bourgogne.
F.A.Q. Application Millenium 3 Virtual Display
My VMware Gestion simplifiée des licences produits et du support
Contrôle daccès et qualité de service dans les réseaux basés sur ATM Olivier Paul.
La VISIO-FORMATION La formation personnalisée, en toute liberté….
Baccalauréat professionnel
Enesys RS Data Extension
Injection de dépendances
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
Développement d’applications web
XML-Family Web Services Description Language W.S.D.L.
Sommaire Objectif de Peakup Principes de fonctionnement
Langages du Web Sémantique
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Le portail des MSH
Saisie de l’Offre de Formation (SOF)
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Architecture Logicielle Les supports d’applications
Gestion des bases de données
WINDOWS Les Versions Serveurs
LA COMMUNICATION INTER-API
Cours N°2 Base de Données & Langage SQL
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
ADOBE FLEX 4. © Logica All rights reservedNo. 2 Introduction Flex en action Autour de Flex Logica Le programme.
Introduction au WebMapping
1. Les structures de documentation pour la division ST. 2. Les types de document dans la division ST. 3. Linterface informatique. Lundi 8 Mai 2000 ST Quality.
CERN IT Department CH-1211 Genève 23 Switzerland t Get the most of Office 2007! Bruno Lenski, IT/OIS.
Portail CVM Vision pédagogique.
« Les Mercredis du développement » Les WebParts Présenté par Pierre Lagarde Relation Développeurs Microsoft France Level 300.
Première CTP le 4 décembre Nouvelle CTP depuis le 1 er février RTM milieu de cette année.
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
ASP.NET 2.0: Implémenter son propre Membership provider en 30 minutes Danse Didier - Metrum Most Valuable Professional ASP.NET Developpez.com.
Mise en œuvre du langage MDX
L’architecture du gestionnaire de profils
Transcription de la présentation:

Larchitecture du gestionnaire de profils Table des matières Statut de ce document Cliquez ici pour dérouler le diaporama Cliquez ici pour revenir au début Groupe 1B – version 2.5 – 12 décembre 2003

Table des matières Besoins des librairies clientes –API des librairies clientesAPI des librairies clientes Spécification des groupes Architecture logicielle –Schéma completSchéma complet Librairies clientes Architecture logicielle Versions prévues

Statut de ce document Historique – – version 2.5 Précisions sur la définition et la gestion des groupes (P. Aubry, J.-G. Avelin, R. Bourges, P. Gambarotto, J. Marchal, V. Mathieu, S. Qiang, B. Sor) – – version 2.4 Ajout des groupes collaboratifs (V. Mathieu). – – version 2.3 Intégration des remarques de R. Bourges. – – version 2.2 Adoption de la dénomination des groupes officiels/personnels. – – version 2.1 Intégration des remarques de V. Mathieu –PA : sauf le changement de groupes « partagés » en « globaux » que je préfèrerais voir discuté au sein de esup-dev. – – version 2 Intégration des discussions de JRES (J.-M. Antoine, P. Aubry, J.-G. Avelin, R. Bourges, P. Gambarotto, J. Marchal, V. Mathieu, S. Montel, B. Sor, S. Zimmermann) – – version 1 (P. Aubry) Validation du document –au plus tard le vendredi 19 décembre 2003 –La version 2.5 est la dernière avant la spécification des APIs

Besoins des librairies clientes Besoins des applications –Pour un utilisateur À quels groupes lutilisateur U appartient-il ? Lutilisateur U appartient-il au groupe G ? Lutilisateur U appartient-il à (au moins) un des groupes G1, …, Gn Que vaut lattribut A de lutilisateur U (mono et multi-valués) ? –Pour un groupe Quels utilisateurs sont membres du groupe G ? Quelle est la description du groupe G ? –Quelle est la liste des groupes (et leurs description) ? Besoins spécifiques à WebDAV –Pour un groupe ou un utilisateur À quels groupes {lutilisateur U | le groupe G} appartient-il directement ? –Pour un groupe Quels sont les membres du groupe G ?

API des librairies clientes (en Java) Nom du package : org.esup.profiling.client Les classes visibles –class Principal;// un acteur, utilisateur ou groupe –class User extends Principal;// un utilisateur –class Group extends Principal;// un groupe

API des librairies clientes (en Java) La classe Principal –ConstructionPrincipal(String pName); –Recherche des groupes dappartenance directeList Principal.getDirectMembership(); –Recherche des groupes dappartenanceList Principal.getMembership(); La classe User –ConstructionUser(String uName); –Recherche des groupes privésList User.getPrivateGroups(); –Appartenance à un ou des groupesboolean User.isFromGroup(Group g); (directe ou indirecte)boolean User.isFromGroupSet(List groups); –Recherche dattributsList User.getAttr(String AttrName); La classe Group –ConstructionGroup(String gName); –Type de groupeboolean Group.isShared(); boolean Group.isPrivate(); –Recherche des membres directsList Group.getDirectMembers(); –Recherche des utilisateurs membres (indirects)List Group.getUsers(); –Recherche de la descriptionString Group.toString(); La classe (abstraite) Profiling –VersionString Profiling.getVersion() –Recherche de tous les groupes partagésList Profiling.getSharedGroups();

Spécification des groupes de ESUP-Portail OfficielsCollaboratifsPersonnels VisibilitéTous les utilisateurs Le propriétaire du goupe seulement SpécificationRequêtes sur le SIListe dutilisateurs et/ou de groupes ModificationAucuneManuelle Mode de modification Fichier de configuration, Puis application CGI Application CGI, WebDAV Mode daccèsWeb Service, puis RMI, puis SAML

Les groupes officiels Ils sont basés sur des requêtes sur le SI –Requêtes (LDAP, SQL, fichiers, NIS, …) sur des back-ends du SI Ils sont utilisables par tous les utilisateurs Ils sont gérés par les administrateurs de lENT –Déclarés et spécifiés par les administrateurs –Leur déclaration est faite dans un premier temps directement dans le gestionnaire de profils (grâce à un fichier de configuration), puis dans un deuxième temps par une application web dédiée, point daccès privilégié à lespace de stockage, sappuyant sur le SSO Seule leur déclaration (requête(s) de construction) est modifiable (pas leur contenu)

Les groupes collaboratifs Un groupe collaboratif est une liste dutilisateurs et/ou de groupes –Les groupes membres peuvent être officiels ou collaboratifs Ils sont utilisables par tous les utilisateurs –Exactement comme les groupes officiels Ils sont gérés (créés, modifiés, supprimés) par des utilisateurs particuliers, désignés par les administrateurs de lENT –À laide dune application web dédiée, sappuyant sur le SSO –Directemen à laide du protocole WebDAV (ACP) Ils sont physiquement stockés dans un back-end, dans la pratique probablement une base de données.

Les groupes personnels Un groupe personnel est une liste dutilisateurs et/ou de groupes –Les groupes membres peuvent être personnels, collaboratifs ou officiels Ils sont personnels –Ils ne sont utilisables que par lutilisateur auquel ils appartiennent Pour positionner une ACL par exemple –Ils sont invisibles des autres utilisateurs Mais sont pris en compte sils conditionnent laccès à une ressource Ils sont gérés (créés, modifiés, supprimés) par les utilisateurs. –À laide dune application web dédiée, sappuyant sur le SSO –Directement à laide du protocole WebDAV (ACP) Ils sont physiquement stockés dans un back-end –Dans la pratique probablement une base de données ou lannuaire LDAP –Le stockage dans lannuaire LDAP permet linterrogation par les applications non intégrées à lENT, mais pouvant sappuyer sur LDAP –Note : dans la suite de ce document, les groupes personnels et collaboratifs sont stockés dans un seul back-end, accessibles seulement par les interfaces du gestionnaire de profils. Dans la pratique, les back-ends des groupes pourront être séparés, par exemple : Un annuaire LDAP (externe) pour les groupes collaboratifs Une base de données (interne) pour les groupes personnels

Architecture logicielle Clients du gestionnaire de profils –Le gestionnaire de profils (profiling service) est interrogé par des applications Java, PHP, …, dont uPortal, qui possède son propre gestionnaire de groupes intégré. profiling service uPortal group service cache PHP applicationjava application

Architecture logicielle Interrogation du gestionnaire de profils –Elle est faite à laide de librairie clientes installées dans les applications, à travers lappel dun web service. profiling service uPortal group adaptor group service cache java client library PHP application PHP client library java application java client library query (web service)

user referentials and applicative databases Architecture logicielle Groupes « officiels » –Le moteur de profils sappuie sur des connecteurs accédant à des bases de données applicatives et des référentiels utilisateurs. Les groupes « officiels » issus des requêtes à ces données sont globaux et partagés (utilisables par tous les utilisateurs de lENT). profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine NIS domain NIS connector other referential or database other connector query (web service)

user referentials and applicative databases Architecture logicielle Déclaration des groupes officiels –Pour être connus du moteur de profils, les groupes officiels doivent être déclarés dans le gestionnaire (pour que le moteur de profil sache quelles requêtes effectuer). profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine official groups NIS domain NIS connector other referential or database other connector query (web service)

user referentials and applicative databases Architecture logicielle Enregistrement des groupes officiels –Les groupes officiels sont enregistrés par une application CGI, accessible seulement aux administrateurs de lENT. profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine official groups NIS domain NIS connector other referential or database other connector official groups registration (CGI application) query (web service)

user referentials and applicative databases Architecture logicielle Groupes personnels profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine personal groups official groups NIS domain NIS connector other referential or database other connector official groups registration (CGI application) query (web service)

user referentials and applicative databases Architecture logicielle Groupes collaboratifs profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine personal & collaborative groups official groups NIS domain NIS connector other referential or database other connector official groups registration (CGI application) query (web service)

user referentials and applicative databases Architecture logicielle Gestion des groupes personnels et collaboratifs –Les utilisateurs gèrent leurs groupes personnels à travers une application CGI dédiée, qui sappuie sur le service de Single Sign-On. profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine personal & collaborative groups personal & collaborative groups management (CGI application) official groups NIS domain NIS connector other referential or database other connector official groups registration (CGI application) query (web service) SSO service

user referentials and applicative databases Architecture logicielle Cache des requêtes –Un cache permet de limiter la sollicitation des back-ends. profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups personal & collaborative groups management (CGI application) official groups NIS domain NIS connector other referential or database other connector official groups registration (CGI application) query (web service) SSO service

user referentials and applicative databases Architecture logicielle Autorité de distribution –Une autorité de distribution limite les attributs des utilisateurs qui peuvent être renvoyés aux applications. profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups personal & colaborative groups management (CGI application) official groups NIS domain NIS connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

user referentials and applicative databases Architecture logicielle Modification des référentiels utilisateurs et des bases de données applicatives –Le gestionnaire de profils ne fait quinterroger les référentiels utilisateurs et des bases de données applicatives. Ce données sont modifiées par des applications tierces, à charge des établissements. profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain NIS connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Versions prévues Version 1 (maquette) –Doit être rapidement utilisable et assez riche pour satisfaire les applications sappuyant sur la notion de groupe (uPortal). –Version 1.0 Les librairies clientes implémentent la logique applicative. Les groupes officiels sont construits uniquement sur les attributs LDAP. –Version 1.1 Les groupes officiels peuvent être construits sur les groupes LDAP. Version 2 (diffusion) –Version 2.0 La logique est déplacée dans le gestionnaire de profil, interrogeable par web service –Version 2.1 Cache des requêtes dinterrogation –Version 2.2 Introduction de nouveaux providers –Version 2.3 Remontée des attributs –Version 2.4 Ajout des groupes privés et collaboratifs –Version 2.5 Ajout de lautorité de distribution –Version 2.6 Ajout de lapplication CGI de gestion des groupes officiels Version 3 (maturation) –Conformité SAML

Version 1.0 (maquette) Fonctionnalités –Librairies clientes Ce sont elles qui implémentent toute la logique de profiling. Leur API est définitive (pourra être étendue mais pas modifiée). –Gestionnaire de profil Il nexiste pas dans cette version. –Référentiel utilisateur Le seul référentiel utilisable est lannuaire LDAP. Les groupes sont tous officiels et construits en fonction des attributs des utilisateurs dans lannuaire LDAP. Travail à réaliser –Valider lAPI –Étudier les possibilités dintégration de la librairie cliente dans uPortal –Développer la recherche de groupes sur attributs dans un annuaire LDAP Ce travail pourra être récupéré en version 2. –Note : le développement dune librairie autre que Java (PHP par ex.) ne pourra pas être récupéré dans les versions ultérieures. Remarque –Les interactions entre le gestionnaire de profils et uPortal doit être abordée de manière concrète. Julien Marchal et Jean-Guy Avelin sont chargés de regarder la faisabilité de linteraction.

Version 1.1 (maquette) Nouvelles fonctionnalités –Référentiel utilisateur Les groupes officiels sont construits non seulement sur les attributs, mais également sur les groupes LDAP. Travail à réaliser –Écrire le bout de code qui va chercher dans les groupes LDAP.

user referentials and applicative databases Version 1 (maquette) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Version 2.0 (diffusion) Nouvelles fonctionnalités –La logique de profiling est déplacée dans le gestionnaire de profils. –Le gestionnaire de profils est interrogé via un web service. Travail à réaliser –Gestionnaire de profils Récupérer la logique des librairies de la version 1. Spécifier le stockage des groupes officiels. –En version 1, les groupes officiels pourront être stockés « en dur » (fichier XML par ex.). Interfacer le moteur de profils avec les groupes officiels. Transformer en web service. –Librairies clientes Interfacer le web service.

user referentials and applicative databases Version 2.0 (diffusion) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Version 2.1 (diffusion) Nouvelles fonctionnalités –Ajout du cache des requêtes du web service. Travail à réaliser –Spécifier et écrire le cache.

user referentials and applicative databases Version 2.1 (diffusion) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Version 2.2 (diffusion) Nouvelles fonctionnalités –Ajout de nouveaux providers Par exemple des connecteurs Oracle, MySQL, NIS, … Travail à réaliser –Développer les providers.

user referentials and applicative databases Version 2.2 (diffusion) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Version 2.3 (diffusion) Nouvelles fonctionnalités –Remontée des attributs Travail à réaliser –Remonter les attributs des référentiels vers lAPI des applications

Version 2.4 (diffusion) Nouvelles fonctionnalités –Ajout des groupes personnels et collaboratifs Travail à réaliser –Spécifier le stockage des groupes personnels –Interfacer le moteur de profils avec les groupes personnels –Écrire une application CGI de gestion des groupes personnels

user referentials and applicative databases Version 2.4 (diffusion) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Version 2.5 (diffusion) Nouvelles fonctionnalités –Ajout de lautorité de distribution. Travail à réaliser –Spécifier le stockage des règles de distribution –Interfacer le moteur de profils avec les règles de distribution

user referentials and applicative databases Version 2.5 (diffusion) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Version 2.6 (diffusion) Nouvelles fonctionnalités –Ajout de lapplication CGI de gestion des groupes personnels Travail à réaliser –Développer lapplication CGI

user referentials and applicative databases Version 2.6 (diffusion) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

user referentials and applicative databases Version 3.0 (maturation) profiling service uPortal group adaptor group service cache java client library LDAP directory MySQL database Oracle database PHP application PHP client library java application java client library LDAP connector MySQL connector Oracle connector profiling engine cache personal & collaborative groups applications personal & collaborative groups management (CGI application) official groups NIS domain Oracle connector other referential or database other connector official groups registration (CGI application) query (web service) authority SSO service

Calendrier prévisionnel À compléter