IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Seam Java Discussion :

Seam, but l'utilisation


Sujet :

Seam Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Par défaut Seam, but l'utilisation
    Bonjour,

    j'aimerai comprendre le réelle apport de Seam ?
    Si j'ai bien compris Seam permet de relier directement une page JSF à un Bean (EJB 3) ou les apports sont-ils autres d'avance merci.

  2. #2
    Membre confirmé
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2007
    Messages : 118
    Par défaut
    S'en passez des BackingBeans me semble d'une grande utilité puisque ça permet d'éviter une "couche supplémentaire"!

    Utilisation des annotation: Même si beaucoup de programmeur préfèrent l'utilisation des fichiers xml pour la configuration "faces-config.xml", personnellement je me trouve à l'aise avec les annotation.

  3. #3
    Membre chevronné

    Inscrit en
    Février 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 122
    Par défaut
    La productivité essentiellement, Seam apporte un réel gain de temps de développement.

    Les mécanismes apportés, et la facilité de développement de composants réutilisables sont déconcertants une fois qu'on a pris le coup.

    Je rajouterais aussi l'intégration : Seam intègre nativement EJB3, JSF, Hibernate/JPA, Richfaces ou IcesFaces au choix, Drools, Jpbms, la gestion des pageflow/workflow tout ça sans rien faire. Or quant on a tenté de faire marcher rien que 3 de ces éléments ensemble, soit même sans aide c'est vraiment laborieux.

    La gestion des transactions sur des composants plus léger que les EJB, les composants Seam sont transactionnels ce n'est pas rien.

    Le mécanisme de bijection : injection et outjection de dependance par les annotations @in et @out en précisant le scope pour l'outjection.
    Pour l'injection seam se debrouille tout seul avec le nommage des objets grâce à ce qui est fait en outjection ou avec l'annotation @Name.
    Ce mecanisme est dangereux car beaucoup ont tendance à travailler à l'ancienne en mettant tout dans la session, mais si on utilise proprement les contextes et en particulier la conversation que j'aborde après il deviens très puissant, et facilite grandement le travail.


    Enfin actuellement, quelque soit le langage pour gérer l’état conversationnel dans une application Web il n’y a qu’une seule solution : stocker les informations dans la session HTTP, ce qui entraine de nombreux problèmes de purges des informations et de ré initialisation.
    Seam a alors introduit la notion de conversation longue, définie soit de manière implicite avec des EJB de type Stateful, soit de manière explicite en déclarant le contexte de la conversation. Le développeur peut ainsi choisir à quel moment commence la conversation et à quel moment elle se termine.

    Le premier exemple cité dans la documentation de Seam pour convaincre à son utilité est très parlant pour comprendre l’intérêt, par exemple, de la conversation :

    Prend le cas d’un site web de réservation d’hôtel, si l’utilisateur a ouvert deux onglets sur le site et parcours les informations de deux hôtels différents, les informations visualisées par l’utilisateur sont stockées dans la session. Maintenant admettons qu’il trouve un hôtel à sa convenance, il va effectuer la réservation. S’il retourne sur son autre onglet, il risque probablement d’avoir des valeurs tout à fait fausse affichés à l’écran car il y a de forte chance, comme sur la majorité des sites web bloqués aux contextes de bases de stockages des objets (Request qui ne va maintenir aucune donnée, page qui va perdre les données dès que l’utilisateur change de page, et session qui sert un peu de décharge à tout ce qui doit être conservé plus longtemps que la page).

    Seam résout donc ce type de problème grâce à la conversation, on peut désormais programmer un composant avec à état conservé en ayant la certitude de n’avoir aucun problème d’accès concurrent ou d'ambiguïté de contextes.

  4. #4
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    +1 pour Mikrob

    En particulier pour les applications Ajax, le scope request est trop court et le scope session est trop long. Il en fallait donc un ou plusieurs en plus : conversation, mais aussi page (façon seam).

    A noter que Seam n'est pas le seul à apporter ces scopes supplémentaires, Shale fait de même. Ce qui prouve au moins que c'était un vrai besoin.

Discussions similaires

  1. XML dans quel but l'utilise-on
    Par zemzoum89 dans le forum Format d'échange (XML, JSON...)
    Réponses: 12
    Dernier message: 04/10/2010, 23h53
  2. Etude de cas en utilisant Jboss Seam et EJB3?.
    Par KING_OF_GRACELAND dans le forum Seam
    Réponses: 1
    Dernier message: 14/02/2008, 23h49
  3. [Smarty] But et utilisation
    Par sonia5 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/08/2007, 12h08
  4. [VBA] Plusieurs modules : But et utilisations ?
    Par NiKoTiNe dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/05/2007, 16h18
  5. Utilisation de DirectShow à but lucratif
    Par innosang dans le forum DirectX
    Réponses: 2
    Dernier message: 14/03/2007, 08h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo