3 Replies Latest reply on Sep 15, 2011 4:23 PM by stupserich.rudi.strasser.gmail.com

    Weld (Seam 3?) - a missed opportunity

    tony.herstell1

      Please accept this as constructive and don't flame me too hard! I had a case of the Emperors clothes! let me explain...


      .


      With Seam2 the whole process was to download Seam2 and get stuck into the excellent documentation. Seam 2 was EASY/SIMPLE etc.


      The POINT was Seam 2 was a full EcoSystem (like Spring actually).


      If I wanted a module to do something; Seam developers seemed to read my mind and a module would appear. Icefaces and then RichFaces components simply rocked my world for ease of use and it was great to see the examples appear in Facelets/RichFaces format over time.


      The SECOND POINT was that Seam 2 was all about simplicity; as an example; even a simplified security mechanism was added as an option to the standard one.


      I trusted Seam 2 Framework developers to do the hard stuff to make my life easier!


      .


      So... With Seam 2 it took a long time before I even knew where the demarcation lines between XHTML, Facelets, JPA, JSF within Seam actually WERE ! as I DIDN'T NEED to know to actually USE SEAM2 effectively (which I did!). An Entity as was Seam entity; Who cares if it was part of JPA and/or Hibernate and or something else... I didn't need to know! It was just SEAM and I needed just ONE document! (I still wonder about the two types of Entity managers!).


      .


      Now we come to Weld and the whole paradigm has broken as the whole learning curve has exploded...


      Starting with Maven (yes it is a must as Ant does not even build the project unless you run the maven scripts first to get the artifacts).


      Moving onto the documentation is a mission based on framework stuff that you really don't need to know to just get started.


      It took till page 41 (getting started) of the Weld doco to put the panic and confusion aside (slightly) and get to hello world!


      With new staff (new to Seam in most cases) I am still asking them to read and do Seam 2. I send them the Seam 2 manual and require them to read and work through that and do some Seam 2 to excite them... even though the intent is to move to CDI/Weld/Seam3 at some point...


      .


      Now to the emperors clothes:


      I though it was just ME! but I have talked to a few people (including a guy that was so smart he solved more of my Seam problems over skype than the forumsd did; and he didn't even use SEAM 2 (he put me onto Seam originally and is now looking at CDI)) and get the SAME answer. CDI/Weld is just too hard to get into.



      To keep this short; I have to say that Seam 2 was easy to get into and Weld is not.


      I know I have to go to CDI/WELD/SEAM 3 as Seam 2 is unsupported (sadly) but from what I have learnt and done so far it's not exactly appealing.


      .


      What is the answer...


      Review Seam 2 and see what was SO GOOD; what made it so simple to get into and learn from that... Employ the services of technical writers! - PLEASE! i want CDI/WELD/Seam3 to succeed or I would not have written this.


      ---


      (aside)...


      I actually made SEAM2 EVEN EASIER by eliminating the need for ANT or ANY form of build system. No need to elaborate too much but it involved just creating a project by exploding and EAR for a demo (booking I think for Seam 2 as it was so long ago now) and creating a project based on that and then dropping in replacement jars into my projects when a new Seam 2 (or RF) release happened and this allowed the use of MyEclipse Zero build/deploy system so I could happily updated files and see the effects instantly... What a JOY and highly productive.


      I have created the same project in MyEclipse and when they fix why Jboss 6 doesn't run up I will be away again! Horrah!
      Jboss 7 may be a lot harder (and dumped by me) as it warns about a problem when just dropping in new files into the exploded area :(

        • 1. Re: Weld (Seam 3?) - a missed opportunity
          shane.bryzak

          No flames from me Tony, I understand that a lot of people are having difficulty getting up to speed with Seam 3.  I'm pleased to say that the team is acutely aware of this issue, and we are working very hard to remedy the situation.  Jason has been preparing a brand new getting started tutorial, and I've been working on a new web site called Seam University which is eventually going to be chock full of tutorials, articles and how-tos about how to develop applications in Seam.


          I can very easily summarise the cause of these difficulties in a few words - we've had to start over again.  Seam 3, while it has a 3 in the version number is essentially a totally new project.  While we have replicated some of the functionality of Seam 2, and even refactored some of the code, most of what you see in Seam 3 is new, and it's been put together in a relatively short amount of time, by a very small group of people.  The pain that people are experiencing in migrating to it after being so familiar with Seam 2 I'm sorry to say is unavoidable, however I believe that it will be orders of magnitude better for them in the long run.  Already Seam 3 does a number of incredible things that weren't even dreamed of in Seam 2, and it's continually improving.


          So, while I'm confident in saying that the upcoming 3.1 release will go some way toward alleviating the pain for new users, I hope I can assure you that future releases of Seam will go even further to make the ramping up experience more of a pleasure for new users.

          • 2. Re: Weld (Seam 3?) - a missed opportunity
            tony.herstell1

            Hi Shane it is great to hear about how Seam 3.1 is progressing.


            I was so confused it took me a long while to find out which document I had to read first! I took a punt and started with Weld doc which I think was the correct document to read first.

            • 3. Re: Weld (Seam 3?) - a missed opportunity
              stupserich.rudi.strasser.gmail.com

              Hi Shane,


              great to hear that you are aware of the issues (see my post earlier today). What I don't quite get is, why you were offering such a limited amount of examples (be it really simple ones each at a time) which would work off the shelve. People might have different ways of learning stuff. For me it's ten times easier to analyze an example, modify it, play with it, as compared to read 1000 pages of documentation.


              I'm afraid that only the developer understand what's actually meant in large portions of the reference documentation.


              I would really love to jump the initial hurdles with Seam3 in order to benefit from the beauty of the ideas behind.


              In any case, I'm looking forward to the improvements you made and thanks for that in advance....


              Take care,
              Rudi