Upload
khaled-ben-driss
View
3.247
Download
2
Embed Size (px)
DESCRIPTION
Portail Java EE Solutions Libres
Citation preview
Khaled BEN DRISS
Portail d'entreprise J2EE : des solutions libres
JJ
le samedi 08 mars 2008
J
2
E
E
J
2
E
E
Khaled BEN DRISSExecutive Partner
� Ingénieur de l'Ecole Centrale de Lyon� Docteur de l'Université Paris 6� Ancien Maître Assistant à l'EPT�Fondateur Net-progress
Plan
• Portail d'entreprise : le concept
• J2EE : présentation
• Portlet – JSR 168
• Portlet – JSR 168
• Des solutions open sources
Portail : c'est quoi ?
• Un concept marketing porteur… mais pas
nouveau !
• Principaux concepts discriminants
− Agrégation de contenu (aggregation, content management)
− Contenu personnalisé (personalization)
− Contenu personnalisable (customization)
Portail d'entreprise : Les Enjeux
• Difficulté d’accéder et de trouver l’information
− Applications et contenu de sources multiples et disparates
• Tous les sites Web et les applications sont différents
différents− Différents accès
− Différentes ergonomies, différentes organisations
• Contenu vite périmé ou inadapté
• Difficile à gérer par le service informatique− Infrastructure est très fragmentée et coûteuse
− Prolifération des systèmes extranets et intranets
Typologie, terminologie
� Portail d’Entreprise (Corporate, B2E)
� Portail Documentaire
� Portail B2B (places de marché, e-Procurement)
� Portail B2C (fédération de sites institutionnels orientés
métier ou de sites informationnels thématiques, …)
métier ou de sites informationnels thématiques, …)
� Portail Décisionnel
� Portail Collaboratif (forums/chat, participatif)
� Portail Internet d’information grand public (Yahoo, …)
� Portail vertical/horizontal (place de marché)
Services à Valeur Ajoutée
Portail d'entreprise : l'architecture cible
ApplicationsB2G, B2B,
Portails spécialisés Sécuriser
Personnaliser
Plate-Forme eBusiness
AjoutéeB2B, B2C
Applications
Intégrer
Administrer
Applicationstraditionnelles
Qu’est-ce qu’un portail d'entreprise ?
• Définition (essai !!)− Le portail est un bureau virtuel, adaptatif (dynamique),
personnalisé, proposant un accès unifié àdiverses sources d'information et services, permettant d'interagir avec d'autres personnes, applications ou contenus pertinents et intégrant les activités administratives et métiers.
et intégrant les activités administratives et métiers.
Tous converge vers le Portail � Le marché et les offres
GEDERP
Décisionnel
ContentManagement
« Nouveaux »Spécialistes
Sécurité
Fournisseurde contenu
Décisionnel
CRM EAI« Institutionnels »Généralistes
Sécurité
Serveurd’application
Moteur derecherche
Portail d'entreprise : Pourquoi?
• Unique point d’accès pour toutes les informations
• Mise à disposition de tous types d’informations
• Signature unique : Single Sign On (SSO)− Pour toutes Applications
[email protected] 1010
• Complètement personnalisable par l’utilisateur− Comme sur my.yahoo
• Mais, inclus des pages pré-définies par fonction− PDG, Audit, Comptable …
J2EE : c'est quoi ?
• J2EE est Spécification d’un modèle de composants distribués prenant en compte les différentes couches d’un système d’information d’entreprise (client, web, composants métier, persistance, connecteurs)
[email protected] 1111
connecteurs)
• J2EE est une spécification d’un serveur d’application
• Tomcat, JBoss, WebSphere (IBM), WebLogic (BEA), Sun One (Sun), Oracle 10gAS (Oracle), etc. sont des implémentations de J2EE
Les conteneurs classiques de J2EE
J2SE
JMS
JAA
S
JTA
JAX
P
JDB
C
Conn
ector
Java Mail
Java Mail
Web Container
JSP Servlet
J2SE
Applet Container
Applet
HTTPSSL
HTTPSSL
RMI/IIOP
[email protected] 1212
J2SE
J2SE
JMS
JAA
S
JTA
JAX
P
JDB
C
Conn
ector
Java Mail
Java Mail
EJB Container
EJB
J2SE
JMS
JAA
S
JAX
P
JDB
C
Application Client Container
ApplicationClient
SSL
RMI/IIOP
J2EE & Portail : quoi de neuf?
• Extension de la spécification J2EE
• Extension de la notion de conteneur
[email protected] 1313
Portlet : un autre conteneur J2EE
PortailPortail
[email protected] 1414
Conteneur de Portlet
PortailPortail
PortletPortlet
Portlet 1.0 : nouvelle spécification soutenue par la communauté J2EE
• Java Portlet API (nom de code : JSR 168)− Interopérabilité et Portabilité entre les Portails J2EE et les
Portlets
• JSR 168 (Java Specification Request 168)
[email protected] 1515
• JSR 168 (Java Specification Request 168)
(http://www.jcp.org/en/jsr/detail?id=168)
− Java Community Process (JCP)
• Les règles de développement des portlets sont définies au sein de la communauté JCP, soutenu par IBM, SUN, Apache, palm … dans le but de l’intégrer dans J2EE
Portlet
[email protected] 1616
Qu’est-ce qu’une portlet ?
• En première approximation : un élément de contenu, agrégé par le portail− Un “pavé”, une “fenêtre” : ce sont les composants ou
ingrédients qui sont proposés sur le portail, − ils forment les contenus proposés. − Ils sont personnalisables et doivent respecter la norme
JSR168.
[email protected] 1717
JSR168.
• Au sens strict : un composant Java qui s’exécute dans un conteneur− En utilisant l'API Portlet (JSR-168)
− Produit un fragment de code HTML / XHTML
Portail Java EE : Commercial ou Libre?
• Java EE : On ne parle plus de portail
propriétaire
mais portail compatible JSR168
− Portail open source compatible JSR168
[email protected] 1818
− Portail open source compatible JSR168
− Portail commercial compatible JSR168
• … et de
− Portlet open source
− Portlet commerciale
Les portlets (zoom)
PortletPortlet
[email protected] 1919
Portail
PortletPortlet
API Portlet (JSR-168)API Portlet (JSR-168) API JSP/ServletAPI JSP/Servlet
Portlets et servlets
• Il y a d’évidentes similarités entre les portlets et
les servlets− Ce sont des composants J2EE
− Les unes et les autres génèrent (normalement) du HTML
− Similitude architecturale (on l’a dit): ce sont des composants qui
[email protected] 2020
− Similitude architecturale (on l’a dit): ce sont des composants qui s’exécutent dans un conteneur
• Ceux qui connaissent la programmation des servlets
ne seront donc pas totalement dépaysés
Fonctionnalités additionnelles
• Les portlets ont accès à une API riche pour
retrouver et persister des informations de
configuration
• Les portlets ont accès à des informations de
[email protected] 2121
• Les portlets ont accès à des informations de
profil sur l’utilisateur
Développer une portlet
• Le conteneur crée une (et une seule) instance de chaque portlet et la détruit en cas de besoin− Pas de gestion du cycle de vie compliquée comme avec les EJB
• Il faut parler un langage (protocole) commun avec le conteneur− Défini par JSR-168
[email protected] 2222
− Exactement comme les applets, servlets, EJB,…
• Pour cela une portlet étend directement ou indirectement l’interface
javax.portlet.Portlet
Déploiement
• Les applications basées sur les portlets sont
comme une extension des applications web− Elles ont donc un Descripteur de Déploiement (DD) web.xml
• Les informations de configuration propres à la
partie portlet sont contenues dans un autre DD:
[email protected] 2323
partie portlet sont contenues dans un autre DD:
portlet.xml
Support de l’API Portlet aujourd’hui
• Implémentation de Référence (RI) :− Apache Pluto : http://portals.apache.org/pluto
• Implémentations commerciales− IBM WebSphere Portal
[email protected] 2424
− BEA WebLogic Portal
− Sun ONE Portal Server
− Oracle 10g Portal
− …
• Portail
− Liferay
• http://www.liferay.com/
− eXo :
• http://www.exoplatform.org/
Support "open source" de l’API Portlet
[email protected] 2525
• http://www.exoplatform.org/
− uPortal :
• http://www.uportal.org/
− Apache JetSpeed :
• http://portals.apache.org/
− Jahia (licence communautaire)
• http://www.jahia.org/
J
2
E
J
2
E
1
6
URLs / Références• http://portals.apache.org/
• http://www.jcp.org/en/jsr/detail?id=168
• http://www.bea.com/
• http://www-306.ibm.com/software/websphere/
• http://www.mediapps.com/nportal
• http://jporta.sourceforge.net/
• http://www.jahia.org/jahia/Jahia
• http://www.uportal.org/
• http://www.liferay.com/home/index.jsp
• http://www.ressources-java.net/articles/3008.ppt
• http://www.jacquenod.cicrp.jussieu.fr/jacqueno
[email protected] 2626
E
E
E
E8• http://www.jacquenod.cicrp.jussieu.fr/jacqueno
• http://www.oracle.com/technology/products/ias/portal
• http://www.esup-portail.org/
• http://www.exoplatform.com/portal/faces/public/exo/home/my-portal
• http://sw-portal.deri.org/papers/presentations/CommercialPortal.ppt
• http://www.oracle.com/appserver/portal_overview.pdf
• http://wwws.sun.com/software/products/portal_srvr/home_portal.html
• http://www.sysdeo.com/
• http://portlet-opensrc.sourceforge.net/
• http://developers.sun.com/prodtech/portalserver/reference/techart/jsr168/index.html