This document compares the Spring and Seam frameworks. It outlines their differences in areas like development, configuration, web MVC, enterprise services, persistence/transactions, remoting, deployment and more. While Spring offers more flexibility and works with various technologies, Seam provides more integrated functionality out of the box and works best on JBoss Application Server. Both frameworks have pros and cons, so the best choice depends on the specific needs and constraints of the project.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
330 views17 pages
Spring Vs Seam
This document compares the Spring and Seam frameworks. It outlines their differences in areas like development, configuration, web MVC, enterprise services, persistence/transactions, remoting, deployment and more. While Spring offers more flexibility and works with various technologies, Seam provides more integrated functionality out of the box and works best on JBoss Application Server. Both frameworks have pros and cons, so the best choice depends on the specific needs and constraints of the project.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
You are on page 1/ 17
Framework Deathmatch:
Spring vs Seam
Thomas Wiradikusuma (Spring)
Joshua Jackson (Seam)
Java User Group Indonesia
JaMU 07.03 March 17, 2007 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 Spring architecture Spring architecture, cont’d Why Seam? • Merge JEE 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) Seam architecture Seam architecture, cont’d Let the battle begin!
• Spring 2.0 • Seam 1.2 Development
Aspect Spring Seam
Project startup AppFuse Seam-gen
IDE support SpringIDE JBoss IDE
Supplied Exhaustive Good enough
documentation Logging Typical Nice @Logger Testing org.springfram SeamTest for ework.test.* for TestNG JUnit Configuration
Aspect Spring Seam
Object scoping Predefined, Predefined, not extensible extensible Custom Extensible No configuration definition XML Required Optional Annotation XDoclet-based, Built-in for transaction Web MVC
Aspect Spring Seam
Web frameworks You name it JSF View You name it JSP, Facelets Decorators Tiles, Sitemesh Facelets Pageflow SWF Seam Pageflow (stateful)
Portlet Yes Yes
Enterprise services
Aspect Spring Seam
Scheduling Quartz EJB3 @Timeout E-mail Freemarker, Facelets template Velocity E-mail No MDB receiving Security Acegi JAAS using JBoss Rules EJB 2.x Yes No Persistence & transaction Aspect Spring Seam Data access JDBC, JPA Hibernate, (implementati JDO, iBATIS, on is server- TopLink, JPA specific), Hibernate Transaction Abstracted CMT and BMT, (lets you Hibernate or scale) JBoss JTA Remoting
Aspect Spring Seam
Ajax 3rd party Built-in library (e.g. DWR) Hessian, Built-in No Burlap JSON No No Web service JAX-RPC, JAX-WS (EE5) XFire Deployment
Aspect Spring Seam
Minimum JDK 1.3 1.5, 1.4 (with Retroweaver)
Servlet container Yes Yes (using JBoss
micro container)
Application Yes Yes
server Misc
• Dynamic language support
(JRuby, Groovy, etc) • AOP • Community • Product maturity • Commercial support • Jobs available (career) Conclusion
• Know your project inside out
• Know the framework inside out • Don't abuse • Mix and match • Framework integration • You decide