What are the advantages/disadvantages of Seam over Spring?

Josh  picture Josh · Jun 6, 2009 · Viewed 17.4k times · Source

What are the advantages/disadvantages of Seam over Spring? Why would I use Seam in lieu of Spring?

Is there anything that can be done in Seam that can't be done in Spring? Anything in Spring that can't be done in Seam?

What about stateful/stateless architecture? I am a Spring user, so I am biased, naturally.

Answer

soldier.moth picture soldier.moth · Jun 6, 2009

Why Spring?

  • Cleaner code
  • Streamlined application configuration
  • Nice integration with popular open source products
  • First class AOP support
  • Enterprise-scale security: Acegi
  • Highly flexible MVC
  • Abstracted data access (JDBC is OK)
  • Enterprise Java without EJB
  • Testing is easy

Why Seam?

  • Merge Java EE 5 standards (EJB 3.0, JPA, JSF, Annotation) seamlessly
  • Stateful by design
  • Bijection
  • Integrated Ajax (ICEfaces and Ajax4JSF)
  • Business process integration (jBPM)
  • Business rules integration (Drools)
  • Workspace management
  • Deliver complete stack (from JBoss & RedHat)
  • Seam Text and EL enhancements
  • Probably will be a standard (JSR-299: Web Beans)

From Framework Deathmatch: Spring vs Seam. Thomas Wiradikusuma (Spring). Joshua Jackson (Seam). Java User Group Indonesia. JaMU 07.03. March 17, 2007 power point presentation here