La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Evolutions technologiques. Nouvelles orientations pour le développement.

Présentations similaires


Présentation au sujet: "Evolutions technologiques. Nouvelles orientations pour le développement."— Transcription de la présentation:

1 Evolutions technologiques. Nouvelles orientations pour le développement.

2 23/06/2006Mathieu Larchet2 Plan Portlets La norme JSR-168 Qu'est-ce qu'une Portlet ? uPortal et les Portlets Pluto : l'implémentation de référence Communication Portail / Portlet Cycle de vie d'une Portlet Impacts sur le développement Avantages et inconvénients

3 23/06/2006Mathieu Larchet3 Plan Spring Notion de conteneur léger Injection de dépendance – Hollywood Principle Modules Spring Développement en couches Bilan

4 Les Portlets

5 23/06/2006Mathieu Larchet5 Qu'est-ce qu'une Portlet ? Une portlet est une application web embarquée dans un portail Par extension, une portlet est une application web respectant la norme JSR-168

6 23/06/2006Mathieu Larchet6 uPortal et les Portlets uPortal v2.x.x Canaux uPortalPortlets Adaptateur uPortal v3.x.x Portlets Canaux uPortal Adaptateur

7 23/06/2006Mathieu Larchet7 Pluto Pluto est l'implémentation de référence de la norme JSR-168 Il peut être utilisé de plusieurs façons : Embarqué dans un portail sous la forme d'une librairie En mode autonome afin de procéder à des tests Très léger L'API Portlet est très similaire à l'API Servlet

8 23/06/2006Mathieu Larchet8 Tomcat uPortal Communication Portail / Portlet Modèle de fonctionnement logique Portlet

9 23/06/2006Mathieu Larchet9 Communication Portail / Portlet Modèle de fonctionnement réel Portlet uPortal Tomcat Pluto

10 23/06/2006Mathieu Larchet10 Cycle de vie d'une portlet L'utilisateur clique sur une URL de type 'action' La Portlet ciblée traite la requête Une requête de type 'render' est envoyée à chacune des Portlets de la page qui rafraîchissent leur affichage

11 23/06/2006Mathieu Larchet11 Impacts sur le développement Choix du type d'URL pour chaque lien de notre application Programmation 100% multi-thread A l'opposé de la programmation d'un canal uPortal Réfléchir à tous les blocs critiques du code Synchronized n'est pas un remède miracle Il est impératif d'utiliser les objets de session fournis par l'API pour stocker les informations propres à un utilisateur Penser à utiliser les styles CSS pour les portlets (indépendance vis-à-vis du portail utilisé)

12 23/06/2006Mathieu Larchet12 Avantages & inconvénients Déploiement dans un contexte séparé Pas de collision des librairies Mutualisation possible des ressources Rechargement du contexte indépendant de celui du portail Le développeur peut utiliser les outils qu'il souhaite pour le développement (indépendance) Difficile de rester indépendant du portail et / ou du moteur (Pluto) Pas de notion de 'servant' Quelques difficultés pour l'envoi / téléchargement de fichiers

13 Spring

14 23/06/2006Mathieu Larchet14 Notion de conteneur léger A l'opposé de la philosophie J2EE : Indépendance vis-à-vis de l'environnement (serveur d'application, Servlet, Portlet, application Swing etc.). Tests unitaires très faciles à réaliser. Peu ou pas du tout de dépendance avec le conteneur (au choix du développeur). Léger (un seul fichier JAR à ajouter au projet) Nombreux modules optionnels permettant au développeur de se consacrer à ce que fait son application et non plus comment elle le fait.

15 23/06/2006Mathieu Larchet15 Injection de dépendance Principe d'Hollywood : Ne nous appelez pas, nous vous appellerons. Spring généralise le principe définit par le patron de conception 'Abstract Factory'. Spring se charge de l'instanciation de tous les objets de l'application et de la résolution des dépendances entre eux.

16 23/06/2006Mathieu Larchet16 Injection de dépendance Approche classique : Objet A Objet CObjet B Objet DObjet E HIJMKLNOPQR Objet FObjet G

17 23/06/2006Mathieu Larchet17 Spring Injection de dépendance Injection de dépendance : Objet AObjet CObjet B HIJMKLNOPQR Objet DObjet EObjet FObjet G

18 23/06/2006Mathieu Larchet18 Modules Spring Spring Core Injection de dépendance AOP Spring AspectJ DAO Spring JDBC – LDAP ORM Ibatis – Hibernate – JDO Context JNDI – Remoting – EJB Web JSP – PDF – Excel Tiles – Velocity MVC Spring Struts JSF Tapestry

19 23/06/2006Mathieu Larchet19 Développement en couches Spring permet de structurer le développement d'une application en couches (architecture 3 tiers) : Couche présentation (MVC, Swing etc.). Couche métier Couche d'accès aux données Spring va permettre a chaque couche de s'abstraire de sa ou ses couches inférieures (injection de dépendance) : Le code de l'application est beaucoup plus lisible. Le maintient de l'application est facilité. Les tests unitaires sont simplifiés.

20 Bilan

21 23/06/2006Mathieu Larchet21 Bilan Portlets : Il est important que tous les nouveaux développements soient envisagés sous forme de portlets. Certains points sont à approfondir comme la communication inter-portlet, la notion de servant, et tout ce qui concerne les services offerts par uPortal. Spring : Facilite et structure le développement. Permet la focalisation sur les aspects métier. S'intègre avec de nombreux outils externes.

22 23/06/2006Mathieu Larchet22 Bilan L'utilisation de technologies standard permet : Une maintenance des applications facilitée Une plus grande communauté de support Un travail collaboratif plus efficace La reprise d'applications développées par d'autres personnes De nombreuses entreprises ont fait le choix de Spring et / ou des portlets (Cap Gemini, AMUE, Ministère des Finances etc.).


Télécharger ppt "Evolutions technologiques. Nouvelles orientations pour le développement."

Présentations similaires


Annonces Google