tag:blogger.com,1999:blog-427258967255390991.post8046589288434976524..comments2024-03-01T16:24:46.081+08:00Comments on The Tech Faucet: Java EE 6 doesn't "just work" in even trivial real-world usesCraig Ringerhttp://www.blogger.com/profile/02343803844223399065noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-427258967255390991.post-53243712631505194152013-03-07T19:52:38.234+08:002013-03-07T19:52:38.234+08:00Just to add my 2p - I've developed in a lot of...Just to add my 2p - I've developed in a lot of other languages (From Pascal/BASIC through to C#) and am currently required to migrate some of our C# code to Java for a specific deployment. As a newbie to the arena, I can say that I'm finding Java to be incredibly frustrating. It feels like for everything I'd normally do in 2 lines, I now need to use 20 and edit some config files. Added to that, I've had to start over 3 times now because it turns out that the tutorial I'm following is out of date.<br /><br />Right now, I'd kill for an MSDN equivalent with the "correct" (or at least latest) way to do something and - dare I say it - _good_ code examples.<br /><br />At the moment, all I keep thinking is "What a lot of effort for something that should be simple". I'm spending far tooo much time reading up on 30 different approaches, each with their own set of deficiencies/quirks, etc, when all I actually want to do is solve the business problems I have.<br /><br />Surely the dev tools/environment/etc... Should be there to make solving real problems easier? Not make me learn 10 different ways to retrieve/parse JSON from a RESTful API before finding a suitable one?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-3667737514651752112011-07-15T09:28:46.601+08:002011-07-15T09:28:46.601+08:00An update on this: With Seam 3 now at release qual...An update on this: With Seam 3 now at release quality, it reduces the pain of using EE 6 significantly. There are still plenty of <a href="http://blog.ringerc.id.au/2011/07/java-ee-6-traps-pitfalls-and-warts-list.html" rel="nofollow">pain points</a> and <a href="http://blog.ringerc.id.au/2011/05/using-seam-3-with-glassfish-31.html" rel="nofollow">using Seam 3 on Glassfish requires some additional work</a> but it's a big improvement.Craig Ringerhttps://www.blogger.com/profile/02343803844223399065noreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-86622069084425566772010-08-27T02:14:51.663+08:002010-08-27T02:14:51.663+08:00Don't use the snapshot. Use Alpha3Don't use the snapshot. Use Alpha3Lincoln Baxter, IIIhttps://www.blogger.com/profile/03846690654003007106noreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-10412766813407238682010-08-25T16:02:10.255+08:002010-08-25T16:02:10.255+08:00Hmm. No go with SeamFaces so far. Updated the proj...Hmm. No go with SeamFaces so far. Updated the project to Maven 3, added the required repositories, enabled access to the snapshots, and added a dependency on org.jboss.seam.faces:seam-faces:3.0.0-SNAPSHOT. It pulled in version 3.0.0-20100824.040350-4 (the latest). However, if seam faces is in the dependency list and therefore bundled into the .war, the app fails to deploy on Glassfish 3.0.1 even if it doesn't explicitly use seamfaces anywhere:<br /><br />org.glassfish.deployment.common.DeploymentException: WELD-001408 Injection point has unsatisfied dependencies. Injection point: field org.jboss.seam.faces.transaction.TransactionPhaseListener.transaction; Qualifiers: [@javax.enterprise.inject.Default()]<br /><br /><br />(Full error here: http://pastebin.com/sScywJWf)<br /><br />There's no alpha release later than April, and the CDI support for FacesConverter was added after that according to the roadmap.<br /><br />Could try on Glassfish 3.1...Craig Ringerhttps://www.blogger.com/profile/02343803844223399065noreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-30984722964849887282010-08-25T14:44:48.802+08:002010-08-25T14:44:48.802+08:00Hmm. Just found the real status list for the modul...Hmm. Just found the real status list for the modules, which isn't exactly hidden, though it'd help if the SeamFaces page referenced it.<br /><br /><a href="http://seamframework.org/Seam3/ProjectStatusAndDirection" rel="nofollow">http://seamframework.org/Seam3/ProjectStatusAndDirection</a><br /><br />It doesn't provide much detail or any real indication of whether each module is in a potentially usable state, though. The lack of milestone releases for "less broken" snapshots of SeamFaces and the currently broken build doesn't reassure.<br /><br />Also: The issue with injection into converters doesn't appear to be covered in the <a href="http://seamframework.org/Documentation/JSF21" rel="nofollow">seam JSF 2.1 wishlist </a>, which is surprising for an acknowledged issue in the spec.Craig Ringerhttps://www.blogger.com/profile/02343803844223399065noreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-75617715918903143712010-08-25T13:24:12.379+08:002010-08-25T13:24:12.379+08:00Lincoln,
Thanks for taking the time to read and t...Lincoln,<br /><br />Thanks for taking the time to read and think about this, and for your comments.<br /><br />I'm aware of SeamFaces (and want to thank you for your work on it and in improving JSF in general) but I'm also aware it's prerelease code. There's no clear indication of *how* prerelease it is - whether it's at the "not production tested, but feature complete" or "beware, eats kittens" level of readiness. The release plan on the <a href="http://seamframework.org/Seam3/FacesModuleOverview" rel="nofollow">project page</a> says:<br /><br />"(status: draft) - This plan is still being defined."<br /><br />and the release plan shown suggests that it's about half-way to feature-complete. It looks like something to watch, but not to use even in new code a long way from release.<br /><br />OTOH, yesterday I found a Seam status update:<br /><br />http://planet.jboss.org/post/seam_3_status_update<br /><br />that suggests that it's closer to beta status, though it gives no indication of what that means in this case or what the status of the various components in SeamFaces is.<br /><br />I'm usually more than happy to work with pre-release code - I learn more and faster that way, and by the time my code is ready to be deployed the bleeding edge has generally turned into the current stable version. OTOH, it needs to be finished enough to work for the intended purpose, and from the site it's hard to tell if Seam Faces 3.0 fits that description yet.<br /><br />Perhaps some edits to the SeamFaces page that provide an indication of what's ready for wider testing and non-production use would help?<br /><br />The other problem is that you need to know it exists, and that you need it. It takes a while to get to the point of realizing that FacesConverters aren't *supposed* to support injection, let alone finding out that there are efforts underway to address that limitation. Again, the issue is with the lack of broad overview documentation as much as anything.<br /><br />I'd be interested in what you think of the Java EE 6 conceptual overview I'm working on here:<br /><br /> <a href="http://soapyfrogs.blogspot.com/2010/08/java-ee-6-is-not-product-you-can.html" rel="nofollow">http://soapyfrogs.blogspot.com/2010/08/java-ee-6-is-not-product-you-can.html</a><br /><br />... as I'm trying to put something together that'll help someone who doesn't already know EE 5 figure out how it all fits together, where the pitfalls are, etc.<br /><br />Anyway, I actually really like what I've seen of the EE 6 stack so far, I just took issue with your suggestion that it "just works". Between bugs, spec oversights and documentation issues, it doesn't "just work" - but once you know where the potholes are and how to avoid them, it does work and work well, and continues to improve. I just hope EE 6 can be polished for a while before an EE 7 sweeps through breaking things all over again...Craig Ringerhttps://www.blogger.com/profile/02343803844223399065noreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-30942122642559667102010-08-25T02:05:26.196+08:002010-08-25T02:05:26.196+08:00Also, you should look at the JBoss Seam 3 project....Also, you should look at the JBoss Seam 3 project. <a href="http://seamframework.org" rel="nofollow">http://seamframework.org</a>, the frustrations you're having about lack of CDI integration are specifically addressed by these projects.<br /><br />Consider EE to be a launching point, designed to be extended by 3rd party frameworks like Seam, which make things much easier to use and be productive.<br /><br />Seam faces in particular:<br /><br /><a href="http://docs.jboss.org/seam/3/faces/reference/snapshot/en-US/html_single/" rel="nofollow">http://docs.jboss.org/seam/3/faces/reference/snapshot/en-US/html_single/</a><br /><br />Specifically addresses most of your JSF concerns about injection in Converters and Validators, and I know that JSF 2.1 is also going to be fixing that in the core JSF framework itself.<br /><br />If you look deeper, you'll see that folks are aware of the problems, and are working on providing solutions. As you said, though, it is new, and it's still getting better :)Lincoln Baxter, IIIhttps://www.blogger.com/profile/03846690654003007106noreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-27267203096496320322010-08-23T12:18:05.138+08:002010-08-23T12:18:05.138+08:00I don't disagree with a lot of the frustration...I don't disagree with a lot of the frustrations you have, though, I think that the primary cause is due to something you mentioned in your last statement.<br /><br />( <a href="http://ocpsoft.com/opensource/the-problem-is-not-the-system-the-problem-is-education/" rel="nofollow">http://ocpsoft.com/opensource/the-problem-is-not-the-system-the-problem-is-education/</a> )<br /><br />Working on that part ;)Lincoln Baxter, IIIhttps://www.blogger.com/profile/03846690654003007106noreply@blogger.comtag:blogger.com,1999:blog-427258967255390991.post-39601734780373070742010-08-23T12:15:50.782+08:002010-08-23T12:15:50.782+08:00This comment has been removed by the author.Lincoln Baxter, IIIhttps://www.blogger.com/profile/03846690654003007106noreply@blogger.com