Jboss SEAM is by far the best programming framework for Java EE development as it solves most of the problems which arose for achieving a true MVC 2 implementation. All of the other frameworks like Struts and Spring MVC when used with presentation layer specifications like JSP and JSF 1.x while almost succeeding in the arena, when it came to agile development, they created at least as many other problems – if not more - as the ones they solved. Enter Jboss Seam which uses JSF 2 for the presentation layer which is truely a Java EE specification and for the rest of the MVC paradigm which consists of the business logic and the data persistence layer achieved respectively by EJB and JPA.
Joesph Faisal Nusairat had this to say in his book Beginning Jboss Seam from Novice to Professional.Â
For years developers realized that the JavaServer Pages (JSP)/servlets paradigm was not enough to create enterprise-level web pages. That model provided the capability for a web tier that could pass objects from the client to the server, but essentially that was it. For most developers, this simple paradigm was not enough; more-complex operations were needed, and developers found themselves writing infrastructure code to deal with the shortcomings of the Servlet specification. Eventually, all the ideas learned from creating custom infrastructure code resulted in the web frameworks we know today, such as Apache’s Struts and Tapestry, OpenSymphony’s WebWork, and so forth. The Java community also got together and through the Java Community Process (JCP) created the JSF specification to tackle some of the issues raised and deal with the shortcomings of the Servlet specification.
Even though we now have web and business tiers with improved functionality, we have still been forced to create the plumbing code needed to connect them together. With Seam, however, these two areas can now focus more exclusively on what they do best—presentation and business logic.