Вы находитесь на странице: 1из 26

Portail d'entreprise J2EE :

des solutions libres


Khaled BEN DRISS

J
2
Khaled.bendriss@oxiasoft.com
E
le samedi 08 mars 2008
E
Khaled BEN DRISS
Executive Partner

 Ingénieur de l'Ecole Centrale de Lyon


 Docteur de l'Université Paris 6
 Ancien Maître Assistant à l'EPT
Fondateur Net-progress

Khaled.bendriss@oxiasoft.com
Plan

• Portail d'entreprise : le concept


• J2EE : présentation
• Portlet – JSR 168
• Des solutions open sources

khaled.Bendriss@oxiasoft.com 3
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)

khaled.Bendriss@oxiasoft.com 4
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 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
khaled.Bendriss@oxiasoft.com 5
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, …)
 Portail Décisionnel
 Portail Collaboratif (forums/chat, participatif)
 Portail Internet d’information grand public (Yahoo, …)
 Portail vertical/horizontal (place de marché)

khaled.Bendriss@oxiasoft.com 6
Portail d'entreprise : l'architecture
cible

Portails spécialisés Sécuriser

Applications Services Personnaliser


B2G, à Valeur
B2B, Ajoutée
B2C
Administrer

Plate-Forme eBusiness Intégrer

Applications Applications
traditionnelles

khaled.Bendriss@oxiasoft.com 7
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.

khaled.Bendriss@oxiasoft.com 8
Tous converge vers le Portail
 Le marché et les offres

« Nouveaux »
ERP GED
Spécialistes
Content Fournisseur
Management de contenu

Sécurité Décisionnel

Moteur de Serveur
recherche d’application

CRM EAI
« Institutionnels »
Généralistes

khaled.Bendriss@oxiasoft.com 9
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

• Complètement personnalisable par l’utilisateur


− Comme sur my.yahoo

• Mais, inclus des pages pré-définies par fonction


− PDG, Audit, Comptable …

khaled.Bendriss@oxiasoft.com 10
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)
• 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
khaled.Bendriss@oxiasoft.com 11
Les conteneurs classiques de J2EE

Applet Web Container


HTTP
Container SSL JSP Servlet
Applet

Java RMI/IIOP

Connector
J2SE

JDBC
Mail

JAAS

JAXP
JMS

JTA
Java
Mail
HTTP
SSL J2SE

Application EJB Container


Client Container RMI/IIOP
EJB
Application
Client
Java

Connector
JDBC
Mail

JAAS

JAXP
JMS

JTA
JDBC
JAAS

JAXP
JMS

Java
Mail

J2SE
J2SE

khaled.Bendriss@oxiasoft.com 12
J2EE & Portail : quoi de neuf?
• Extension de la spécification J2EE
• Extension de la notion de conteneur

khaled.Bendriss@oxiasoft.com 13
Portlet : un autre conteneur J2EE

Portail
Portlet

Conteneur de Portlet

khaled.Bendriss@oxiasoft.com 14
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)


(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

khaled.Bendriss@oxiasoft.com 15
Portlet

khaled.Bendriss@oxiasoft.com 16
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.
• 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

khaled.Bendriss@oxiasoft.com 17
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
− Portail commercial compatible JSR168

• … et de
− Portlet open source
− Portlet commerciale

khaled.Bendriss@oxiasoft.com 18
Les portlets (zoom)

Portlet
Portail

API Portlet (JSR-168) API JSP/Servlet

khaled.Bendriss@oxiasoft.com 19
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
s’exécutent dans un conteneur

• Ceux qui connaissent la programmation des servlets


ne seront donc pas totalement dépaysés

khaled.Bendriss@oxiasoft.com 20
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
profil sur l’utilisateur

khaled.Bendriss@oxiasoft.com 21
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
− Exactement comme les applets, servlets, EJB,…
• Pour cela une portlet étend directement ou
indirectement l’interface
javax.portlet.Portlet

khaled.Bendriss@oxiasoft.com 22
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:
portlet.xml

khaled.Bendriss@oxiasoft.com 23
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

− BEA WebLogic Portal

− Sun ONE Portal Server

− Oracle 10g Portal


− …

khaled.Bendriss@oxiasoft.com 24
Support "open source" de l’API
Portlet
• Portail
− Liferay
• http://www.liferay.com/
− eXo :
• http://www.exoplatform.org/
− uPortal :
• http://www.uportal.org/
− Apache JetSpeed :
• http://portals.apache.org/
− Jahia (licence communautaire)
• http://www.jahia.org/
khaled.Bendriss@oxiasoft.com 25
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 1 J
• http://www.uportal.org/
2
• http://www.liferay.com/home/index.jsp
6


http://www.ressources-java.net/articles/3008.ppt
http://www.jacquenod.cicrp.jussieu.fr/jacqueno E


http://www.oracle.com/technology/products/ias/portal
http://www.esup-portail.org/
8 E
• 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

khaled.Bendriss@oxiasoft.com 26

Вам также может понравиться