Vous êtes sur la page 1sur 26

Portail d'entreprise J2EE : des solutions libres Khaled BEN DRISS

J 2 E E

Khaled.bendriss@oxia-group.com
le samedi 08 mars 2008

Khaled BEN DRISS


Executive Partner

Ingnieur de l'Ecole Centrale de Lyon Docteur de l'Universit Paris 6 Ancien Matre Assistant l'EPT Fondateur Net-progress Khaled.bendriss@oxiasoft.com

Plan
Portail d'entreprise : le concept J2EE : prsentation Portlet JSR 168

Des solutions open sources

khaled.Bendriss@oxiasoft.com

Portail : c'est quoi ? Un concept marketing porteur mais pas nouveau ! Principaux concepts discriminants
Agrgation de contenu (aggregation, content management) Contenu personnalis (personalization) Contenu personnalisable (customization)

khaled.Bendriss@oxiasoft.com

Portail d'entreprise : Les Enjeux


Difficult daccder et de trouver linformation
Applications et contenu de sources multiples et disparates

Tous les sites Web et les applications sont diffrents


Diffrents accs Diffrentes ergonomies, diffrentes organisations

Contenu vite prim ou inadapt Difficile grer par le service informatique


Infrastructure est trs fragmente et coteuse Prolifration des systmes extranets et intranets
khaled.Bendriss@oxiasoft.com
5

Typologie, terminologie
Portail dEntreprise (Corporate, B2E) Portail Documentaire

Portail B2B (places de march, e-Procurement)


Portail B2C (fdration de sites institutionnels orients mtier ou de sites informationnels thmatiques, ) Portail Dcisionnel Portail Collaboratif (forums/chat, participatif)

Portail Internet dinformation grand public (Yahoo, )


Portail vertical/horizontal (place de march)
khaled.Bendriss@oxiasoft.com
6

Portail d'entreprise : l'architecture cible


Scuriser
Personnaliser Administrer Intgrer Applications

Portails spcialiss

Applications B2G, B2B, B2C

Services Valeur Ajoute

Plate-Forme eBusiness
Applications traditionnelles

khaled.Bendriss@oxiasoft.com

Quest-ce quun portail d'entreprise ? Dfinition (essai !!)


Le portail est un bureau virtuel, adaptatif (dynamique), personnalis, proposant un accs unifi diverses sources d'information et services, permettant d'interagir avec d'autres personnes, applications ou contenus pertinents et intgrant les activits administratives et mtiers.

khaled.Bendriss@oxiasoft.com

Tous converge vers le Portail


Le march et les offres

ERP
Content Management Scurit Moteur de recherche CRM

Nouveaux Spcialistes

GED Fournisseur de contenu


Dcisionnel Serveur dapplication

Institutionnels Gnralistes

EAI

khaled.Bendriss@oxiasoft.com

Portail d'entreprise : Pourquoi?


Unique point daccs pour toutes les informations Mise disposition de tous types dinformations Signature unique : Single Sign On (SSO)
Pour toutes Applications

Compltement personnalisable par lutilisateur


Comme sur my.yahoo

Mais, inclus des pages pr-dfinies par fonction


PDG, Audit, Comptable

khaled.Bendriss@oxiasoft.com

10

J2EE : c'est quoi ? J2EE est Spcification dun modle de composants distribus prenant en compte les diffrentes couches dun systme dinformation dentreprise (client, web, composants mtier, persistance, connecteurs) J2EE est une spcification dun serveur dapplication Tomcat, JBoss, WebSphere (IBM), WebLogic (BEA), Sun One (Sun), Oracle 10gAS (Oracle), etc. sont des implmentations de J2EE
khaled.Bendriss@oxiasoft.com

11

Les conteneurs classiques de J2EE


Applet Container
Applet Java Mail Java Mail RMI/IIOP HTTP SSL

Web Container
JSP Servlet

Connector

J2SE

JDBC

JAAS

JAXP

JMS

JTA

HTTP SSL

J2SE

Application Client Container


Application Client

EJB Container
RMI/IIOP EJB

Java Mail Java Mail

Connector

JDBC

JAAS

JAXP

JMS

JTA

JDBC

JAAS

JAXP

JMS

J2SE

J2SE

khaled.Bendriss@oxiasoft.com

12

J2EE & Portail : quoi de neuf?


Extension de la spcification 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 spcification soutenue par la communaut J2EE Java Portlet API (nom de code : JSR 168)
Interoprabilit 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 rgles de dveloppement des portlets sont dfinies au sein de la communaut JCP, soutenu par IBM, SUN, Apache, palm dans le but de lintgrer dans J2EE

khaled.Bendriss@oxiasoft.com

15

Portlet

khaled.Bendriss@oxiasoft.com

16

Quest-ce quune portlet ?


En premire approximation : un lment de contenu, agrg par le portail
Un pav, une fentre : ce sont les composants ou ingrdients qui sont proposs sur le portail, ils forment les contenus proposs. Ils sont personnalisables et doivent respecter la norme JSR168.

Au sens strict : un composant Java qui sexcute 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 propritaire 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 dvidentes similarits entre les portlets et les servlets
Ce sont des composants J2EE Les unes et les autres gnrent (normalement) du HTML Similitude architecturale (on la dit): ce sont des composants qui sexcutent dans un conteneur

Ceux qui connaissent la programmation des servlets ne seront donc pas totalement dpayss

khaled.Bendriss@oxiasoft.com

20

Fonctionnalits additionnelles
Les portlets ont accs une API riche pour retrouver et persister des informations de configuration Les portlets ont accs des informations de profil sur lutilisateur

khaled.Bendriss@oxiasoft.com

21

Dvelopper une portlet


Le conteneur cre une (et une seule) instance de chaque portlet et la dtruit en cas de besoin
Pas de gestion du cycle de vie complique comme avec les EJB

Il faut parler un langage (protocole) commun avec le conteneur


Dfini par JSR-168 Exactement comme les applets, servlets, EJB,

Pour cela une portlet tend directement ou indirectement linterface

javax.portlet.Portlet

khaled.Bendriss@oxiasoft.com

22

Dploiement
Les applications bases sur les portlets sont comme une extension des applications web
Elles ont donc un Descripteur de Dploiement (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 lAPI Portlet aujourdhui Implmentation de Rfrence (RI) :


Apache Pluto : http://portals.apache.org/pluto

Implmentations commerciales
IBM WebSphere Portal

BEA WebLogic Portal


Sun ONE Portal Server Oracle 10g Portal
khaled.Bendriss@oxiasoft.com
24

Support "open source" de lAPI 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 / Rfrences
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 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/

1 J

6 8

2 E E

http://portlet-opensrc.sourceforge.net/
http://developers.sun.com/prodtech/portalserver/reference/techart/jsr168/index.html
26

khaled.Bendriss@oxiasoft.com