Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

is Seam just another framework?

 
Anthony Karta
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi authors,

Where does Seam fit in JEE 5 architecture? is it like Struts minus JSF?

TIA
anthony
 
Michael Yuan
author
Ranch Hand
Posts: 1427
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Seam ties together various components in Java EE 5. For instance,

* It allows you to use EJB3 session beans and even JPA entity beans directly as JSF backing beans -- hence eliminating all those XML in faces-config.

* It integrates jBPM in JSF to allow much better page flow (no returning arbitary string from JSF beans).

* It vastly improves the EE security model and integrates Drools to support rule-based per-instance security.

* It integrate Hibernate in a stateful manner to eliminate the common lazy loading errors. (Seam and Hibernate are both invented by Gavin King).

* It allows JavaScript on the client side to access server components directly -- much like DWR -- for Ajax.

* It integrates iText for generating PDF directly from JSF pages, Quartz for asynchronous and cron tasks etc.

Of course, there are much more than what I listed here. Go find out in the book. Everything in Seam is driven by annotations -- very few XML is needed.
 
Anthony Karta
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Michael Yuan:
Seam ties together various components in Java EE 5. For instance,

* It allows you to use EJB3 session beans and even JPA entity beans directly as JSF backing beans -- hence eliminating all those XML in faces-config.

* It vastly improves the EE security model and integrates Drools to support rule-based per-instance security.

* It integrate Hibernate in a stateful manner to eliminate the common lazy loading errors. (Seam and Hibernate are both invented by Gavin King).


Thanks for your reply Michael.

Does Seam integrate spring and hibernate seamlessly? little xml wiring needed? is it easy to integrate other ORM api such as JPA?

thanks again
anthony
 
Michael Yuan
author
Ranch Hand
Posts: 1427
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, Seam integrates both Spring and Hibernate. You can inject Spring beans into Seam via the standard @In annotation -- no XML needed.

Seam is *designed for* Hibernate. Gavin King is the founder of both Hibernate and Seam.

You can use Seam to drive openJPA and toplink -- but you lose some functionalities such as integration with Hibernate Validator Annotations etc.
 
Anthony Karta
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Michael Yuan:
Yes, Seam integrates both Spring and Hibernate. You can inject Spring beans into Seam via the standard @In annotation -- no XML needed.

Seam is *designed for* Hibernate. Gavin King is the founder of both Hibernate and Seam.

You can use Seam to drive openJPA and toplink -- but you lose some functionalities such as integration with Hibernate Validator Annotations etc.


What happen when there is new release of spring or hibernate, can we incorporate them ourselves or we depend on Seam release?

does Seam run better on JBoss compare to other app server?

TIA
 
Michael Yuan
author
Ranch Hand
Posts: 1427
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Cannot say for Spring. But every Hibernate release will be tested extensively against Seam -- as I said, Hibernate and Seam are developed by the same people.

Seam runs better on JBoss only in the sense that most Seam developers choose JBoss as their app server. Hence it is tested much more extensively on JBoss than other app servers.
 
Anthony Karta
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Michael Yuan:
Cannot say for Spring. But every Hibernate release will be tested extensively against Seam -- as I said, Hibernate and Seam are developed by the same people.

Seam runs better on JBoss only in the sense that most Seam developers choose JBoss as their app server. Hence it is tested much more extensively on JBoss than other app servers.


Thanks again Michael.

My last question, Does JBoss Seam wrap spring, hibernate, JSF etc behind its API? will be another learning curve to understand how Seam works then?

TIA
anthony
 
Michael Yuan
author
Ranch Hand
Posts: 1427
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well, Seam has its own programming model. So, yes, there is a learning curve.

But the benefit is that you will be able to write your applications in a much more consistent manner than before -- not some Java code here, some XML there as it is today.
 
Krishna Srinivasan
Ranch Hand
Posts: 1862
Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Good Introduction article on JBoss Seam
http://www.javabeat.net/jboss-seam/2007/06/jboss-seam-introduction/
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic