Tuesday, November 23, 2004

Current Opinion of JSF - A Face with no features?

Java Server Faces has a lot going for it. However, it also has a lot of catching up to do!

JSF has been on Sun’s public agenda since 2001. A lot of lofty goals were set to produce a better Web Application framework which would become the equivilent of Swing in the browser. Sun also wanted to replace Struts, and the word is that this resulted in some contention with the Apache group. Things went stale with bureaucracy for about a year. Somewhere along the line, Sun pulled the brain behind Struts, Craig McClannahan, onto the JSF project to evangelize for them, along with some of the members of the Swing team. Meanwhile, Microsoft was gaining momentum with their .Net web framework…

So suddenly the JSF team were behind schedule before they had really started, and had to somehow mix .Net Webforms with Struts and Swing and produce it quickly. The mandate from Sun is to make this an official part of the J2EE stack and it must be built on JSPs and servlets. (However, the display technology is interchangeable. JSF apps can be front-ended by J2ME, XSTL, Velocity, Applets and Swing clients, as well as the default HTML.)

So what do we have now? JSF v1.101 - A Face with no features!

With JSF we have a framework for a component-oriented UI system – but with very few UI components! The philosophy – this is a reference implementation for J2EE application server providers to implement, enhance and extend.
JSF has introduced an object model and an event model into the fray. We have formatters and converters. Certainly better than Struts which makes us convert everything on a form into a String on its way out and back into it’s native datatype on the way back in. Without an in-built formatting component, this makes life for many Struts developers pretty miserable.
The system is an extensible reference implementation and Sun is waiting for the implementers (e.g. BEA, IBM, and the Open Source Community) to spice up their life by filling in the gaps.
However, the things that make JSF very compelling when you’re struck in between a rock (Struts) and a hard place (adopting a totally new framework) are:
- I can treat every thing on my web form as an object in a hierarchy
- I don’t have to write HTML TABLES much anymore
- When I click on something I can directly write a handler for it, with much less wiring (as in Struts)
- I can integrate Struts with this and replace bits of an existing app one at a time

The itches are:
- I may well have to write my own web interface components (but we do that anyway and it’s not all bad. At least it’s encapsulated, reusable code)
- There’s another new set of JSP tags to learn
- There is the equivalent of Struts config with a different (but better) syntax (My itches with Struts-config make me sore – so I won’t go there.)

The recommendation from the presenter of the JSF presentation, David Geary, who wrote the book Core JSF for Sun, is to use JSF with Spring and Hibernate to develop the next generation of J2EE apps.

I've got some reading to do...

No Fluff...

Here's my opinion of NFJS held here in Calgary last weekend. Overall pretty good stuff!

2004 “No Fluff Just Stuff”
Western Canada Java Symposium

Alan Biggs
Senior Java Developer
Treetop Tech

The conference was a good mix of presentations by ‘ground-level’ developers and software professionals who really know their material. If there was a theme to the conference, to me it would be “Software Craftsmanship”. As well as having many sessions to hone our skills and introduce us to new working techniques, there were also some refreshing topics to do with the Art of Software Engineering and the challenges of progressing as a professional in the workplace.
There was a welcome absence of Sales Presentations by marketers and sponsors. The content was principally technical in nature.
Most of the presenters have written software development books in their area of expertise. Dave Thomas and David Geary were the most notable of these, having co-authored the acclaimed book “The Pragmatic Programmer”, and Sun’s “Core Java Server Faces” respectively.
A very entertaining part of the conference was the Panel Discussion on Saturday afternoon, where the speakers were asked questions “on any subject whatsoever.” Questions about their biases, what new technologies excite them, their opinion of what’s on the horizon unearthed some surprising answers. A shift towards dotNet is inevitable but Java is not going away – conclusion? We will be managing dotNet front-ends to J2EE back-ends increasingly in the coming years. It will not be a bad move to have both technologies in one’s repertoire. No question was outlawed, and so a question to a panel of techno-geeks asking if they “Have a Life” returned some interesting responses!
The main threads of the conference were Agile methods, including test-first development, refactoring and implementing continuous builds. There was a detailed overview of Sun’s significant, (but already dogged,) new technology “Java Server Faces”. Open source software and honing our software engineering skills were also key topics.
Some of the more interesting topics were some views of some interesting new technologies inside and outside of the Java space, including Ruby, Spring, Tapestry and Seaside (a Smalltalk-based web application framework).

The conference was very enjoyable and represented excellent investment of our time. The topics were all current, but were not just about tools, APIs and technologies. This conference was for those developers who are serious about their profession and making continuous improvement in their field. There was plenty of meat on the menu to keep our brains churning – mixed with a good dose of humor and a chance to step back and evaluate the tasks we perform from day to day – why we do what we do, and to take pride in doing it better.

On the band-waggon...

Well I finally jumped onto the blog band-waggon. When my favourite pop artist, Howard Jones is blogging and I - a seasoned Software Developer isn't - it's time to do something about it.

Actually it was attending the NoFluffJustStuff Symposium that got me going - now I can waste even more time at the keyboard! :)

I expect we'll cover lots of topics from programming to card games, adoption to movies to British humour, and maybe a bit of religion and politics to keep it contraversial...

Anyway, onto my first serious blog...