Question

Question pretty much says it all, though explicitly I'm looking for the things I will probably miss about Seam 2 in a Java EE 6 environment ("losses").

For my latest (small) project JavaEE 6 or more specifically JSF 2 was a fix requirement, so using Seam 2 wasn't an option (and won't be). Even though some people said to get Seam 2 working with JSF 2, I never made it. So far I've only used Seam 2 and I fear switching to a plain JavaEE environment poses more of a problem than I'm currently aware.

The project has the following basic/core requirements:

  • Role and permission-based security concept (~50 users)
  • JPA 2 transactional persistence
  • ...

The rest will be rather GUI-based, search forms, client validation etc. which will be handled be RichFaces 4 and JavaEE 6 bean validation. There are no web services, no restful URLs, no messaging, no emailing.

I can see that using Seam security would defintitely be a loss, but I'm not sure about what Seam persistence, the entity/query framework, JBoss EL, and others would be, especially the overall programming model (navigation, EL, beans). Note that we will be able to add Seam 3 modules when it makes sense, so you might include Seam 3 in the discussion in the "gains" section.

So, can anybody clear this up a little? (it doesn't have to be a complete wrap-up, whatever springs to your mind, go ahead)

PS: I wasn't able to connect to the Seam forums so I felt I needed to ask here.

Was it helpful?

Solution

Good and understandable question - I don't see why it got downvoted.

What I can tell you - with a background of various Java EE 5 / Seam 2 and Java EE 6 / Seam 3 applications:

There is nothing that you cannot solve with Java EE 6 / Seam 3, and many things feel much more mature (e.g. typesafe CDI is way better than Seam 2 string-based components, JBoss AS 7 is so much better than all other releases).

But: While Seam 2 is more like a one-stop-solution for all requirements you might encounter in an enterprise web application, with Java EE 6 you'll almost certainly end up with more puzzling from different modules.

Seam 3 is an excellent start, but it's not exactly production-ready, at least not in all parts. So you will have to deal with problems and exceptions that still have to be solved. That's certainly a difference to Seam 2.x, where the road felt pretty good paved.

There is no equivalent to Seam 2's integrated navigation / pageflow concept. You either have to use JSF 2 navigation, or integrate Drools or something like this - on your own.

Nested conversations is something you might have liked in Seam 2. There is no such thing in CDI - but OpenWebBeans / CODI offers a nice solution as a CDI extension.

All the GUI stuff (pdf, mailing, reporting) is on its way in Seam 3 - but not 100% ready yet (9/2011). That will change in the next time - but right now, you're on your way with alphas and betas.

Having said this, here is my advice:

Switch to Java EE 6 / CDI as soon as possible (and arguable). It's so much the future. :-)

OTHER TIPS

I experienced the same. Java EE is not enough in several cases and it wasn't intended to be. So there are CDI extensions. I learned some days ago that others experienced the same:

Java EE all you need

If its too easy to be true

If you are a Seam2 user, go with Seam3 (I think they plan to provide similar stuff again - just conversations are very poor) and help them to get it stable, add features you miss,... or switch to other extensions. There are a lot e.g. we prefer MyFaces CODI, because it's very stable and fast and their notion of conversations is better. There is also a very open community and they also help a lot, listen to ideas,...

The question is not "What" it is "When will it be available in an extension". I guess as soon as someone asks for a feature.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top