@EmmanuelPavaux#DevoxxPortail2014
Pourquoi utiliser un portail en
2014
@EmmanuelPavaux
Oxiane, www.oxiane.com
Architecte, ...
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
Som
m
air
e
@EmmanuelPavaux#DevoxxPortail2014
Sommaire
•Historique
•Définition d’un portail
•Principe des portlets et des widgets
•Les...
@EmmanuelPavaux#DevoxxPortail2014
Historique – les grandes étapes
•1995-2000 : Explosion des intranets / extranets en entr...
@EmmanuelPavaux#DevoxxPortail2014
Outils ressemblant à un portail …
•CMS : vocation première est de créer du contenu
• Et ...
@EmmanuelPavaux#DevoxxPortail2014
Définition du portail
•Le portail est le point d'entrée unique et personnalisé de
l'util...
@EmmanuelPavaux#DevoxxPortail2014
Agrégation de multiples sources
Natures différentes
Fonctionnellement
application metier...
@EmmanuelPavaux#DevoxxPortail2014
Agrégation de multiples sources
Différents niveaux d’agrégation : Navigateur par mashup
...
@EmmanuelPavaux#DevoxxPortail2014
Principe des portlets
•Composant web côté serveur générant un fragment de la
page (HTML ...
@EmmanuelPavaux#DevoxxPortail2014
Normes des portlets JSR 168 /
286
•Définir une API Java Portlet standard basée sur l'API...
@EmmanuelPavaux#DevoxxPortail2014
Avantages des portlets
•Intégration plus forte avec le portail
• Style commun avec les p...
@EmmanuelPavaux#DevoxxPortail2014
Inconvénients des portlets
•Limitation des normes JSR 168 / 286
• Basé sur API servlet :...
@EmmanuelPavaux#DevoxxPortail2014
Principe des widgets
•Agrégation/exécution du côté client
(HTML, JS, AJAX) en consommant...
@EmmanuelPavaux#DevoxxPortail2014
Avantages des widgets
•Utilise des services RESTFull
• Les préférences sont stockées sur...
@EmmanuelPavaux#DevoxxPortail2014
Inconvénients des widgets
•Problème d’intégration déportée côté client
• DOM manipulés p...
@EmmanuelPavaux#DevoxxPortail2014
 Permettre la personnalisation
 Agréger les informations
 Gérer du contenu et des
doc...
@EmmanuelPavaux#DevoxxPortail2014
Les cas d’utilisation d’un portail
•Intranet standard (communication interne)
•Applicati...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché
• Pluto simple container de portlets (implementation de
référence)
...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : IBM
• Websphere Portal : offre complète avec une famille
de produ...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Oracle
• WebCenter Portal (suite logiciel WebCenter)
• WebCenter ...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Jboss /
Exo
•GateIn projet OpenSource communautaire / socle
commu...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Liferay
• Portail Open Source de référence
Magic Quadrant Gartner...
@EmmanuelPavaux#DevoxxPortail2014
Les offres du marché : Liferay
• Sécurité/habilitation : sites, organisations, …
• Intég...
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
•Le portail a dépassé les échecs passés
• Engouement...
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
• Complexe à mettre en œuvre
Problématique complexe ...
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
•Promesses du portail enfin tenu
• Convivialité : us...
@EmmanuelPavaux#DevoxxPortail2014
Pourquoi choisir un portail en
2014
•Concept d’architecture
• Brique d'infrastructure : ...
@EmmanuelPavaux#DevoxxPortail2014
Le futur du portail
•Le portail va rester l’outil d’agrégation des applications
métiers ...
@EmmanuelPavaux#DevoxxPortail2014
Le futur du portail
•Clouds : plusieurs cas d’utilisations
• Déploiement du portail
• Dé...
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
Q
&
A
@YourTwitterHandle@EmmanuelPavaux#DevoxxPortail2014
D
em
o
Liferay
@EmmanuelPavaux#DevoxxPortail2014
A 2 columns slide
•Première colonne
•un
•deux
•trois
•quatre
•Autre point important
•okd...
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
O
bjectifs
Ce que vous allez apprendre penda...
@EmmanuelPavaux#DevoxxPortail2014
static String friendlyBirthDate(Date date) {
def days = date - BIRTH
switch (days) {
cas...
@EmmanuelPavaux#DevoxxPortail2014
A code sample
Do not try to show more than 15 lines of code per slide
Remember, your aud...
blank slide
for your own
pictures
blank slide
for your own
pictures
@YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014
Sum
m
ary
@EmmanuelPavaux#DevoxxPortail2014
Pensez à utiliser des images
•Quelques sites avec des photos libres de droit :
•http://w...
@EmmanuelPavaux#DevoxxPortail2014
Use images (wisely)
•Some web sites with free HD photos :
•http://www.colourlovers.com/
...
@EmmanuelPavaux#DevoxxPortail2014
title-less
slide
title-less
slide
@EmmanuelPavaux#DevoxxPortail2014
Crédit image / Creative Commons
• Rue pavée — By-Nc-Sa
•http://www.flickr.com/photos/229...
Prochain SlideShare
Chargement dans…5
×

DevoxxFR Présentation des portails en 2014

340 vues

Publié le

Présentation de l'état de l'art du Portail en 2014 à la conférence des développeurs java, Devoxx, en France par Emmanuel Pavaux, consultant formateur Oxiane.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
340
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Manque contexte applicatif côté client => à développer pour avoir un maximum de navigation côté client, ou en déconnecté
  • OK
    Perso
    Agrégation
    CMS
    Recherche
    Admin
    Sécurité
    Habilitation
    Intégration
    Développement
    Look&Feel
    Workflow
    Collabo
    Widget
    Cycle de vie
    Bridge
    Template
    I18N
    Social
    Cloud
    WS
  • OK
    Site Builder
    Résau social pour hopitaux
  • Modularité des portlets (différentes versions dans un même portail)
    Bundle OSGi pour les services
    Widget versionné côté présentation
  • TODO
    schéma montrant l'aggrégation côté navigateur, et côté portail
    interne et externe à l'entreprise
    Agrégation de multiples sources => indifférent pour l’utilisateur
    Différents niveaux
    back-end, par agrégation de Web Service, de données, …
    Applicatif ???
    navigateur Web Mashups par l’utilisation de gadgets,
  • TODO
    schéma montrant l'aggrégation côté navigateur, et côté portail
    interne et externe à l'entreprise
    Agrégation de multiples sources => indifférent pour l’utilisateur
    Différents niveaux
    back-end, par agrégation de Web Service, de données, …
    Applicatif ???
    navigateur Web Mashups par l’utilisation de gadgets,
  • DevoxxFR Présentation des portails en 2014

    1. 1. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi utiliser un portail en 2014 @EmmanuelPavaux Oxiane, www.oxiane.com Architecte, consultant et formateur
    2. 2. @YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014 Som m air e
    3. 3. @EmmanuelPavaux#DevoxxPortail2014 Sommaire •Historique •Définition d’un portail •Principe des portlets et des widgets •Les fonctions du portail •Les cas d'utilisations •Les offres du marché •Pourquoi choisir un portail en 2014 •Le futur du portail
    4. 4. @EmmanuelPavaux#DevoxxPortail2014 Historique – les grandes étapes •1995-2000 : Explosion des intranets / extranets en entreprise •1998-2000 : Apparition puis explosion de l’offre de portails • Pure players (Plumtree, Vignette, HummingBird, …) • Editeurs d’infrastructure (IBM, BEA, MICROSOFT, …) • Editeurs métiers (SAP, Peoplesoft, …) •2001-2005 : Consolidation de l’offre • Plumtree -> BEA -> ORACLE • Epicentric -> Vignette -> Open Text •2006 : Portails web 2.0, collaboratif •2008 : Réseaux sociaux
    5. 5. @EmmanuelPavaux#DevoxxPortail2014 Outils ressemblant à un portail … •CMS : vocation première est de créer du contenu • Et non d’intégrer d’autres applications •Outil de syndication de contenus • Agrégation • Personnalisation • Fenêtres de contenus
    6. 6. @EmmanuelPavaux#DevoxxPortail2014 Définition du portail •Le portail est le point d'entrée unique et personnalisé de l'utilisateur • Pour les informations et la communication : contenus, … • Pour les applications et les services : applications B.O, • Pour la collaboration entre les utilisateurs : forum, wiki, agenda, documents partagés, … • Pour la gestion des relations : réseaux sociaux d’entreprises, …
    7. 7. @EmmanuelPavaux#DevoxxPortail2014 Agrégation de multiples sources Natures différentes Fonctionnellement application metier, application portail, collaboration, contenu, ... Techniquement portlet, widget, iframe, web clipping, …
    8. 8. @EmmanuelPavaux#DevoxxPortail2014 Agrégation de multiples sources Différents niveaux d’agrégation : Navigateur par mashup Applicatifs portails Appels backend (Web Services, …)
    9. 9. @EmmanuelPavaux#DevoxxPortail2014 Principe des portlets •Composant web côté serveur générant un fragment de la page (HTML la plupart du temps) • Conçue pour l’agrégation et la personnalisation • Agrégation des fragments dans une seule page HTML réalisée côté serveur Application Portail HttpRequest HttpResponse PortletRequest PortletResponse Portlet Portlet
    10. 10. @EmmanuelPavaux#DevoxxPortail2014 Normes des portlets JSR 168 / 286 •Définir une API Java Portlet standard basée sur l'API Servlet • Interfaces PortletXXX, gestion des URLs, modes, états, préférences, gestion d’événements, ressources non-HTML, ... •Définir un packaging : war avec portlet.xml •Permettre l'interopérabilité entre les portails • Pas de normes sur le portail : spécificités non portable • Sauf JSR 170 / 283 pour la communication avec un CMS
    11. 11. @EmmanuelPavaux#DevoxxPortail2014 Avantages des portlets •Intégration plus forte avec le portail • Style commun avec les portlets, mêmes cookies, … • Interaction avec le portail ou entre les portlets • Authentification / autorisation commun à toutes les portlets •Pour les composants les plus complexes et les plus robustes
    12. 12. @EmmanuelPavaux#DevoxxPortail2014 Inconvénients des portlets •Limitation des normes JSR 168 / 286 • Basé sur API servlet : équivalent à développer en servlet / JSP • Possibilité d’utiliser des frameworks de navigation standard basé sur des bridges : Struts, JSF (JSR-301, JSR-329), Spring MVC, GWT, … • Autres possibilités : WSRP peu utilisé, ou Iframe / Web Clipping (vite limité ou difficile à maintenir) •Particularités des portlets à connaître • Session, phases (action, …), instances, préférences, cache, ...
    13. 13. @EmmanuelPavaux#DevoxxPortail2014 Principe des widgets •Agrégation/exécution du côté client (HTML, JS, AJAX) en consommant des services distants • Connexion HTTP distinct pour chaque widget • Indépendantes de la technologie serveur • Écrite dans plusieurs langages • Propre feuille de style CSS, propres cookies, ... •Utilisable au sein d’un portail •Normes • W3C Packaging/Configuration 27 September 2011 • OpenSocial Gadget de Google destiné aux réseaux sociaux
    14. 14. @EmmanuelPavaux#DevoxxPortail2014 Avantages des widgets •Utilise des services RESTFull • Les préférences sont stockées sur côté serveur •Rapide pour développer de simples applications • Composants plus légers à base web standard •Facile à partager •Plus agile que les portlets • Ajoutés dynamiquement (mais certains portails le permettent aussi pour les portlets) • Edition en ligne du code source
    15. 15. @EmmanuelPavaux#DevoxxPortail2014 Inconvénients des widgets •Problème d’intégration déportée côté client • DOM manipulés par plusieurs widgets, … • Gestion des différents navigateurs •Fonctionnalités complexes plus difficiles à réaliser • Modification sur plusieurs pages /transactionnelles, ...) •Multiples appels du navigateur vers le(s) serveur(s) • Attention à la bande passante si de trop nombreux appels •Sécurité : code source disponible, JS malveillant, … •Problèmes avec la plupart des moteurs de recherche
    16. 16. @EmmanuelPavaux#DevoxxPortail2014  Permettre la personnalisation  Agréger les informations  Gérer du contenu et des documents  Favoriser l'accès et la recherche des informations  Intégrer les applications d'entreprise  Améliorer la collaboration des employés  Permettre l'administration fonctionnelle du portail  Gérer des communautés d'utilisateurs  Gérer les identités des utilisateurs  Gérer les habilitations des utilisateurs  Liens vers réseau sociaux Les fonctions du portail Moteur de portail Serveur d’application WORKFLOW LOOKnFEEL ADMINISTRATION CONTENEUR DE PORTLETS PORTLET PORTLET PORTLET MOTEUR DE RECHERCHE SOCIAL INTEGRATIO N HABILITATION PERSONNALISATION AGREGRATION CMS COLLABORATIONWIDGET CLOUD PREVISUALISATION PORTLET 1e génération 2e génération 3e génération
    17. 17. @EmmanuelPavaux#DevoxxPortail2014 Les cas d’utilisation d’un portail •Intranet standard (communication interne) •Application d’accès aux services •Groupe de travail collaboratifs •Mutualisation d’applications •Bureau virtuel •Usine à sites •Réseau social d’entreprise •...
    18. 18. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché • Pluto simple container de portlets (implementation de référence) • uPortal utilisé notamment par plusieurs universités américaines et françaises • JetSpeed portail open source du projet Apache • Lutece moteur de portail libre avec des fonctions de . gestion de contenu et de gestion modulaire d'applications métiers • Jahia initalement un CMS qui a étendu ces fonctions vers le portail : portlets, espaces de travail collaboratif (Blog, Forum, Newsletter et Wiki), droits, recherche, ...
    19. 19. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : IBM • Websphere Portal : offre complète avec une famille de produits WP Server, WP Enable (workflow et de gestion de contenu et de document), WP Extend (travail collaboratif), WP Express (pour les PME), ... • Services de contenus (ex Lotus WCM), de syndication, workflow, portlets, widgets, recherche, sécurité, surveillance, personnalisation, administration interfaces, page, ... • Services d’intégration : Lotus Domino, Outlook, Quickr, Sametime, SAP, LDAP, OpenID, ... • Cloud privé : WPS Hypervisor Edition (préinstallée et pré-configurée) • Plus d’informations dans la documentation
    20. 20. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Oracle • WebCenter Portal (suite logiciel WebCenter) • WebCenter Portail (Ex WLP + UCM + WCI) : personalisation des services, des contenus, de la navigation, laf, integration Siebel, Peoplesoft, JDEdwards, ... • WebCenter Sites (ex FatWire - Web experience management) : gestion du contenu ciblé par segments utilisateurs, gadgets, analyse du comportement, canaux de publication ... • WebCenter Content : Check-in/out, versions, tag, édition inline • WebCenter Social : chat, partage de documents, notifications, activité des réseaux sociaux, recherche unifiée, mobile, ...
    21. 21. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Jboss / Exo •GateIn projet OpenSource communautaire / socle commun à la partie portail ExoPlatform et à Jboss EPP (Entreprise Portal Platform) • Fondamentaux du portail : standards, widgets, portlets, gestion des pages / layouts / sites, multilingue, des utilisateurs / droits / ... • EXo Platform : fonctionnalités de contenu, de collaboration, de réseaux sociaux, cloud, mobiles, …
    22. 22. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Liferay • Portail Open Source de référence Magic Quadrant Gartner • Ecosystème : communauté, symposuim, Web Events, … • Licence CE (LGPL) et Licence EE (Liferay Inc.) • Interface utilisateur web 2.0 moderne et pratique • Extension : Hook, Service Buidler, Plug-in SDK • Normes JSR 170 / 286 / 314, CMIS, Open Search, … • Plus d'une soixantaine de portlets en standard : gestion de site, CMS, gestionnaire de documents, collaboration (blog, wiki,forum, calendrier, …), social (mur, …)
    23. 23. @EmmanuelPavaux#DevoxxPortail2014 Les offres du marché : Liferay • Sécurité/habilitation : sites, organisations, … • Intégration facile LDAP, SSO (CAS,...), Identity Manager • Cycle de vie du portail : LAR, Staging, … • Liferay Marketplace • Liferay Sync • Un succès
    24. 24. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 •Le portail a dépassé les échecs passés • Engouement excessif et sur-médiatisation En 2000, tout le monde «fait» du portail => Rationalisation des offres et sélection naturelle • Coûteux à acquérir Souvent une entrée vers les autres offres d'un éditeur => De vrais solutions Open source
    25. 25. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 • Complexe à mettre en œuvre Problématique complexe d'intégration avec de nombreuses applications => pas le portail lui même • Complexe à utiliser, manque de contrôle des utilisateurs => Evolution de la convivialité des produits pour les utilisateurs finaux ou pour les administrateurs => Les utilisateurs ont repris la main : personnalisation, collaboratif, sociaux • Cycles de déploiement long => Déploiement à chaud des portlets, widgets, méthodes agiles, …
    26. 26. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 •Promesses du portail enfin tenu • Convivialité : user friendly • Personnalisation : choix des pages, portlets et contenu, … • Gestion de la mobilité • Véritable outil de travail centré sur l’utilisateur : informations, collaboration, social • Cycle de vie du portail
    27. 27. @EmmanuelPavaux#DevoxxPortail2014 Pourquoi choisir un portail en 2014 •Concept d’architecture • Brique d'infrastructure : dépasser la spécification de portlet et garder le concept • Rationalisation des aspects traités de manière hétérogène selon les projets : authentification, habilitation, navigation, look n feel, …
    28. 28. @EmmanuelPavaux#DevoxxPortail2014 Le futur du portail •Le portail va rester l’outil d’agrégation des applications métiers de l’entreprise •Evolution du portail pour devenir une plate-forme d’exécution d’applications • Suite logicielle (marketplace) fournie par le portail : collaborative, social, gestion de processus métier, …
    29. 29. @EmmanuelPavaux#DevoxxPortail2014 Le futur du portail •Clouds : plusieurs cas d’utilisations • Déploiement du portail • Déploiement des portlets / applications (offre SAS) • Cloud privé
    30. 30. @YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014 Q & A
    31. 31. @YourTwitterHandle@EmmanuelPavaux#DevoxxPortail2014 D em o Liferay
    32. 32. @EmmanuelPavaux#DevoxxPortail2014 A 2 columns slide •Première colonne •un •deux •trois •quatre •Autre point important •okdak •Deuxième colonne • one • two • three • four
    33. 33. @YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014 O bjectifs Ce que vous allez apprendre pendant cette présentation What you will learn during this presentation
    34. 34. @EmmanuelPavaux#DevoxxPortail2014 static String friendlyBirthDate(Date date) { def days = date - BIRTH switch (days) { case 0: return "Jour de naissance" case 1: return "1 jour" case 1..<31: return "${days} jours" case 31..<90: return "${days.intdiv(7)+1} semaines" case 91..<914: return "${days.intdiv(30)} mois" case 914..365*100: int y = days.intdiv(365) boolean half = (days - 365.25 * y) > 182 return "${y} ans${half ? ' et demi' : ''}" } } static String friendlyBirthDate(Date date) { def days = date - BIRTH switch (days) { case 0: return "Jour de naissance" case 1: return "1 jour" case 1..<31: return "${days} jours" case 31..<90: return "${days.intdiv(7)+1} semaines" case 91..<914: return "${days.intdiv(30)} mois" case 914..365*100: int y = days.intdiv(365) boolean half = (days - 365.25 * y) > 182 return "${y} ans${half ? ' et demi' : ''}" } } Show me some code
    35. 35. @EmmanuelPavaux#DevoxxPortail2014 A code sample Do not try to show more than 15 lines of code per slide Remember, your audience will READ the slides and won’t listen Try to take screenshot of your code in Eclipse or IntelliJ Evitez de montrer plus de 15 lignes de code par slide Souvenez-vous que votre audience va lire le slide et ne vous écoutera pas Essayez d’utiliser des captures d’écran d’Eclipse ou IntelliJ
    36. 36. blank slide for your own pictures blank slide for your own pictures
    37. 37. @YourTwitterHandle#DVXFR14{session hashtag} @EmmanuelPavaux#DevoxxPortail2014 Sum m ary
    38. 38. @EmmanuelPavaux#DevoxxPortail2014 Pensez à utiliser des images •Quelques sites avec des photos libres de droit : •http://www.colourlovers.com/ •http://www.flickr.com/creativecommons •http://www.morguefile.com/archive
    39. 39. @EmmanuelPavaux#DevoxxPortail2014 Use images (wisely) •Some web sites with free HD photos : •http://www.colourlovers.com/ •http://www.flickr.com/creativecommons •http://www.morguefile.com/archive
    40. 40. @EmmanuelPavaux#DevoxxPortail2014 title-less slide title-less slide
    41. 41. @EmmanuelPavaux#DevoxxPortail2014 Crédit image / Creative Commons • Rue pavée — By-Nc-Sa •http://www.flickr.com/photos/22914687@N05/4957591422/sizes/l/ • Sous la Tour Eiffel — By-Nc-Sa •http://www.flickr.com/photos/stewiedewie/244850735/sizes/l/in/photostream/ • Sous le pont — photo par B.Monginoux - By-Nc-Nd •http://www.landscape-photo.net/displayimage.php?pid=5194 • Le Louvre – Photo par Anthony Gaudun - By-Nc-Sa •http://www.flickr.com/photos/anthonygaudun/7474397964/sizes/o/in/photostream/ • Slide template created by @glaforge, completed by @nmartignole for Devoxx FR2014

    ×