MÉMOIRE en vue d'obtenir le DIPLÔME D'INGÉNIEUR C.N.A.M. en INFORMATIQUE Infrastructure logicielle de portail : Mise en œuvre d une solution complète. Philippe BEUTIN
Infrastructure logicielle de portail : mise en œuvre d une solution complète Les offres Plan Le portail de métrologie
L étude Découvrir la technologie de portail, Sun en particulier et son positionnement par rapport aux autres solutions Dans le cadre du projet Encora Partenariat CICG SUN Microsystems France Les atermoiements, les choix politiques L annuaire référentiel Agalan (Triode Process ) Champ d expérimentation Périmètre et outils maîtrisés Métrologie et supervision réseau 3
Infrastructure logicielle de portail : mise en œuvre d une solution complète Les offres Plan Le portail de métrologie
Historique Approche utilisateur 1996 : MyYahoo! Le précurseur Google, Yahoo, Altavista, les «meneurs» Approche entreprise Fédérer, syndiquer, partager les contenus Demande déjà rencontrée avec les réseaux, la multiplicité des postes et le manque de collaboratif 5
Évolution du modèle client/serveur 1 ère génération 2 ème génération 3 ème génération Client Portail Serveur de portail Serveur d intégration Serveur d applications Serveur de données 6
Définition «Le terme portail est notre pire ennemi dans la compréhension de ce qu est un portail» * les portails sont une évolution et non une révolution Infrastructure logicielle qui fournit un ensemble de services à l utilisateur sur une interface adaptée à son mode de connexion * Richard HACKATHORN. Portals are more than a convenience. Août 2001. 7
Missions des portails Vocations Types Portail B2C Portail B2B Portail B2E Internet Extranet Intranet Fournisseurs Clients Complexité d intégration Portail d intégration (EAI) Portail gestion connaissance Portail décisionnel Portail documentaire Portail transactionnel Portail collaboratif Partenaires Portail généraliste Portail communautaire Complexité des outils collaboratifs Employés 8
Architecture de services d un portail Présentation Personnalisation Internationalisation Composants du portail Authentification SSO Sécurité Outils collaboratifs & de communication Discussions, conférence, forum, calendrier, mail, messagerie instantanée Moteur de recherche Gestion de documentations Intégration d applicatifs Intégration des contenus API - SPI - Portlets Dictionnaire de données Services Web Partage d identité Gestion de contenus 9
Les Environnements Numériques de Travail (ENT) Exemples de briques du SI Web mail Back Office Personnalisation LMS Gestion documentaire Moteur de recherche (6) PDA Bureau numérique Gestion de scolarité Interface applicative (5) Cœur ENT (2) Présentation (3) (4) Navigateur Web Téléphone mobile Brique n du SI Ressources externes SSO Autorisation Authentification (1) Annuaire LDAP Services de publication Gestion de work-flow Services de contribution Navigateur Web GESTION DE CONTENU (CMS) Schéma directeur des espaces numériques de travail, Ministère de la jeunesse, de l éducation nationale et de la recherche. 10
Fonctionnement d un portail Client (déjà authentifié) Serveur Web Serveur d application s Serveur de portail Serveur d intégration Applicatifs externes Requête HTTP Demande page (Utilisateur) Récupération profil Obtention des contenus applicatifs auprès des sources externes. Pages JSP, ASP Transfert HTTP Pages HTML Exécution scripts 11
Les Portlets De la contraction Portal servlet : application serveur dédiée aux portails Plus simplement, élément d un portail Exemples : portlet messagerie, agenda, xml ou de services web Standard JSR-168 décrit les portlets java Web Parts est l équivalent chez Microsoft 12
Les Services Web XML-RPC XML et HTTP Complet mais complexe SOAP XML et HTTP Plus simple WSDL XML Description du service WSRP Accès au service Modèle des portlets UDDI Annuaire Exemple d invocation d un service Web : conversion de devises en euro (HTTP) 1 : où est le service de conversion? 2 : retour de l adresse de l interface 3 : comment est l interface? 4 : description de l interface 5 : invocation du service (valeur=340, devise=ff) 6 : résultat de la conversion (51,83 ) 1 (SOAP) 2 3 (WSDL) 4 5 (WSRP) 6 Annuaire UDDI Interface du service TauxChange Service Web TauxChange 13
L authentification unique Navigateur Application + module Agent SSO Application d authentification Serveur d authentification Base d authentification Requête Redirection Demande d authentification Sollicite la méthode d authentification Retour de l authentification Envoi du jeton Vérification Redirection Demande d habilitation Requête Jeton de session Utilisation de l application «backend» 14
: conclusions Un portail est plus qu une technologie! Une vision centrée utilisateur Problématique des rôles 15
Infrastructure logicielle de portail : mise en œuvre d une solution complète Les offres Plan Le portail de métrologie
Pourquoi un portail au CICG Maîtriser une technologie encore mal connue Améliorer et syndiquer les outils de métrologie et de supervision Rendre la métrologie accessible à de nouveaux acteurs Sécuriser l accès aux applications 17
Métrologie et supervision réseau Les outils de métrologie et supervision Big Brother : surveillance des serveurs et des applicatifs MRTG : surveillance des équipements actifs du réseau NetMet : métrologie entrante et sortante par organisme NetSec : métrologie orientée sécurité OTRS : gestion de tickets d incidents 18
Les bénéfices attendus Accès unique sécurisé Souplesse d utilisation Placer l utilisateur au centre du dispositif Personnalisation Administration par les rôles Pertinence de l information Moteur de recherche sur toute l information, structurée et non structurée Une base de connaissances congruente 19
Analyse des besoins Qui? Lien Triode Process / Portail, gestion par rôles Quoi? Outils de métrologie, gestion de documentations, services collaboratifs Où? Applicatifs de métrologie internes au CICG Qui fait quoi? Délégation de l administration pour chaque ressource Sur quoi? Sun Java Enterprise System Comment? Intranet, Extranet 20
Problématique d accès Activation salles Intranet Documents Tickets OTRS Métrologie 21
Matrice des rôles Applications Ressources NetMet NetSec Tickets Nomadisme Familles d'utilisateurs MRTG Tigre Campus Viallet BB OTRS Astreintes Portillon utilisateurs Salles Anonyme - - - - - - - - IMAG C C* C* C* - C* - - C - INPG C C* C* C* - C* - - C - Partenaire interne US C C* C* - - C* - - C - UJF C C* C* C* - C* - - C - UPMF C C* C* C* - C* - - C - Cemagref - C* C* - - C* - - - - CNED - C* - - - C* - - - - CNRS C C* C* - - C* - - - - Partenaire externe E.I.E. - C* - - - C* - - - - INRA - C* C* - - C* - - - - INRIA C C* - - - C* - - - - IRAM - - C* - - C* - - - - IUFM C C* - - - C* - - - - SRES A A A A A A A A A C Départements du CICG DIG C C C C - C - - C C Logistique Logiciel - - - - - C* - - C C Admin. - - - - - C* - - C A C = consultation, A = administration, * = accès limité à la section concernant l utilisateur 22
: conclusions Objectifs : Déléguer l administration Affiner les droits Assurer la sécurité Le portail est défini, reste à choisir la technologie Champ d expérimentation adapté 23
Infrastructure logicielle de portail : mise en œuvre d une solution complète Les offres Plan Le portail de métrologie
Les offres commerciales et «libres» commerciale Oracle Application Server Microsoft SharePoint Portal Sun Java Enterprise System BEA WebLogic Portal Kosmos K-Sup IBM WebSphere «Open Source» exo Red Hat Portal Server uportal ESUP Zope Spip La solution retenue : Sun Java Enterprise System (Java ES) 25
Architecture type Éléments comparés Le Framework : langage de l outil (Java ou.net) Le serveur web : gère les accès clients Serveur Web Serveur d applications Le serveur d applications : exécute les processus serveurs Le serveur de portail : gère les droits, les services, les outils collaboratifs Le gestionnaire de contenu : permet la mise en ligne de contenus Le serveur d intégration : gère l intégration d applicatifs tiers dans le portail Le dictionnaire de données : assure la persistance de données propres au portail Serveur de portail, d identité, outils collaboratifs ou de bureau virtuel Gestionnaire de contenus Framework Serveur d intégration Dictionnaire de données 26
Comparatif détaillé de quelques solutions Framework J2EE.NET J2EE J2EE J2EE Serveur Web Serveur d applications Oracle Web Server Oracle Application Server Microsoft Internet Information Service SUN Java ES Web Server SUN Java ES Application Server Apache Tomcat Apache Tomcat Serveur de portail Oracle AS Portal Server Ms. Share Point Portal Server SUN Java ES Portal Server uportal ESup Gestionnaire de contenus Oracle Content. Management Ms. Content Management Server FatWire Spark K-Sup / K-Portal Injac Serveur d intégration Oracle AS Integration Server BizTalk ou Content Integration Server SUN Java ES Integration Server Dictionnaire de données Oracle Database LDAP Microsoft SQL Server SUN Java ES Directory Server MySql MySql, Oracle ou SQL Server Élément imposé Élément fortement préconisé Élément pouvant être remplacé par un autre produit Sans indication : inhérent à la solution 27
La solution de Sun : Java Enterprise System Composé de : Un serveur d applications certifié J2EE Un serveur de portail Un annuaire LDAP Un gestionnaire d'identités, clé de voûte du système Une vision centrée sur l utilisateur Services délivrés à l utilisateur Gestion par services Serveur Web Serveur de portail Annuaire LDAP Framework : J2EE Serveur d applications Serveur d identité Permet de construire «simplement» des portails personnalisables, Niveau de personnalisation très élevé Imbrication des portlets (containers et channels) à l infini. 28
Sun Java ES : architecture de portail Services applicatifs Intégration Outils Collaboratifs Secure Remote Access Messaging Server Portal Server Instant Messaging Server Calendar Server Services intermédiaires (middleware) Sécurité et politiques Fonctionnement Persistance Web Server Identity Server Directory Server Application Server Sun Cluster Système d exploitation et réseau 29
Sun Java ES - Identity Server C est le cœur du système Serveur Web Serveur d applications Gestion par services Portal Desktop, messagerie, authentification Configuration par héritage et niveau de priorité Délégation Structure organisationnelle Organisations Utilisateurs Rôles Services Politiques Organisation grenet.fr Serveur de portail Annuaire LDAP Framework : J2EE Utilisateurs Rôles Services Politiques Serveur d identité Outil d administration Gestion des droits, des ressources Avec la console etc. Sous organisation cicg etc. Politiques Services Rôles Utilisateurs Identity Server a été renommé Access Manager en sept. 2004 30
Sun Java ES - Portal Server Un ensemble de services administrés par Identity Server Bureau de portail (portal desktop) Serveur Web Serveur de portail Annuaire LDAP Serveur d applications Serveur d identité Portlets conteneurs (containers) et canaux (channels) construisent le portail Par étapes successives selon des priorités Les rôles amendent cette génération Les politiques limitent les conditions d accès aux services Gère le multilinguisme et la personnalisation Par un système de recherche dans des répertoires Par un héritage fort Framework : J2EE 31
Génération d un bureau de portail Configuration globale des services Portal Desktop Global profile XML Fusion selon priorités pour générer le le portail Organisations Services Portal Desktop Portal Desktop profile + apps Rôles Portal Portal Desktop Portal Desktop Desktop Role profile Role profile Role profile Utilisateurs Portal Desktop User profile 32
Portlets d un bureau de portail Onglet CICG Menu Page d accueil (avec onglets) Onglet Général Calendrier JSPTabContainer Provider JSPTableContainer Provider JSPTableContainer Provider Calendar Provider Favoris Intranet du CICG XML Provider URLScraper Provider Bookmark Provider JSP Provider 33
: conclusions Abondance de solutions Plus de 100 produits Grandes disparités mais trois familles: ENT (Oracle, Sun, IBM ) Portails (Zope, ESUP ) CMS (KSup, Spip ) Sun Java Enterprise System Solution robuste et complète, professionnelle Absence d un gestionnaire de contenus (CMS) 34
Infrastructure logicielle de portail : mise en œuvre d une solution complète Les offres Plan Le portail de métrologie
Cycle de vie en spirale Conception Spécifications externes Analyse des besoins Sample Portal (printemps 2004) Portails distincts (juin 2004) Portails personnalisés (septembre 2004) m (2005) Paramétrage et développement Déploiement Tests 36
Le portail de métrologie Un accès publique (anonyme) 1 seul service : portal desktop Droits très limités Équivalent à un site dynamique (intranet/internet) Un accès authentifié Selon l organisation Accès aux services collaboratifs Selon les rôles Les rôles de métrologie ajoutent des onglets 37
Le portail de métrologie : conclusions Prise en mains de la technologie Mettre en évidence les points forts et les points faibles La solution Sun est lourde mais très puissante Familiariser avec les problèmes d architecture. Prévoir la montée en charge Demande un travail de fond Réflexion sur l ensemble du Système d Information Aborder avec plus de sérénité l intégration de logiciels futurs au CICG. 38
Infrastructure logicielle de portail : mise en œuvre d une solution complète Les offres Plan Le portail de métrologie
s et perspectives Changer le terme «portail» Réalité économique Accès homogène et contrôlé Séparer le contenu, le processus métier et l affichage Interopérabilité des systèmes Marché non stabilisé La gestion des rôles est la clef 40
s et perspectives - suite Travail réalisé Découverte de l outil, compréhension des mécanismes Configuration Ergonomie Personnalisation Compétences à avoir pour réaliser un portail Administration de portail Développement Graphisme Administration système et réseau Sécurité Intégration forte des applicatifs Point de passage obligé vers les Environnements Numériques de Travail 41
Participation personnelle Mon apport : Une «culture» Microsoft Une vision externe Mes expériences : Le monde Java, Linux La gestion de projet Le travail en équipe L administration des réseaux, la métrologie 42
Questions?
Diagramme des généralisations entre utilisateurs 44
Diagrammes de cas SCHÉMA PRINCIPAL, UTILISATEURS GÉNÉRIQUES S'authentifier Anonyme Utiliser les liens Lire Actualités et Infos du Cicg «uses» Écrire les actualités du Cicg Utilisateur Effectuer une recherche «extends» Recherche avancée «uses» Personaliser le portail Administrer le portail Lire le mot du Directeur «uses» Écrire le mot du Directeur Consulter disponibilité salles «uses» Gérer réservations de salles Utiliser ou gérer ses favoris Utilisateur authentifié Gérer sa Messagerie Faire de la Métrologie Se déconnecter Web Server 45
Service Portal Desktop : accès anonyme JSPPageAccueil JSPTableContainerProvider Connexion LoginProvider Menu XMLProvider ActualitesXML XMLProvider Universites TemplateTableContainerProvider /home/portail/cicg/actualites.xml /home/portail/cicg/actualites.xsl /home/portail/cicg/ujf_light.html /home/portail/cicg/upmf_light.html /home/portail/cicg/menu.xml /home/portail/cicg/menu.xsl IFrame : /home/portail/cicg/gu.html /home/portail/cicg/inpg_light.html /home/portail/cicg/ Stendhal_light.html UJFAgenda UPMF INPG Stendhal Savoie URLScrapperProvider /home/portail/cicg/savoie_light.html Recherche SearchProvider Applications AppProvider GU URLScrapperProvider LiensPrives BookmarkProvider LiensPublics BookmarkProvider Liens TemplateTableContainerProvider 46
La solution de Sun : Java Enterprise System Sun Java Enterprise System (Java ES) Java ES accepte les outils suivants : Outils de développement : Sun Studio, Borland, Webgain, Rational Formats de présentation : Servlets, JSP et RMI Sun, Apache, IBM Logique applicative : EJB et JMS Sun, BEA, IBM, Oracle Intégration : JDBC, JCA, CORBA Gestion des identités : Kerberos, LDAP, PKI de Sun, Novell, CA Système d exploitation : Solaris, Windows, Linux (Red Hat seul pour l instant). Dispositif client : navigateurs, J2ME, HTML, XML, XHTML, WML, SOAP Serveur Web Sun, Apache, BEA, IBM, Oracle Portal Server Secure Remote Access Calendar Server JSR-168, WebDav, WSRP Directory Server J2EE Serveur d applications Sun, BEA, IBM, Tomcat, Oracle Serveur d identités Sun Identity Server, Kerberos, Novell Instant Messaging Server Integration Server 47