Web 2.0: How to close the gap between consumer and business expectations by using JSF and AJAX

The following online presentation/demo about Exadel‘s new Ajax4jsf component library sums up nicely why you shouldn’t try hacking your own AJAX code but use an AJAX enabled JSF component library (like Ajax4jsf and others) instead:

Ajax4jsf: Rich Internet Applications with JSF and AJAX

In short: It’s all about ensuring good maintainability and hence transparency (in the sense of encapsulation and information hiding) while delivering a rich user experience nonetheless. Handcrafted, customized AJAX pages quickly tend to get complex and confusing and hardly ever follow important software architecture principles like modularization, abstraction, loose coupling, information hiding and encapsulation. The result is a piece of code that meets the consumer expectations at best (interactivity, responsiveness, etc.) but is very difficult to maintain (as server- and client-side code, customized and “standardized” code are wildly mixed). Using an AJAX enabled JSF components framework instead transparently hides the AJAX part of the code from the programmer by encapsulating it in JSF components. It’s thus possible to provide rich AJAX functionality by writing JSF server-side code as usual without needing to care about the internals of AJAX at all. If none of the existing components deliver AJAX-wise what customers expect, simply extend and customize the best matching component or write your own highly customized JSF component from scratch. JSF’s flexibility and sophisticated architecture makes this possible. Doing customization like this won’t clutter up your server-side code and will thus keep it maintainable and scalable.

While I haven’t tried this particular AJAX enabled JSF component framework yet and can’t comment on its implementation at this point (here’s a nice architectural overview of the different approaches how to combine AJAX and JSF from a framework developer’s view), the sprouting of AJAXified JSF component frameworks is a clear indication that more and more developers are becoming aware of the maintainability issues inherent to plain AJAX hacking.

For more information, here’s an interview with Max Katz, senior engineer with Exadel and Ajax4jsf committer and here’s the Ajax4jsf whitepaper.

Linux World Conference & Expo ’06

Yesterday, I’ve been visiting the Linux World Conference & Expo 2006 in San Francisco for the first time. Astonishingly, the event wasn’t as big as I imagined it to be.. the booths are all located on the ground floor of Moscone Center North – which is in area comparable to one of the many floors of the Orbit/iEX in Zurich and much much smaller than the CeBIT in Hannover. I wonder whether this is really the largest Linux exposition in the world?
The number of exhibitors and presentators met my expectations however as most of the players in the Linux ecosystem were there [Update: big names missing are RedHat and Sun]. The focus of Linux World is clearly on the commercial apects of Linux, dominated by big companies such as AMD, Intel, HP, IBM, Oracle and Novell (my current employer). Apart from talking to representatives of many companies I particularly enjoyed the chance to meet with some Gentoo fellows in the .Org pavilion. Note that a usable Gentoo Linux Installer (including graphical front-end) is part of the Gentoo LiveCD for quite a while. This is a great opportunity for less experienced users to install (and hence productively use) Gentoo too, so don’t hesitate to give it a whirl! :)

Some “Web 2.0” news from “Web Montag” in Palo Alto

Thanks to the short notice of Johanna I could attend an inspiring little gathering called “Web Montag” (web monday) in the premises of Socialtext in Palo Alto. Unfortunately, I arrived a bit late as I was traveling by public transport (which was not such a good idea, will rent a car starting tomorrow ;). Also, I was quite in a hurry making it back to Berkeley on time. Nonetheless I learned about some interesting new things brewing in the “Web 2.0” space.
Gernot Poetsch is currently developing a MacOS “Leopard” based rich client aggregator which is capable of handling multimedia feeds (anticipated release is in early 2007).
Eugene Eric Kim presented HyperScope, a project that builds on the ideas behind Doug Engelbert’s first hypertext system (NLS/Augment) and promises to enable better deep linking in hypertext documents (among others). Mark Wubben quickly demoed Plazes and how it could leverage RFID (synergies to Christof Roduner‘s research in the area of ubiquitous computing?). I missed the presentation about mnemomap, but from what I can judge this looks like a very interesting project too. Note that some of the projects are looking for contributors!

Read more about the event in the summary by Peter Kaminski and Mark Wubben.

[Update: Germans interested in the “Web 2.0” might also be interested in attending the “Web 2.0 – the next generation” conference at the University of St.Gallen on Oct 4, 2006. As a side note, I can’t help feeling that “Web 2.0”, as usual with “technologies” (it’s more of a buzzword than a specific technology, actually) entering the hype curve, are highly overrated in the short run (i.e. right now), but probably underrated regarding long term implications]

ScatterChat – secure, anonymous instant messaging

ScatterChat is a HACKTIVIST WEAPON designed to allow non-technical human rights activists and political dissidents to communicate securely and anonymously while operating in hostile territory. It is also useful in corporate settings, or in other situations where privacy is desired.
It is a secure instant messaging client (based upon the Gaim software) that provides end-to-end encryption, integrated onion-routing with Tor, secure file transfers, and easy-to-read documentation.
Its security features include resiliency against partial compromise through perfect forward secrecy, immunity from replay attacks, and limited resistance to traffic analysis… all reinforced through a pro-actively secure design.

Will evaluate it ASAP

Relay – A free AJAX file/directory manager AND Gliffy

The home page of Relay: http://ecosmear.com/relay/
The online demo: http://ecosmear.com/relay/demo/

Cool stuff, comes close to one of my long-standing visions (no details at this point ;). Would be an interesting base for extensions, once they have open sourced it. (Credits for the pointer: superdeluxe.ch)

Some other interesting AJAX links:

How to Make Your AJAX Applications Accessible – 40 Tutorials and Articles

Gliffy.com – Create and share diagrams online

(Credits for the pointers: weblogger.ch and yoda.ch)

Eclipse Callisto release on June 30, 2006

If you missed the rumors so far.. tomorrow Friday, Eclipse Callisto will be released :)

Astonishingly, centralization seems to be the only reliable way to ensure plugin compatibility within the Eclipse ecosystem.. considering that one of the design patterns gurus, Erich Gamma, is a major driving force behind Eclipse.

I hope I’ll find the time tomorrow to quickly test-drive it regarding support of JSF/Java Server Faces (so far, I used Exadel Studio most of the time, but meanwhile, I’d expect WTP to be ready for JSF as well)

Yep.. going strong as always ;)

While trying to process my to-do list (lower prio things will have to wait, as usual) I just noticed that Andres and Pascal have blogs too for quite a while.

Regarding my own blog, I still need to finalize the migration to wp. As you guessed, there are lots of higher priority tasks that need to be done first. Of course I’d also have lots of interesting things to blog about. Let’s see whether I can again share some of the findings and experiences with you from time to time..

Server (almost ;) migrated

I’ve finally managed to migrate this server from the Via Eden barebone to the new, powerful Dual-Xeon EMT64 server :) Now it runs as a Gentoo Xen domU guest on a Gentoo dom0 host with LVM2 (If in doubt, use LVM2 instead of a flat file for performance reasons). It’s neither fully operational nor fully optimized yet (I will do another migration in the background), but it does its duty for now.