Monday, August 11, 2008

JBoss Seam - Overlapping responsibilities?

Right now I am working on a project using JBoss Seam. I am getting queries about its advantages and differences. So like to discuss few of them in my blogs.

JBoss claims that Seam will shorten development life cycle. It’s true to some extent as it’s easy to create UI, EJBs, entities etc with help of JBoss developer studio. One reason JBoss gives for fast development is that Seam reduces the glue code required in application using JSF and EJB 3.0. This is done by enabling direct invocation of EJB methods from JSF. In other words EJB or entities can be used as backing beans. No business delegates in Seam. This is becoming arguing point for architects and designers from traditional 3 tier apps and frameworks.

As there are no POJO backing beans in Seam, the EJBs are becoming the first choice to include the code for ActionListeners, ValueChangeLiserners etc. These essentially will contain the presentation logic. This one way combines business logic with presentation logic. Seam also enables JSF to communicate with DB through entities. We can persist or query database using entities from JSF itself.

I advice people planning to use Seam keep the above point in mind and design classes accordingly.

No comments: