Seam 3 – What’s going on

September 28, 2011 at 9:07 pm 5 comments

Hi all!

I’ve been blogging about Seam and specially Seam 3 since a few months ago. Recently, new [and big] changes were proposed and commented at IRC channels and at this post (by Shane).

Well, I really didn’t have time to absorb everything, but I’m writing this post to report some thoughts from Seam user’s community who have showed me their opinions.

Contextualizing

Seam 3 – The Good points

Seam 3 is pretty different from Seam 2. First, the idea of MODULE is pretty awesome, it allows flexibility, freedom for developing new ideas, Maven integration (yes, was pretty hard with Seam 2); also allows new contributors have more space for implementing their ideas and so on.

Seam 3 – the main problems

I’ve been saying this since I started using Seam 3 – it has several problems. There are few examples (and the existing ones are too simple – and part of that is my fault, I really should have published more posts and tutorials), there are no books about it. Another big problem – Seam is not that simple to use – you need a big skill set to start (JEE – CDI, JSF; Maven; controlling an app server and so on); it’s not like Rails (even if you don’t know Ruby or Active record pattern, or MVC, it IS possible to get something working with Rails, even if your code gets really bad). This not happens to Seam.

Another problem reported by community – what’s Seam goal? I mean, look at Hibernate – it has a main propose – ORM. And Seam 3? Is it CDI? People ask me “Ok, I like Seam 3 modules, but what’s the main goal? For example, I use Seam Social module, but is it really related to CDI?”

These problems have created an awkward situation for developers. Lots of ppl don’t feel comfortable to adopt Seam 3 for production; this scenery  prints an image of unstable or immature framework, which I can say that is completely FALSE. Seam 3 has lots of nice features and solves several problems in an easy way. Unfortunately, I think it’s pretty hard to use; so it scares new JEE users.

Seam 3 – the new proposals

In Shane’s words, due to Seam 3 focus problem – “instead of Seam trying to capture all of the CDI extensions in one place, like Pokemon, we should be trying to propagate them throughout the greater developer community instead.” – and them were presented some changes, like moving Seam persistence, REST and faces modules to other Jboss projects.

Well, community showed their concerns about it (sending me some emails and tweets). Next, a little summary about what ppl said: (ATTENTION – THIS IS NOT MY PERSONAL OPINION)
1. Why did the guys decided it? It was a big change from Seam 2 to 3, and community is not ready for a change like that yet.
2. Ppl don’t believe in compatibility. Some developers already have Seam 3 in production systems and they are really worried about it.
3. “WHY RICHFACES?? I USE PRIMEFACES! SEAM FACES SHOULD NOT BE WITH RICHFACES” (this guy was screaming)
4. “HIBERNATE??” – same guy above
5. “bad shot. The impression that I get is that you are tired of Seam, module leaders are disperse and you are giving up of the project, fitting it into other JBos products”
6. “Seam is gonna die. ok, I’ll start my new project with PlayFMK”
7. “Come on, Red hat should hire more ppl to work with Seam and to write more docs for it, instead killing the project” .
8. “F2F == RIP Seam”
9. Modules created in a not centralized environment, so this generates communication problems and it gets difficult for creating documentation and examples.
10. “WTF??” – Seam new users and ppl that are not directly involved with community contributors or IRC channels.

In my opinion, Seam 3 has some problems (that deserve their own post), but I see good and bad things with the new changes. First, I just think that this approach caused wrong impressions, leading ppl to think the project will die or everyone lost the interest for keeping the project.
I really don’t think Shane, Dan, Pmuir (Pete), Lightguard (Jason), Gastaldi or Lincoln would abort Seam, I mean, I see these guys at IRC channels and I see their passion for the project.
But be careful – how many Open Source projects have you seen that died suddenly? There are lots of dead projects, specially at Ruby Community. Death reasons – LOST their focus, got too complex, few documentation, absence of new features. Unfortunately, Seam 3 has some common problems.
Maybe these new proposed changes help to change this situation, focusing on CDI implementations and joining some correlated modules. But IMHO, it would also weaken Seam identity by merging some parts of it with other projects. I really don’t have a clear idea about the final effects – as I said, there are good and bad parts.

Summary

– Seam is not gonna die.
– Everyone who talked to me got a bad impression about these changes. It clearly wasn’t a good approach.
– These changes have good and bad points.
– Seam 3 need more focus and solid examples.

Seam 3 has an absurd potential and more, wonderful contributors building the framework. The only thing I’d like to ask – no panic. Community, keep using Seam 3! It IS nice and powerful. Contributors – that was not the best approach, but move on and keep showing your passion and tech skills by taking care of the framework.

I feel responsible too, I’ll try to do my best to help with examples and tutorials.

I’ll keep blogging about Seam 🙂

Feel free to contact me if you have doubts 🙂

 

UPDATE

Due to the all this misunderstood, feeling hurts, opposite opinions, doubts and so on, there’s a new post from Shane trying to explain the situation in a better way. As you can see, there’s a thread at Jboss Foum where you can show your opinion about it. Would be nice if you take a few minutes to read, understand the situation and write what you think.

Also, @antoine_sd blogged about it here – very nice post.

 

Entry filed under: Uncategorized.

