• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why JSF for SEAM?

 
Jaikiran Pai
Marshal
Pie
Posts: 10447
227
IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Michael/Thomas,

I havent used JSF before, nor have i tried my hands at SEAM yet. As per Gavin, one of the reasons (or i guess the primary reason) why SEAM was started was :

Seam was born out of our frustration with the limitations of todays stateless application architectures (stateless session facade, Spring, RoR, etc), which do not include constructs for modeling optimistic transactions, and therefore cause all kinds of problems for Hibernate users (LazyInitializationException and his friends).

- Quote taken from here

My question is why was JSF singled out or rather chosen for SEAM? The LazyInitializationException and the stateless architecture was common in other application too (for example application using Struts).
[ June 05, 2007: Message edited by: Jaikiran Pai ]
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Funny you should ask this question.

I think of the biggest point is that Seam is there to fill in the gap that is missing in Java EE 5. And JSF and EJB3 are all standards and part of that spec, which is most likely why those are used.

Mark
 
Jaikiran Pai
Marshal
Pie
Posts: 10447
227
IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And JSF and EJB3 are all standards and part of that spec


Ahhh... I didnt know JSF was part of the spec. Now that explains why SEAM uses JSF. Thanks Mark
 
norman richards
Author
Ranch Hand
Posts: 367
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When starting Seam, we actually looked around at the various web frameworks. JSF was ultimately chosen because:

It is a standard.
It has an extremely powerful and flexible request/response model that provides what we need for complex features like conversations and intelligently-managed persistence/tx
It supports a component-based development model. Not only is it simpler and more powerful than action-based frameworks, it has a lot of potential for tooling.

However, Seam really doesn't have to use JSF. It's entirely possible for someone to decide they would rather use a different web framework and to write the integration bits for that framework. I don't foresee that happening because JSF turns out to work really well in practice, at least in the context of Seam where we have already taken the rough edges out.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic