views:

223

answers:

2

I have been using Seam-gen with a small sample database to help me learn the Seam framework. Now I am going to build a more complex application. Are there disadvantages or things that I should watch out for if I decide to start from a seam-gen project?

+3  A: 

Are there disadvantages or things that I should watch out for if I decide to start from a seam-gen project ?

No.

  • A Seam-gen generated project can be opened without any restriction in NetBeans (like another project)
  • If you use Eclipse, some settings are needed.
  • Seam-gen takes care includes all libraries
  • It creates by default, production and development profile. It helps you develop faster, without deployment.
Arthur Ronald F D Garcia
+2  A: 

I agree with @Arthur.

And I would like to add these:

  • Use seam-gen to get quickly started with ant script, deployment and libraries.
  • Do NOT use the Seam Entity/Query Framework (EntityQuery, EntityHome, EntityList classes)
    • There are many reasons for this, but mostly because it adds an extra layer of abstraction, and it is very difficult to scale and improve performance on these objects.
    • It complicates things unnecessary. Better to just develop your components and minimalize the component to only do what it is supposed to do, hence increase performance
Shervin
@Shervin Hi, Would it be possible you show **some scenarios** where Seam Entity/Query Framework does not fullfil your application ? You talk about **extra layer of abstraction** and **very difficult to scale**, but can you show, by example, why ? Thanks in advance
Arthur Ronald F D Garcia
The easiest way to show you I guess is to just have a print or debug statement on the getReturnList() (which you must override) for this to work.You will see it is executed numerous times. This is not just because of JSF.Do the same thing with a normal Seam component that returns a List and you will see the difference.There are many good examples in Seam in Action by Dan Allen. I recommend reading that book.
Shervin
@Shervin Good to know (+1). But remember Seam Entity/Query framework provides you a way to manipulate your Entity through Mediator pattern, instead of ActiveRecord pattern, used in RoR or Grails, for example. With regard to perfomance, you can see a must read article http://www.jsfcentral.com/articles/speed_up_your_jsf_app_1.html with Dan Allen.
Arthur Ronald F D Garcia
@Arthur Ronald F D Garcia: Yes I have read that article and am familiar with it. The points being made there are not specific to Seam EQ Framework. It is ok for a small crud like app tough.
Shervin