Portail d'entreprise J2EE :des solutions libres

Page 1

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

Khaled.bendriss@oxiasoft.com le samedi 08 mars 2008

J 2 E 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

Applications B2G, B2B, B2C

Services à Valeur Ajoutée

Plate-Forme eBusiness Applications traditionnelles

Sécuriser Personnaliser Administrer Intégrer Applications

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

ERP

« Nouveaux » Spécialistes

Content Management

Fournisseur de contenu

Sécurité

Décisionnel

Moteur de recherche CRM

GED

Serveur d’application « Institutionnels » Généralistes

khaled.Bendriss@oxiasoft.com

EAI

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 Container

Web Container

HTTP SSL

JSP

Servlet

Applet RMI/IIOP

Connector

JDBC

HTTP SSL

Java Mail

JAXP

JTA

JAAS

JMS

J2SE

Java Mail

J2SE

Application Client Container

EJB Container RMI/IIOP

EJB

Application Client Connector

JDBC

Java Mail

JAXP

JTA

JAAS

JMS

JDBC

JAXP

JMS

JAAS

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

khaled.Bendriss@oxiasoft.com

26


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.