While celebrating the "renaissance" of Web presentation development made possible by rich Internet application (RIA) technologies, including Ajax, Richard Monson-Haefel, Burton Group senior analyst, offers a specific caveat for Java Server Faces (JSF).
Developers have a choice of tools and technologies for RIA, including Flash from Adobe Systems Inc. and the more generic Ajax, and they can even mix and match as best suits individual projects, he said during a Burton telebriefing on Tuesday. But they need to beware of tools and technologies that are inflexible. The theme of the briefing, "Build for Today, Architect for Tomorrow," was that architects and developers should select technologies and approaches to today's projects that are flexible, agile and not too complex, so that today's application can be modified to fit future needs.
"Our confidence is pretty weak in JSF in general because we continue to get feedback from customers saying that the platform's too complicated," Monson-Haefel said in response to a question. He went on to say that while there are many choices for RIA, developers should be careful of using server-side development tools for a client-side projects.
Asked where JSF, Apache Shale Framework and JBoss Seam fit in since developers can't build an entire application using Ajax alone, he said: "The question is are the client- side technologies enough or do you need a server-side aspect to it? The answer is yes, and no. Certainly JSF and Shale and other things are building in capabilities that allow them to program the interface using backend APIs that will translate those into Ajax front ends. Using Web frameworks like Shale and JSF and Struts to do RIA works, but it's inflexible. Because your interface is being generated rather than being coded, you don't have as much flexibility on how it's presented."
Asked about Burton's position that the Java EE API complexity puts it at a disadvantage compared to Microsoft .NET as an enterprise development platform and did he feel that this also applies to RIA development, Monson-Haefel stuck to his guns. He reiterated the argument he made in a Burton report this past summer: "What we're talking about is not Java in general, but a particular aspect of Java, which is the Java enterprise edition and that we do believe is overly complex to the point where it actually hinders productivity.
Whether the subject is enterprise SOA or client-side RIA or the growing area of mobile applications, he said it is important to make technology choices that are both flexible and allow for experimentation with emerging technologies such as Ruby on Rails.
"A lot of organizations that have chosen to be Java EE shops right now are struggling with the complexity of the platform," he said, "and they need the versatility to be able to experiment with other platforms such as PHP or Ruby on Rails. The Java EE reports that we've put out in the past are a reflection of our perspective that although a technology may be right for today, that doesn't mean it's going to be right for you every day going forward."
As part of the Burton theme of making choices today that allow for other choices tomorrow, Monson-Haefel noted that while Ajax was the emerging technology of this past year, it is not the only choice RIA developers have.
There's also Flash and Java applets and these are not mutually exclusive choices," he said. "You can use them in combination. Many times we find that Ajax is the most powerful solution especially for enhancing existing Web apps, taking existing Web sites and adding some graphical capabilities to them. But sometimes it falls short and Flash or Java applets might be a better choice."
For example, the Adobe Flash technology is the better choice where features such as streaming animation are needed, Monson-Haefel wrote in a report on RIA released last month titled "Ajax: A Rich Internet Application Technology." He noted that Ajax isn't sophisticated enough to handle streaming video.
Beyond RIA in traditional Web browsers, he said Burton is beginning to focus on presentation technologies in the mobile world, where he noted Apple Computer's new iPhone has raised the bar.
"If you know about the iPhone you've seen what is probably one of the leading edge development for mobile application platforms," Monson-Haefel told those listening in on the teleconference. "What we see happening is more and more organizations wanting to extend their enterprise out to the mobile devices."
Currently the RIA designed for a Web browser won't work on a mobile device, the analyst acknowledged, but Apple's latest technology may open the way to a future where an Ajax application developed today will run on a next generation cell phone.
"If you look at something like iPhone, it has an embedded Mac operating system and a browser, we see that line blurring somewhat," he said. "So what I would hope to see is that the mobile devices would actually grow up to have a larger presentation that can scale to accommodate what would be seen on a browser."