Gavin King a fait quelques déclarations à propos de la version 3.0 de Seam sur le blog in relation to
Le principal objectif de Seam reste donc inchangé : fournir une plateforme de développement complètement intégrée pour le développement d’application internet riches, basé sur la plateforme JEE.
Seam 2 était une première couche d’abstraction, composée de différents éléments déjà très important : - Les nouveaux contextes et la gestion des cycles de vie dans ces derniers, - La getion de la configuration et des dépendances grâce à un modèle d’injection et l’assemblage des frameworks qui représente une des forces de Seam. en effet c’est cet assemblage qui permet à chaque élément de travailler ensemble sans les problèmes d’intégration bien connus de tous les developpeurs Java EE. - Un ensemble de modules qui intègrent des technologies tel que : JSF, jBPM, Hibernate, Drools, Groovy, Wicket and GWT pour resoudre les problèmes communs tels que la sécurité, l’asynchronicité, la génération de PDF, de mail, de fichiers Excel et de flux RSS. Eux aussi intégrés sans aucun travail nécessaire du développeur.
Cette première couche facilite donc le développement de services et la gestion de leur cycle de vie, ainsi que le développement d’interfaces graphiques web. Et donc globalement le développement d’applications web.
Seam 3 ajoutera une seconde couche d’abstraction, dont le rôle sera d’intégré WebBeans au coeur de Seam, daméliorer la gestion de la sécurité avec Drools et jBPM. Lidée est de faire de Seam 3 un framework dinfrastructure basé sur Web Beans. Seam 3 devrait de plus améliorer et faciliter l’intégration des workflow et des moteurs de règles afin d’apporter de nouveaux outils pour la conception des applications riches Internet. Seam 3 pourrait alors soit nécessiter une réécriture de Seam 2 afin dintégrer Web Beans, soit permettre de faire travailler Seam 2 et Web Beans côte à côte grâce à une interopérabilité avancée entre les composants Seam2 et les Web beans.
Pour rappel Web Beans (JSR-299) est un nouveau standard java pour l’injection de dépendance, et la gestion ds cycles de vie contextuels. Ils définissent un ensemble de services pour l’environnement Java EE, qui rend les applications plus facile à développer. La couche Web Beans permet un cycle de vie amélioré et une intéraction de modèle avec les composants java existants (Java Beans et EJB). En complément du modèle de programmation Java EE habituel, les services Web beans apportent :
- Une gestion amélioré du cycle de vie pour les composants Stateful, lié à des contextes bien définis
- Une approche sécurisée pour l’injection de dépendances.
- Une intéraction grâce à une notification d’évènements facilitée.
- Une meilleur approche pour lier les intercepteurs aux composants, avec une nouvelle sorte d’intercepteurs appellés décorateurs, qui sont plus appropriés pour une utilisation dans la résolution de problèmes métiers.
La spécifications des Web beans a été très influencée par les responsables de Seam et de Google.