Sunday, January 20, 2008

Some Project Zero Thoughts

IBM's little Project Zero is their effort to provide a Java-based Web 2.0 framework/toolkit/whatever for building your own applications. Several things look promising, such as the list of core Web 2.0 services (commenting, tagging, rating, etc) at http://www.projectzero.org/wiki/bin/view/Documentation/CoreGettingStartedZeroZone.

But looking at it raises more concerns and confusions. I could just be wrong, but here are some criticisms.
  • They seem to be providing their own Web server container, which is a really bad idea. How do I port this to some other Web Server like Tomcat or Jetty?
  • I managed to stumble on a bug in their simple "to-do" list application--only the last item in the list gets deleted properly.
  • They rely on Groovy as their Java Web framework (you can also develop in PHP). Groovy may be nice, and it does sound sort of like "Ruby", but there are also a lot of JSP developers out there. Why ignore them? Having seen a lot of Java ideas come and go, I am really reluctant to embrace anything but the lowest common denominator technology from them.
  • The packaging of the tutorials is nice and easy to get going (looks like maven or ant under the hood of some scripts), but I have to critique them a bit on their documentation (or maybe I didn't read carefully enough) here: it was not clear until I dug a little more that the methods implemented in
    todos.groovy represent the universal Project Zero API for REST services: all services implement onList(), onCreate(), etc, and these are bound to various HTTP Methods (onList <--> GET). See http://www.projectzero.org/wiki/bin/view/Documentation/CoreDevelopersGuideREST.I think this is reasonable (after, REST is essentially a universal API, the equivalent of a one size fits all WSDL). I just wish the nice tables in the link above were shown in the tutorial.

No comments: