Support de notre séminaire du 08/10/2009.
- Présentation technique de la notion de portail, portlet JSR168, JSR286
- Présentation du marché
- Zoom sur les principaux acteurs Open Source du monde du portail JEE
3. Avant de démarrer
• 2 questions :
– Qui utilise un Portail d'Entreprise ?
– Qui a déjà (va) déployé un Portail d'Entreprise ?
• 3 mots clés pour ce séminaire :
– « Echange »
– « Transparence »
– « Terrain »
5. Focus offre Portail & CMS
Equipe dédiée
– Portails : applicatif / collaboratif / intégration
– CMS / Workflows / GED
– Intégration graphique
– Support niv 1
Intervention sur le cycle projet complet
– Conseil
– Prototypage
– Paramétrage
– Développement spécifiques
– TMA & Support
Maitrise des principales offres Portail / CMS :
– JSR 168, 170, 286
– Portails : BEA, IBM, Liferay, Exo, JBoss
– CMS : Vignette, Infoglue, Noheto
– GED : Documentum, Alfresco
6. Plan du chapitre
• Etat du marché portail Open Source • Principales offres open source
• Définition du portail • Panorama des offres
• Convergence des outils et éditeur • Le portail CMS Jahia
• L’eco-système open-source • JBoss, Exo et le futur GateIn
• Le rôle des normalisations • Le leader Liferay
• Terminologie du monde portail • Quelques cas d’utilisation
– Notion de portail et de portlets • Intranet usine à sites
– Spécifications portlet JSR 168 / 286 • Bureau virtuel
– Interopérabilité WRSP • Site Internet de mutualisation
– Repository documentaire (JCR)
Questions ?
7. Etat du marché
des portails open source
Définition du portail
Convergence
Eco système open-source
Rôle des normalisations
8. Définition du portail
• Le terme de « portail » apparait au milieu des années 90
– Utilisé pour designer des solutions diversifiées
• De AOL à Alfresco...
• Définition simple :
– Proposer un point d'accès unique pour les informations,
les données, les applications et les processus
• Définition élaborée :
– Bureau virtuel, adaptatif, personnalisé,
proposant un accès unifié à diverses
sources d'information et de services,
permettant d'interagir avec d'autres personnes,
applications ou contenus pertinents et
intégrant des activités administratives ou métier
• Quand a t-on besoin d'un portail ?
– Point unique d'authentification
– Besoin de profilage et/ou de personnalisation
– Agrégation de contenus et/ou de services collaboratifs, métier ou administratifs
10. Mode de fonctionnement de l'open source
• Dans l'open source, des modes de fonctionnement et des
licences à considérer
– Communautaire ou éditeur
• « Open source » n'est pas « Free source »
– Licence + ou - contraignante
• Trois grandes catégories selon leur degré de permissivité
– Licences autorisant à basculer en closed source à tout moment
– BSD License,
– MIT License,
– X.Net License,
– Licences obligeant à garder le code en open source
en cas de modification, mais autorisant la combinaison
avec du code source « fermé »
– MPL (Mozilla Public License),
– LGPL (GNU Lesser Generak Public License).
– Licences n'autorisant aucune concession par rapport
au caractère open source ou a la combinaison avec
du code source « fermé »
– GPL (GNU General Public License).
11. Que doit-on attendre d’un portail ?
• Attentes « utilisateur » relatives à une solution de portail
– Facilité et agilité de déploiement
– Catalogue de portlets « out of the box »
– Bonne expérience utilisateur
– Outils d’administration fonctionnelle efficaces et ergonomiques
– Dynamisme de l’éditeur et/ou de la communauté
• Attentes « techniques » relatives à un portail
– Neutralité par rapport aux choix pré-existants
– Flexibilité du mécanisme de login
– Conformité aux standards du marché
– Facilité d’intégration de nouveaux composants
– Extensibilité du moteur de portail
– Scalabilité et bon support à la charge
• Attentes « métier »
– Fonction du contexte de l'entreprise ou du projet
12. Influence des normalisations
• Le mouvement open source autour du portail a
bénéficier des initiatives de normalisation
– JSR 168 / 286 :
• Normalisation autour de la notion de portlet
• Objectif de portabilité des développements
entre moteurs de portail
– WRSP 1.0 / 2.0 :
• Intégration de fragment HTML distant par utilisation de web services
• Indépendance vis à vis de la plate-forme technologique
– JSR 170 / 283 :
• Stockage des données, associées à leur
méta-données
• Intermédiaire entre BD et filesystem
• Rayonnement au delà du monde Java
13. Terminologie du portail Java
Portail et portlets
Spécifications portlets
Interopérabilité WSRP
Repository documentaire
14. Terminologie lié au portail Java
• Un portail est une Application Web fournissant :
– Un point d’identification unique, Application 1 Application Application
2 3
– Des mécanismes de personnalisation,
Portlet
Portlet
Portlet
– La possibilité d’héberger des
composants applicatifs
(nommés portlets dans le vocable Java),
Conteneurs de portlets
– La possibilité d’agréger des contenus
Moteur de portail
provenant de différents sources,
– Des mécanismes de profiling de l’utilisateur Serveur J2EE
• Une portlet est un composant qui : Bases de données
– Est une application informatique qui s'exécute côté serveur et que l'on peut
placer dans un portail,
– Ne peut « vivre » qu’au sein d’un portail
15. Architecture d'un portail JavaEE
• Architecture multi-couches partiellement normalisée
Connecteur GED I/F Workflow
Moteur de règles
portlets
portlets
portlets
Solution GED
Workflow
Conteneur de portlets
Moteur de portail
Frameworks
Middleware Annuaire
Serveur J2EE LDAP
Bases de données
16. Ce que définissent les JSR 168 / 286
• Objectif de la JSR 168
– Asurer la portabilité des portlets entre portails
– Une portlet prend la forme d'une application web
Spécifique Normalisé (JSR 168/JSR 286)
• Principes de départ de la JSR 286
PortletRequest
– Compatibilité ascendante avec la JSR 168 HttpRequest
PortletResponse
– Compléter les manques de la JSR 168
HttpResponse
– Mise en cohérence avec WSRP 2.0
• Principales nouveautés attendues
– Introduction d'un modèle événementiel
– Partage de paramètres de rendu entre
portlets
– Possibilité de servir une ressource
non HTML dans le contexte portlet
– Mécanisme de cache avancé
17. Le standard WSRP
• WSRP définit, pour un portail consommateur, un moyen de
consommer des portlets distantes
• Standard supporté par de nombreux éditeurs
– Ont participé à la spécification :
• BEA, Citrix, Epicentric, Fujitsu, IBM, Moravia, Netigrity, Oracle, Plumtree,
Sun, Tibco, SAP, Webcollage, Vignette, …
– Présent dans de nombreuses solutions open source
• Liferay, eXo, uPortal, JBoss Portal, …
– S’appuie sur SOAP / WSDL / UDDI
• Standard complémentaire à la JSR 168 / 286
• Mise en oeuvre cependant encore peu répandue…
Consommateur WSRP Producteur WSRP
WSRP Service
Portal WSRP Service
WSRP Service
HTML, WML, VoiceXML agrégé
Fragments de balisage
Transferrés via SOAP
18. Java Content Repository
• Objectif de la JSR 170
– Standardiser les mécanismes de stockage et de requêtage des contenus
– Abstraire le média de stockage de l'implémentation
• Contexte d'utilisation pour des contenus
– Non structurés
– Avec méta-données
– Versionnés
– Accédés majoritairement en lecture
• Nouveautés de la JSR 283
– 100% compatible avec la JSR 170
– Non limité à Java
– Nouveau langage de requêtage
– Possibilité de gérer des ACL
– Gestion des graphes (parentés multiples)
– ...
19. Principales offres open source
Panorama des offres
Le portail CMS Jahia
L’offre eXo / Jboss (inGate)
Le portail Liferay
20. Document confidentiel - Ce document est la propriété exclusive d’Ippon Technologies et il ne peut être reproduit, publié ou divulgué sans son autorisation préalable
Publication Web
Gestion documentaire
Effectifs par agence
Syndication
Infrastructure
Panorame des offres et typologie des Produits
21
21.
22. Le portail CMS Jahia
• Le Portail Jahia a été profondément remanié avec la version 6
– Portail Web JEE (JSR 168/286, JSR 170)
– Gestion de contenus Web
• Interface utilisateur construite sur la technologie web2.0 Ajax
• “In-Line Editing”
• Support de Google Analytics
• Barre d’outils personnalisable
• Amélioration des fonctionnalités de Workflow
• Amélioration des Templates (notion d'héritage)
– Gestion de Documentaire :
• Nouvelle version du module de gestion documentaire (Ajax)
• Moteur de règles intégré d’automatisation de traitement de documents
• Fonctionnalité de traitement d’images
• Compatibilité JSR 170 par intégration de Jackrabbit
– Intégration poussée de la technologie GWT
• Fiche d'identité
– Créé en 2002, avec un mode de licence inchangé
– 90 personnes
– Présence en en Suisse
– Filiales en France, Allemagne, USA et Autriche
23. JBoss Portal
• JBoss Portal complète la stack d'intégration JBoss en terme
d'intégration
– Portail Web JEE (JSR 168/286, WSRP, JSR 170)
– S'appuie sur les autres projets JBoss
• JBoss SX, JBoss Cache, Hibernate, JBPM,
JBoss Web Services
– Focalisation sur l'aspect composant d'infrastructure
• Agrégation des contenus
• Performance et scalabilité
• Sécurité centralisée
– Framework de présentation
• JSR 301: portlet bridge JSF
• Bridge PHP
• Intégration widget Netvibes ou google
• Communauté d'utilisateurs
– « Aura » lié à JBoss
– 10 000 téléchargements par mois
24. La plate-fome eXo
• Exo Portal
– Support JSR 168/286
– Repository JSR 170 « maison »
– Orientation Ajax / Web 2.0
• Au delà d'un portail, eXo Platform propose un ensemble de modules très abouti :
– eXo Collaboration Suite
• Mail, calendrier carnet d'adresses
– eXo Knowledge Suite
• Forum et gestion de FAQ
– eXo ECM Suite
• DMS : gestion documentaire
• WCM : gestion de contenus Web
• WF : Editeur de workflow
• Fiche d'identité de la société
– Créé en 2003
– Environ 100 personnes
• France, Tunisie, Ukraine et Vietnam
25. La fusion JBoss Portal / eXo → GateIn
• Le 10 juin 2009, eXo et JBoss annonçait leur rapprochement
– Naissance du projet GateIn
– Zone de responsabilités :
• Exo pour les aspects UI et applicatifs
• JBoss pour l'infrastructure portail
– Exo calendar et knowledge Management
hors du périmètre du rapprochement
• Ce qui change...
– Première version beta disponible
– Passage en licence LGPL
– Fonctionne sur JBoss AS ou Tomcat
26. Le Portail Liferay
• Le Portail Liferay est Leader des solutions de Portail Open
Source utilisant les dernières technologies Java et Web 2.0
• Portail Web JEE (JSR 168/286, WSRP, JSR 170)
• Centralisation des informations partage des ressources
et collaboration.
• Social networking
• CMS
• Intégration
• Fiche d'identité de la société
• Créé en 2000, OSS depuis 2002
• 90 personnes
• Présence sur les 3 continents
• Capital en propre
• Importance de la communauté
• 90 000 téléchargements / mois
• + de 500 contributeurs
• + de 8 000 membres
• + de 1000 clients
27
27. Quelques Fonctionnalités Liferay
Portlets « Out Of the Box » Drag & Drop dynamique
60 portlets disponibles et Possibilité de déplacer les éléments dans le portail
packagées très facilement
SSO (Single Sign On) Single Click
Agrégation des contenus et accès via une Possibilité de modifier les paramètres, le look &
authentification unique feel…, très facilement en quelques clicks
Communautés et Organisations
SOA
Gestion Intuitive des communautés et des
Permet l’intégration forte d’applications
organisations, affinage très facile
tierces
Moteur de recherche, Tags
Paramétrage très fin du moteur de recherche,
Multilinguisme permets l’accès rapide à, l’information.
22 langages supportés « Out of the Box
» - changement en un seul click
Personnalisation
Potentiel de personnalisation forte en fonction des
utilisateurs
Gestion des droits et Autorisations
workflow de gestion des droits et
habilitations très flexible
Upload de documents
28
28. Points forts de Liferay
• Un Portail « Open Source » de référence
• Seul portail Open Source cité par le Gartner Group
• Outil packagé avec l’ensemble des fonctionnalités
de gestion de contenu et des composants de
collaboration sans coûts de licence.
• Licence MIT ou Enterprise au choix
• Licence la plus ouverte permettant aux entreprises,
aux éditeurs ou aux intégrateurs de modifier et/ou
de distribuer le portail sans frais de licence ou choix
d’un support de l’éditeur garanti sur 4 ans.
• Une interface utilisateurs moderne et facile à utiliser
• Utilisation des principes Web 2.0
• Intégration des meilleures pratiques de conception
d’interfaces utilisateurs permettant d’allier puissance
des concepts et facilité d’utilisation.
• Utilisabilité et ROI immédiats
• Facilité de déploiement et d’utilisation
• Plus de 60 portlets disponibles immédiatement,
utilisable en l’état ou modifiable par surcharge
• Panoplie complète d’outils collaboratifs (Forum,
blog, wiki,..). 29
30. Intranet « usines à sites »
• Contexte Maison mère
– Des Intranets multiples organisés Filiale A Filiale B Filiale C
par branches métier ou par filiales
Division A.2
– Des difficultés d'administration et Division A.1
d'animation de ces ressources Pro
j et
2
– Pas d'outils collaboratifs, de référentiel Projet 1
de procédures ou de bases de connaissances
• Objectifs
– Améliorer la communication de niveau société ou groupe
– Proposer une solution ergonomique
• Orientation Web 2.0
– Rendre plus efficace le travail collaboratif et la recherche d'informations
• Outils collaboratifs (Forum, Wiki, Chat)
• Moteur de recherche global
• Réseau social d'entreprise
– Réduire les coûts de mise en place d'un nouveau site
31. Les enjeux d'un portail « collaboratif »
• Qu'est-ce que le travail collaboratif ?
– Exemple type de travail collaboratif : Wikipedia
– Il se caractérise par :
• Des tâches réalisées en parallèle (pas d'inter-dépendances),
• Des prises d'initiatives individuelles
• Des retours d'informations permanents sur les autres travaux
• Les enjeux pour le portail
– Le portail apporte une boîte à outils « on demand »
• Les applications sont immédiatement disponibles
• Chaque espace peut être construit « en kit »
– L'enjeu humain : faciliter les contributions
• En définissant des espaces et travail de taille limitée (peu d'intermédiaires)
• En insistant sur l'ergonomie et la formation quand c'est nécessaire
– L'enjeu technique : globaliser l'information
• En définissant la portée des contenus (privés, publics, ...)
• En agrégeant les espaces de travail (recherche globale, navigation transverse,
utilisation de tags)
32. La démarche de déploiement
• Analyse préalable de l'existant
– Les processus fonctionnels et les environnements techniques
– Diversité forte => la normalisation d'emblée n'est pas envisageable
• Démarche progressive
– Mener un projet pilote
• Choisir un petit nombre d'entités motivées et représentatives des principales
problématiques (exemple : 1 filiale, 1 direction technique, 1 équipe projet)
• Impliquer fortement ces équipes dans le processus d'élaboration
– Normaliser le socle en définissant
• Les profils et processus (contribution, validation, administration),
• L'identité graphique et les customisations possibles,
• Le socle technique (référentiel utilisateur, intégration d'applications tierces)
– Généraliser le déploiement
• S'appuyer sur le projet pilote pour éveiller l'intérêt
• Traiter d'abord les cas simples pour atteindre une « masse critique »
• Profiter du saut technologique et ergonomique pour vaincre la résistance au
changement
33. Mise en place d'un bureau virtuel
• Contexte et objectifs
– Simplifier l'accès aux applicatifs et aux données pour les collaborateurs
– Centraliser la gestion des droits
– Fournir des indicateurs
• Concrètement, on retrouve l'intégration d'outils du type :
– Agenda (partagé, d'agences, ..)
– Messagerie
– Annuaire
– Indicateurs ciblés
– Liste de tâches
– Collaboratif (wiki, bibliothèque, chat)
– Accès aux applications métier
• Caractéristiques principales
– Accès universel : non limité au poste de travail
– Sécurité : plus d'information stockée localement
– Ouverture : Ajout d'applicatifs sans toucher au poste local
– Ergonomie : utilisation intuitive sans phase d'apprentissage pour l'utilisateur
34. La problématique du SSO
• Intégration applicative de solutions hétérogène
Messagerie, Sametime, QuickR,
Environnement Domino
TeamRoom, appli métier ..
Environnement J2EE Solutions éditeur, appli métier, ..
Portail
Environnement Sharepoint Intranets
Bureau
Appli métier, ..
Environnement .Net
Autres environnements… Progiciel, Mainframe, …
• Nécessité de mise en place d'un SSO
– Utilisation d'un serveur CAS
3 service
1
4
Navigateur Portail 2
client Annuaire
(mandataire CAS) LDAP
Serveur CAS
– La problématique de mise en place d'un SSO « serveur » impacte
nécessairement le service appelé
– D'autres stratégies peuvent être utilisées conjointement (NTLM, token LTPA, ...)
35. La problématique de l'intégration
• Solution d'intégration au niveau de l'affichage
– Intégration par la présentation
• Portlet de type IFrame
• Portlet de type Web Proxy
• Utilisation de WSRP
– Intégration par solution Editeur
• Portlet Lotus Notes
• Portlet 3270
• …
– Intégration par échange de flux XML
• Portlet de traitement XSL
• Moteur de workflow et ESB
– Développement de portlets spécifique
• Mécanisme souvent le plus efficace
• Garantie de la normalisation JSR 128/286
36. Mutualisation de sites Web
• Cas d'utilisation
Logo Bandeau
– Société offrant plusieurs composantes métier
• Banque, crédit, immobilier par exemple Menu
• Sans synergie véritable entre métier Offre Comp 1 Comp 3
– Structuration régionale bancaire
• Informatique segmentée et non homogène
Comp 2
• Base de contacts éparpillées et inefficaces
– Présence sur le Web déficiente ou non optimisée Annonces
• Sites peu homogènes avec des trafic faibles immobilières
• Administration des contenus problématiques Offre de crédit
• Coûts d'hébergement dupliqués
• Action de référencement inefficace
• Attentes concernant la solution cible Ventes croisées
– Possibilité d’administration du contenu
d’exigences
Niveaux
– Création d’espaces par profil
Personnalisation
– Proposition d’offres croisées
Gestion de contenu
37. Conséquence sur l'informatique et les processus
• La plate-forme web doit mettre à profit la rationalisation
de l’informatique société
– Choix d’un outil Back Office unique par métier
• Unification de l'informatique et des pratiques Prescripteurs
Internautes
– Mise en place d’un annuaire société Sécurité Plate-forme de mutualisation Gestion
contenu
• Référentiel utilisateurs
– Construction d’une base clients
/ prospects nationale Base Clients/Prospects
• Mise en correspondance des identifiants Nationale
des silos métier Projet Connecteurs techniques
SESAME
•
• Objectifs d'augmentation des
synergies Annuaire Crédit Assurance Banque Immobilier
– Référencement mutuel des offres
– Partage de services (exemple « calculette de crédit »)
– Consolidation des dossiers clients et prospects
38. Mettre en place une approche progressive
• Le premier périmètre doit être un « quick-win »
– Réalisation rapide (moins de 6 mois)
– Acceptation par tous les utilisateurs Internautes Prescripteurs
Gestion
Sécurité Plate-forme de mutualisation contenu
Chantier stratégie Internet Projet
SESAME
Annuaire Architecture étape 1
Chantier Plate-forme de mutualisation des sites Internet
Février 2009 Eté 2009 Fin 2009
Etape 1 Gestion de contenu Internautes Prescripteurs
Gestion
Sécurité Plate-forme de mutualisation contenu
Synergies groupe
Etape 2
Base Clients/Prospects Nationale
Etape 3 Projet
SESAME
Connecteurs techniques
Ventes croisées
Annuaire Crédit Assurance Banque Immobilier
• Condition du succès : Architecture étape 3
– Etape 1 : Basculement de toutes les Internet sur la même plate-forme
– Etape 2 : Mise en place de synergies de communications ou de ventes entre
branches métier
– Etape 3 : Mise en place d'offres croisées entre branches métier