Re: Is Seam to Solve Problem?
Is Seam meant to solve a problem which is quite frequent and not been solved by MVC and Injection Frameworks?
Seam is not by itself a MVC framework. It uses annotation for dependency injection and outjection (as opposed to XML). But there are other annotation-based DI frameworks as well. The value of Seam is that it integrates many different technologies in a seamless manner.
To give you an example: We all know that many web applications can really benefit from the use of a Business Process framework and a Rules frameworks. But in reality, few people use BPM/Rules frameworks in their app. They hardcode the business logic to Java code. Why? That is because integration is too hard. In fact, most people are still struggling to integrate MVC with ORM (no, it is not a solved problem in Spring -- you have to use OpenSessionInView to handle lazy loading at the web tier. But that brings in new problems). Seam makes web tier lazy loading automatic.
Seam makes it really easy to integrate other frameworks to your web app. So, you see people use jBPM, Drools, iText, Quartz, Groovy, and many other frameworks with Seam to improve their web apps.
If so, What type of problems it solve.
We already have a bunch of Light Weight Frameworks like Spring,Hibernate.But Seam seems to be a heavyweight framework??
How relevant is it to the present world Mr.Johnson?
Other examples of problems Seam solve:
* No programming in XML
* Build a web site that can work in multiple browser tabs.
* Build a shopping cart with working BACK button (even after you checkout)
* Build fancy Ajax web sites without writing Javascript (well, that is something JSF solves, but still it is provided in Seam)
* Build web sites that serve dynamic PDF documents
* etc etc
As for whether Seam is "lightweight", please define "lightweight". If we are talking about memory footprint here, Java servlet and JDBC are lightweight -- yet I do not see many people building apps directly on those technologies. If you are talking about "POJO component independent of framework", then Seam is at least as lightweight as Spring -- you can use Spring to wire together Seam POJOs.