June’s Atlanta Java Users’ Group covered AJAX – while not purely a Java topic, I firmly believe that it will become one of the “must have” skills for J2EE development in the near future, at least for apps with a user interface. Some folks from a local software company, ClearNova, showed up to present. The topic expanded a bit further to encompass Rich Internet Applications.
The usual XMLHTTPRequest approach was mentioned, but the less frequently mentioned hidden IFRAME strategy was also mentioned (though not technically XML). IFRAME has an advantage in that it can point to any server. XMLHTTPRequest must point to the same server and port that the page was loaded from, but is apparently faster than the IFRAME approach. Hidden IFRAME loading may also cause the user to see status bar changes our hear “click” noises.
Overall, AJAX makes good demo-ware. They showed several different examples of pulling data from the server. The real challenge with AJAX seems to be manageability. There are few patterns out there for just how AJAX functionality should be arranged for maximum maintainability and following good design principles. It seems like right now, it is easy to put into an app, but perhaps hard to do so in a clean fashion. Maybe part of that is just my impression of javascript development – a pain, and difficult to debug.
Suggested resources:
- AJAX Patterns web site
- Java-specific Frameworks: Echo2, DWR, ThinkCAP (our presenters’ product).
- ajaxpatterns.org
- ajaxpatterns.com
- Prototype – OO javascript library for XMLHTTPRequest, includes various nifty effects, and is the basis for Ruby On Rails’ AJAX support
- Sarissa – XML library for XSLT, PHP specific
ThinkCAP did show the typical J2EE “Store” implemented using their product. They floated the typical Gartner stats pushed by the “simple IDE” vendors, touting a continued linear growth of “hands on the code” developers couple with exponential growth in “point and click” developers. If anything, I’ve personally seen the demands of business applications become more complex, driving higher demand for highly technical developers, but maybe the vendors will get there someday. Their product may be right for some companies and projects, but I don’t think I’ve ever been on a project that would have benefitted from them.
The meeting was definitely worthwhile – I’d encourage you to check out the video of the presentation once they post it on the AJUG web site.
There are some companies buying the ClearNova line. However, the product has to be sold into management as any technical people will dismiss it. Also, you only get all the benefits if you are not using any J2EE data access entities like EJBs and/or DAOs since the product is geared toward a direct linking of the web tier to the database.