Download - Portail Java EE Solutions Libres

Transcript
Page 1: Portail Java EE Solutions Libres

Khaled BEN DRISS

Portail d'entreprise J2EE : des solutions libres

JJ

[email protected]

le samedi 08 mars 2008

J

2

E

E

J

2

E

E

Page 2: Portail Java EE Solutions Libres

Khaled BEN DRISSExecutive Partner

[email protected]

� Ingénieur de l'Ecole Centrale de Lyon� Docteur de l'Université Paris 6� Ancien Maître Assistant à l'EPT�Fondateur Net-progress

Page 3: Portail Java EE Solutions Libres

Plan

• Portail d'entreprise : le concept

• J2EE : présentation

• Portlet – JSR 168

[email protected] 33

• Portlet – JSR 168

• Des solutions open sources

Page 4: Portail Java EE Solutions Libres

Portail : c'est quoi ?

• Un concept marketing porteur… mais pas

nouveau !

• Principaux concepts discriminants

[email protected] 44

− Agrégation de contenu (aggregation, content management)

− Contenu personnalisé (personalization)

− Contenu personnalisable (customization)

Page 5: Portail Java EE Solutions Libres

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

[email protected] 55

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

Page 6: Portail Java EE Solutions Libres

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, …)

[email protected] 66

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é)

Page 7: Portail Java EE Solutions Libres

Services à Valeur Ajoutée

Portail d'entreprise : l'architecture cible

ApplicationsB2G, B2B,

Portails spécialisés Sécuriser

Personnaliser

[email protected] 77

Plate-Forme eBusiness

AjoutéeB2B, B2C

Applications

Intégrer

Administrer

Applicationstraditionnelles

Page 8: Portail Java EE Solutions Libres

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.

[email protected] 88

et intégrant les activités administratives et métiers.

Page 9: Portail Java EE Solutions Libres

Tous converge vers le Portail � Le marché et les offres

GEDERP

Décisionnel

ContentManagement

« Nouveaux »Spécialistes

Sécurité

Fournisseurde contenu

[email protected] 99

Décisionnel

CRM EAI« Institutionnels »Généralistes

Sécurité

Serveurd’application

Moteur derecherche

Page 10: Portail Java EE Solutions Libres

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 …

Page 11: Portail Java EE Solutions Libres

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

Page 12: Portail Java EE Solutions Libres

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

Page 13: Portail Java EE Solutions Libres

J2EE & Portail : quoi de neuf?

• Extension de la spécification J2EE

• Extension de la notion de conteneur

[email protected] 1313

Page 14: Portail Java EE Solutions Libres

Portlet : un autre conteneur J2EE

PortailPortail

[email protected] 1414

Conteneur de Portlet

PortailPortail

PortletPortlet

Page 15: Portail Java EE Solutions Libres

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

Page 16: Portail Java EE Solutions Libres

Portlet

[email protected] 1616

Page 17: Portail Java EE Solutions Libres

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

Page 18: Portail Java EE Solutions Libres

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

Page 19: Portail Java EE Solutions Libres

Les portlets (zoom)

PortletPortlet

[email protected] 1919

Portail

PortletPortlet

API Portlet (JSR-168)API Portlet (JSR-168) API JSP/ServletAPI JSP/Servlet

Page 20: Portail Java EE Solutions Libres

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

Page 21: Portail Java EE Solutions Libres

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

Page 22: Portail Java EE Solutions Libres

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

Page 23: Portail Java EE Solutions Libres

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

Page 24: Portail Java EE Solutions Libres

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

− …

Page 25: Portail Java EE Solutions Libres

• 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/

Page 26: Portail Java EE Solutions Libres

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