JBoss Seam
2 participants
inseadima :: I N S E A :: Options :: Informatique :: Etude :: JAVA & J2EE :: J2EE :: J2EE :: JBoss Seam
Page 1 sur 1
JBoss Seam
JBoss Seam : repenser l'architecture des applications web
Faisant peu de bruit depuis sa première version (en décembre 2005) , JBoss vient d'annoncer la version finale de JBoss Seam.
Les EJB3 sur JBoss tournent à merveille couplés à JSF semble très interressant, même si on peut se poser des question d'architecture et d'évolutivité à long terme.
La programmation d'applications web est un challenge commun et de nombreux frameworks sont mis a disposition afin de tenter de le résoudre. Struts est probablement le web framework le plus couramment utilisé à ce jour. Struts est une implémentation de de que l'on appelle le “Model 2” dérivé du fameux Model View Controller (MVC) design pattern. Un tel concept aide le programmeur à séparer ce qui relève du rendu de l'application (View) de l'exécution des évènements (Controller) et de la manipulation de données (Model).
Historique
Struts a pourtant apporté de nouveaux problèmes, et malgré le fait incontestable qu'il réponde à de nombreux besoins de dévelopeurs, il a aussi ses limites. Java Server Faces (JSF) est une spécification Java relativement jeune ayant une approche différente. Si l'on considère le problème classique de mettre en base de données le contenu d'un formulaire, JSF peut aider a réduire le travail nécessaire. Une toute autre spécification Java défini les EJB3. Écrire des EJB n'a jamais était aussi facile et apporte des avantages dans differents domaines tels que la securité, la mise en cluster, la gestion des transactions et la persistance.
Introduction a JBoss Seam
JSF et EJB3 sont deux technologies parfaitement adaptées au développement d'application web. Les beans de session font d'excellents candidats en tant que managed beans de JSF. De par leur nature, les entity beans représentent très bien la partie modèle d'une application et offrira au développeur la gestion de la persistance.
Il reste cependant un travail non négligeable pour pouvoir utiliser JSF et EJB3 simultanément et construire une application web. De plus de nombreux problèmes ont été introduits par la nature même de ce type particulier d'applications tel que le “bouton retour” des navigateurs ou encore les opérations sur plusieurs fenêtres chères à nos visiteurs. Ces problèmes nécessitent au programmeur de passer beaucoup de temps sur ceux-ci plutôt que de focaliser sur le code métier de l'application.
JBoss Seam non seulement lie pour vous JSF et EJB3 mais prend également en charge la gestion des problèmes inérants aux applications Web.
Ramenons la couche EJB vers la couche Web
Traditionnellement, les dévelopeurs utilisent beaucoup (bons et moins bons) de design patterns dans des applications web sophistiquées, créant des couches logicielle nécessairement requises par le framework et non par le design de l'application elle même.
Seam effondre ces couches artificielles and rapproche les EJB de la couche Web. Cela vous permet entre autre d'utiliser vos EJBs directement comme managed bean JSF. Le choix des couches est laissé au développeur, avec JBoss Seam il n'y a plus de limites artificielles.
JBoss Seam gère automatiquement les composants d'une application, un développeur agit avec les composants en les récupérant et les stockant depuis et vers le contexte de son choix. __ Un modèle de programmation contextuel__
La notion de contexte n'est pas nouvelle, une application web a souvent a faire au contexte de la requête qui a comme durée de vie un événement particulier. L'autre contexte très présent est la session, on y stocke généralement l'utilisateur enregistré et loggué. JBoss Seam reconnaît l'importance de ces contextes et en apporte de nouveaux:
Conversation: Différentes requêtes consécutives font souvent partie de la même conversation. Par exemple, une conversation peut requérir qu'un utilisateur passe par le cycle requête/réponse plusieurs fois. Un exemple de scénario serait un Wizard. JBoss Seam permet la définition et la gestion de conversations de manière simple. Process: L'intégration de BPM (Business Process Management) dans une application web tel que permise par jBPM est également introduite. Considérer la situation suivante: un business process requiert un workflow avec deux acteurs: un acteur crée un élément, alors que le second a la responsabilité de l'approuver. Les deux acteurs auront chacun besoin d'une ou plusieurs conversations avec l'application pour compléter leurs taches respectives. JBoss Seam permet facilement et de manière transparente de définir ces taches. Application: Il y a toujours besoin d'un contexte disponible depuis le début de l'application jusqu'à la fin de celle-ci, JBoss Seam le permet également. JBoss Seam crée et gère ces contextes de manière automatique. Un développeur Seam peut déclarer un contexte par défaut pour chacun des composants. Par exemple, un composant représentant un utilisateur pourrait être dans le contexte de la Session pour représenter l'utilisateur loggué. Le pouvoir de Seam repose dans la connexion de ces composants. Il suffit de déclarer les dépendances entre composants pour qu'ils soient injecter avant son exécution. Un composant peut aussi déclarer quels objets doivent être stocké après exécution. Cette possibilité d'”outjection” et la gestion automatique des contextes et de l'état des composants est au coeur de la programmation avec JBoss Seam et permet un code très compact et facilement réutilisable.
Portable et léger
JBoss Seam repose intégralement sur les annotations JDK 1.5 pour la déclaration des composants et la façon dont laquelle ils sont associés a un contexte particulier – pas d'affreux XML. JBoss Seam peut-être utilisé avec n'importe quelle implémentation JSF et tourne sur tout conteneur JEE5. Grâce au JBoss Microcontainer, Seam peut même être utilisé dans Tomcat ou dans des tests unitaires. Pour les utilisateurs qui ne sont pas prêts a utiliser EJB 3.0, Seam supporte également tout POJO et des classes Hibernate comme composant.
Pour en savoir plus sur JBoss Seam, vous pouvez visiter le site du projet et jouer avec l'application de démonstration (http://demo.seam.jboss.com). Pour commencer, téléchargez Seam, naviguez dans les fichiers sources de la démo et suivez les instructions du tutorial.
Faisant peu de bruit depuis sa première version (en décembre 2005) , JBoss vient d'annoncer la version finale de JBoss Seam.
Les EJB3 sur JBoss tournent à merveille couplés à JSF semble très interressant, même si on peut se poser des question d'architecture et d'évolutivité à long terme.
La programmation d'applications web est un challenge commun et de nombreux frameworks sont mis a disposition afin de tenter de le résoudre. Struts est probablement le web framework le plus couramment utilisé à ce jour. Struts est une implémentation de de que l'on appelle le “Model 2” dérivé du fameux Model View Controller (MVC) design pattern. Un tel concept aide le programmeur à séparer ce qui relève du rendu de l'application (View) de l'exécution des évènements (Controller) et de la manipulation de données (Model).
Historique
Struts a pourtant apporté de nouveaux problèmes, et malgré le fait incontestable qu'il réponde à de nombreux besoins de dévelopeurs, il a aussi ses limites. Java Server Faces (JSF) est une spécification Java relativement jeune ayant une approche différente. Si l'on considère le problème classique de mettre en base de données le contenu d'un formulaire, JSF peut aider a réduire le travail nécessaire. Une toute autre spécification Java défini les EJB3. Écrire des EJB n'a jamais était aussi facile et apporte des avantages dans differents domaines tels que la securité, la mise en cluster, la gestion des transactions et la persistance.
Introduction a JBoss Seam
JSF et EJB3 sont deux technologies parfaitement adaptées au développement d'application web. Les beans de session font d'excellents candidats en tant que managed beans de JSF. De par leur nature, les entity beans représentent très bien la partie modèle d'une application et offrira au développeur la gestion de la persistance.
Il reste cependant un travail non négligeable pour pouvoir utiliser JSF et EJB3 simultanément et construire une application web. De plus de nombreux problèmes ont été introduits par la nature même de ce type particulier d'applications tel que le “bouton retour” des navigateurs ou encore les opérations sur plusieurs fenêtres chères à nos visiteurs. Ces problèmes nécessitent au programmeur de passer beaucoup de temps sur ceux-ci plutôt que de focaliser sur le code métier de l'application.
JBoss Seam non seulement lie pour vous JSF et EJB3 mais prend également en charge la gestion des problèmes inérants aux applications Web.
Ramenons la couche EJB vers la couche Web
Traditionnellement, les dévelopeurs utilisent beaucoup (bons et moins bons) de design patterns dans des applications web sophistiquées, créant des couches logicielle nécessairement requises par le framework et non par le design de l'application elle même.
Seam effondre ces couches artificielles and rapproche les EJB de la couche Web. Cela vous permet entre autre d'utiliser vos EJBs directement comme managed bean JSF. Le choix des couches est laissé au développeur, avec JBoss Seam il n'y a plus de limites artificielles.
JBoss Seam gère automatiquement les composants d'une application, un développeur agit avec les composants en les récupérant et les stockant depuis et vers le contexte de son choix. __ Un modèle de programmation contextuel__
La notion de contexte n'est pas nouvelle, une application web a souvent a faire au contexte de la requête qui a comme durée de vie un événement particulier. L'autre contexte très présent est la session, on y stocke généralement l'utilisateur enregistré et loggué. JBoss Seam reconnaît l'importance de ces contextes et en apporte de nouveaux:
Conversation: Différentes requêtes consécutives font souvent partie de la même conversation. Par exemple, une conversation peut requérir qu'un utilisateur passe par le cycle requête/réponse plusieurs fois. Un exemple de scénario serait un Wizard. JBoss Seam permet la définition et la gestion de conversations de manière simple. Process: L'intégration de BPM (Business Process Management) dans une application web tel que permise par jBPM est également introduite. Considérer la situation suivante: un business process requiert un workflow avec deux acteurs: un acteur crée un élément, alors que le second a la responsabilité de l'approuver. Les deux acteurs auront chacun besoin d'une ou plusieurs conversations avec l'application pour compléter leurs taches respectives. JBoss Seam permet facilement et de manière transparente de définir ces taches. Application: Il y a toujours besoin d'un contexte disponible depuis le début de l'application jusqu'à la fin de celle-ci, JBoss Seam le permet également. JBoss Seam crée et gère ces contextes de manière automatique. Un développeur Seam peut déclarer un contexte par défaut pour chacun des composants. Par exemple, un composant représentant un utilisateur pourrait être dans le contexte de la Session pour représenter l'utilisateur loggué. Le pouvoir de Seam repose dans la connexion de ces composants. Il suffit de déclarer les dépendances entre composants pour qu'ils soient injecter avant son exécution. Un composant peut aussi déclarer quels objets doivent être stocké après exécution. Cette possibilité d'”outjection” et la gestion automatique des contextes et de l'état des composants est au coeur de la programmation avec JBoss Seam et permet un code très compact et facilement réutilisable.
Portable et léger
JBoss Seam repose intégralement sur les annotations JDK 1.5 pour la déclaration des composants et la façon dont laquelle ils sont associés a un contexte particulier – pas d'affreux XML. JBoss Seam peut-être utilisé avec n'importe quelle implémentation JSF et tourne sur tout conteneur JEE5. Grâce au JBoss Microcontainer, Seam peut même être utilisé dans Tomcat ou dans des tests unitaires. Pour les utilisateurs qui ne sont pas prêts a utiliser EJB 3.0, Seam supporte également tout POJO et des classes Hibernate comme composant.
Pour en savoir plus sur JBoss Seam, vous pouvez visiter le site du projet et jouer avec l'application de démonstration (http://demo.seam.jboss.com). Pour commencer, téléchargez Seam, naviguez dans les fichiers sources de la démo et suivez les instructions du tutorial.
Re: JBoss Seam
Pour avoir plus d'informations sur le JBoss Seam, consulter le site officiel de JBoss rubique JBoss Seam : http://labs.jboss.com/portal/jbossseam/
Vous y trouverez sa documentation, des téléchargements et d'autres choses qui vous seront utiles.
Bonne lecture
Vous y trouverez sa documentation, des téléchargements et d'autres choses qui vous seront utiles.
Bonne lecture
k.ouguerzi- Co-Admin
-
Nombre de messages : 87
Localisation : Casablanca
Date d'inscription : 23/10/2006
Re: JBoss Seam
Entretien avec Thomas Heute le "project leader" de JBoss Seam
http://www.paris-jbug.org/xwiki/bin/view/Main/Interview+de+Thomas+Heute
http://www.paris-jbug.org/xwiki/bin/view/Main/Interview+de+Thomas+Heute
inseadima :: I N S E A :: Options :: Informatique :: Etude :: JAVA & J2EE :: J2EE :: J2EE :: JBoss Seam
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|