Weld (Seam 3?) - a missed opportunity
tony.herstell1 Sep 6, 2011 7:18 PMPlease 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 :(