Seam Hack Night – September 8 JBoss in Bossa 2011 – Sucesso total!

5 Comments Add your own

  • 1. Vinicius Carvalho (@vccarvalho)  |  September 29, 2011 at 7:53 am

    Hi Hannelita! I’d say: Bullocks. That’s what all those guys are.

    I’ve been using Seam for a long time. I was a really early adopter of Seam 2, just check how old my blog posts are. And even though I haven’t used Seam 3 yet, I can appreciate all the effort being put on it.
    I don’t see any problem on answering what seam is. When I started with seam I did that because JEE was lacking few stuff:
    – Better scope
    – Darn JSF had no f***ing GET support

    Seam 2 brought all that. People just forget that a few years ago JEE 5 was still missing loads of stuff. And thanks to the influence of Seam loads of stuff happened.

    Ok, we have CDI now. I’m using it, and by using I mean: creating loads of extensions for it. And CDI is not enough. Is like JPA and Hibernate. You will never get the whole benefit by sticking with standards. They won’t suffice. I remember watching a presentation from Gavin 5 years ago when JPA 1.0 was released, and the whole reason it was so damn capped is that some providers *cough Oracle* could not follow the features from hibernate.

    So if someone asks me: Is Seam CDI? I would answer: no dumbass it’s an extension to CDI. For instance, do you get Process scope on CDI and JSF? Of course not, but you will get it with Seam.

    CDI is just the underlying glue that ties Seam. Seam will deliver all the extras that you need. And the new module system is just great.

    I really don’t think seam lost its focus, it has just adapted. Evolved into something better. It’s sad that most people can not understand.

    BTW I really would like to be on the IRC to reply to the guy that brought the PlayFWK into the scene. In my opinion that is the most overrated fwk I’ve ever seen in my 10 years as a java developer. It’s not easy, nor fun, and I would mention at least 3 other frameworks that beat it to death on any of it’s main goals.

    Cheers

    Reply
  • 2. Milos  |  September 29, 2011 at 10:47 am

    Ok. I’ve been also using seam 2 for couple of years now, and i was an ultra mega early seam 3 adopter.At first i was very disaspointed how buggy seam modules were, then again i was an early adopter of course there were going to be bugs. But still now it is seam 3.1 (well almost) and some bugs in core modules still haven’t been fixed, and no-brainer features are still missing. (For instance why don’t we yet have view actions in seam faces @ViewConfig?).

    My main concern is that by scattering modules to different products their iteroperability will become even worse than it is now.
    My other concern is that red hat will try to make you use rich faces if you want to use seam faces. Seam persistance also.

    Who is going to take on seam-cron? Quartz guys?? And what about seam social??? Twitter fellows???

    My 2c.

    Kind regards.

    Reply
  • […] point of view with the community on this matter.  You also might find interesting to read the blog post of Hannelita on the same subject.Here is my letter:This email is a tentative to gather and synthesis all my […]

    Reply
  • 4. Fhighlander  |  February 15, 2012 at 5:05 pm

    I just recently (about a year ago) started to use Seam 2. I really liked framework’s purpose. I had no experience using JEE projects, mainly because 3 reasons:

    1 – They seemed too complex;
    2 – I had no help to break through all that stuff;
    3 – Delphi looked like way more practical than JEE;

    Well, now I see that I was wrong in some ways and all I needed it was courage to start studing/using JEE webapps.

    I really hope to see more examples and tutorials with Seam 3 + JSF 2 e JBoss 7. And I think you’re doing a great job here through your posts. Thanks and let’s see how Seam 3 is going to mature.

    Reply
  • 5. presta-expert, trouver un expert  |  May 19, 2012 at 3:16 pm

    Hello,

    For me, Seam is both :
    – A lab, that allows RedHat/JBoss and the community to experiment new concepts, new programming models.
    – A fusion of layers of WebApp/BO/DAO/Persistence, and a way, then, to “quickly build application”, with the underlying J2EE

    For the lab, the CDI is a nice example of success.
    I also like a lot the Conversation concept and implementation, and look at it’s standardization.

    For the “easy way to build application”, with Java and J2EE, this nice for the community of developpers, the small projects that need or want to be with Java and J2EE but do not really need to have all the burden of J2EE.

    It is also nice as a marketing way to enter the companies : for RedHat/JBoss, it allows some companies to start with a simple project,… and then JBoss “is in the house”.
    Open source has no sales persons to sell the product itself, but it has real strategies to have the product pass the doors of the companies.
    And even with no selling action, competition is there.

    With this two “ideas” about Seam, the evolution is “normal”.

    It is normal evolution to have some Modules or “parts” going from Lab… to some established project,. It even means “consecration” of these modules and parts.

    About “building quickly some application”, this part seems to have suffered from the “experimentation” of the lab.
    Less “delivery capacity” for more “experimentation in the Lab”.
    The balance between R&D and Production have been more on the R&D.
    This is quite logical.

    This my opinion.
    That is also why I did not used it, when starting my web site and servcices based on J2EE : http://www.presta-expert.com/pexpalctnr/pcr/

    I hope these elements might help.

    Reply

Leave a comment

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendar

September 2011
M T W T F S S
 1234
567891011
12131415161718
19202122232425
2627282930  

Most Recent Posts