Portail Java EE Solutions Libres

Preview:

DESCRIPTION

Portail Java EE Solutions Libres

Citation preview

Khaled BEN DRISS

Portail d'entreprise J2EE : des solutions libres

JJ

Khaled.bendriss@oxiasoft.com

le samedi 08 mars 2008

J

2

E

E

J

2

E

E

Khaled BEN DRISSExecutive Partner

Khaled.bendriss@oxiasoft.com

� 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

khaled.Bendriss@oxiasoft.com 33

• Portlet – JSR 168

• Des solutions open sources

Portail : c'est quoi ?

• Un concept marketing porteur… mais pas

nouveau !

• Principaux concepts discriminants

khaled.Bendriss@oxiasoft.com 44

− 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

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

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

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

Services à Valeur Ajoutée

Portail d'entreprise : l'architecture cible

ApplicationsB2G, B2B,

Portails spécialisés Sécuriser

Personnaliser

khaled.Bendriss@oxiasoft.com 77

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.

khaled.Bendriss@oxiasoft.com 88

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

khaled.Bendriss@oxiasoft.com 99

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

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

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

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

khaled.Bendriss@oxiasoft.com 1313

Portlet : un autre conteneur J2EE

PortailPortail

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

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

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

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

khaled.Bendriss@oxiasoft.com 1818

− Portail open source compatible JSR168

− Portail commercial compatible JSR168

• … et de

− Portlet open source

− Portlet commerciale

Les portlets (zoom)

PortletPortlet

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

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

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

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

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

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

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

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

Recommended