Du 22 au 25 juin 2009, se tient, à Zurich, la conférence Jazoon , dans son édition 2009. Jazoon se veut être la ‘JavaOne européenne’, et le démontre, cette année encore, grâce à un très riche programme.

Cette année, Neoxia est représentée par Ferda Tartanoglu, qui dispense une session sur le thème de l’intégration entre Seam et GWT.

Pour le résumé de la conférence, voir la suite …

L’abstract dans la langue de Molière

Construire des applications web efficaces et scalables a toujours été une tâche difficile. Plusieurs frameworks sont apparus dans la dernière décennie avec l’objectif de simplifier la vie des développeurs web.

La multiplication récente des sites web collaboratifs et communautaires a aussi accéléré l’adoption du scripting côté client, et en particulier de l’approche Ajax. Ainsi, ont émergés divers frameworks web permettant de simplifier la mise en œuvre de telles pratiques.

Aujourd’hui, le principal défi pour les développeurs réside dans l’utilisation concomitante de tous ces frameworks, outils et bibliothèques. Ainsi, en présence de frameworks conçus différemment, il peut être délicat de respecter les bons vieux principes d’architecture.

Le framework Seam

Le framework JBoss Seam propose une approche très prometteuse permettant d’intégrer aisément les divers composants d’une application web. L’implémentation initiale du framework propose une intégration de la couche métier (EJB 3) et de la couche présentation (JSF). Par ailleurs, le framework introduit la notion de conversation, qui permet de gérer une session utilisateur interactive se déroulant sur plusieurs pages web.

Google Web Toolkit alias GWT

GWT est un toolkit destiné aux développeurs Java. GWT permet de construire des applications Internet riches, s’exécutant côté client, et ce, sans avoir à écrire de code JavaScript. En lieu et place, un sous ensemble du langage Java est utilisé. Le code JavaScript est alors généré à partir du code Java. Le modèle de développement de GWT facilite le développement de nouveaux composants, qu’ils soient graphiques ou non. Ces qualités ont favorisé l’adoption de GWT par une importante communauté de développeurs, ainsi que le développement rapide de l’offre de composants.

Intégrer Seam et GWT… pas si simple…

Mais, comment ces deux technologies s’intègrent-elles ensemble ? Sont-elles compatibles l’une avec l’autre, ou doit-on en adapter l’utilisation pour qu’elles puissent fonctionner correctement ?

Le framework Seam permet l’intégration de GWT, mais ce support est relativement basique. En particulier, il ne permet pas une intégration aisée avec des scénarios d’interaction complexes. Ainsi, construire des applications GWT conversationnelles n’est pas une tâche facile. Seam est, en effet, essentiellement orienté vers les applications web à état, conversationnelles. GWT, quant à lui, met en avant un modèle d’applications mono-page, s’exécutant côté client. Cette disparité de conception pose plusieurs défis pour construire des interfaces GWT sur le framework Seam.

Et pourtant… cela fonctionne bien !

Dans le cadre du développement d’une application intranet, nous avons travaillé sur le sujet, et nous en avons tiré plusieurs leçons. L’objectif de cette présentation est de montrer divers principes de conception pour la construction d’applications web avec Seam et GWT.

Nous présenterons, dans un premier temps, divers principes architecturaux pour découper une application web utilisant ces technologies. Ensuite, nous présenterons quelques patterns d’intégration concrets, pour résoudre les problèmes rencontrés lors du développement de notre application.

Références

Billets sur le même thème