YOUR FEEDBACK
Cloud Computing: Do You Really Want Your Data in the Cloud?
Don Dodge wrote: D Cheng, Of course in-house systems go down. What I am sa...
AJAXWorld RIA Conference
$300 Savings Expire July 25
Register Today and SAVE!

READ DIGITAL EDITION


SYS-CON.TV

2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
TOP THREE LINKS YOU MUST CLICK ON


Three RIA Tools Examined: JSF, Flex, and JavaFX
2008 is going to be an important year for Rich Internet Applications

Digg This!

Page 2 of 3   « previous page   next page »

It's essential for IT managers to consider and be aware that more than one delivery platform exists today for Rich Internet Applications. Table 1 covers three platforms and their associated technologies.

While the last two approaches still involve the browser as their foundation, each also taps into powerful virtual machines that are installed as plug-ins to deliver even richer applications.

Let's look at the choices.

JavaServer Faces
Let's start with JavaServer Faces. JSF is an open source, component-based user interface Java framework for building pure browser-based applications. JSF is also the standard technology for building Web user interfaces in the Java EE 5 stack. Pure browser-based applications mean that nothing beyond the standard browser is required to run the application. JSF components generate standard HTML markup. JSF provides a declarative approach to designing the UI. JSF components provide all the logic, as well as encapsulated HTML rendering, so the developer can concentrate on building the UI, instead of messing with low-level HTML. Out-of-the-box, JSF provides a basic set of components such as links, buttons, layout, and tables. What's more, the JSF component approach makes it the perfect technology to develop Rich Internet Applications. However, to efficiently deliver a Rich Internet Application, we have to take the component model a step further.

A popular technique for delivering RIA applications inside a Web browser is AJAX. AJAX stands for Asynchronous JavaScript and XML. It is basically a collection of existing technologies for radically changing user experience on the Web. However, manual AJAX development or the utilization of one of the JavaScript libraries is challenging and, ultimately, both are very poor options. With manual development, it's not uncommon to spend a significant amount of time battling JavaScript browser incompatibilities. Finally, and probably most importantly, manual AJAX coding doesn't fit the JSF component model.

Nevertheless, all is not hopeless. Due to JSF's extensibility and its component approach, combining JSF and AJAX can be done easily. That's where RichFaces comes in. RichFaces is a rich JSF component library that provides a large number of components with AJAX support. Rich components from RichFaces render all the necessary JavaScript to send an AJAX request and, at the same time, know how to partially update a part of a page when a response comes back. IT organizations can add rich functionality without writing any JavaScript code. Developers can again concentrate on UI development instead of low-level AJAX coding and JavaScript debugging (because the components' JavaScript code will have been tested in all the modern browsers).

While JSF and RichFaces are solid tools for building Rich Internet Applications, other alternatives do exist. Enterprise IT managers must understand and be aware that other delivery mediums exist for Rich Internet Applications. First, we have more than just the browser to deliver Rich Internet Applications. It's common today to look at the browser as the only vehicle for delivering Rich Internet Applications, but it isn't the only medium that should be considered.

Let's look at a quick example using JSF and RichFaces components. We are declaratively defining the UI using JSF tags. Declaratively defining the UI is easier and more natural. When this page is processed, UI components on the page will render the necessary HTML and JavaScript to be sent to the browser.

    <h:form>
   <rich:panel>

<f:facet name="header">RichFaces</f:facet>

<h:panelGrid>

    <a4j:commandButton value="Hit Me!"actionListener="#{clickBean.count}" reRender="c" />

    <h:outputText id="c" value="Number of hits: #{clickBean.numOfClicks}"/>

    </h:panelGrid>
   </rich:panel>
    </h:form>

The model behind this page is a simple POJO:

public class ClickBean {

    private Integer numOfClicks = 0;

    public Integer getNumOfClicks() {

    return numOfClicks;
    }
    public void setNumOfClicks(Integer numOfClicks) {

    this.numOfClicks = numOfClicks;
    }
    public void count(ActionEvent event) {

    numOfClicks++;
    }
}

And, finally, when the page is run in a Web browser, Figure 1 shows the result:

Note that when clicking the button, only the counter area is updated. We are not reloading the full page.



Page 2 of 3   « previous page   next page »

About Max Katz
Max Katz is a senior systems engineer at Exadel. He has been helping customers jump-start their RIA development as well as providing mentoring, consulting, and training. Max is a recognized subject-matter expert in the JSF developer community. He has provided JSF/RichFaces training for the past three years, presented at many conferences, and written several published articles on JSF-related topics. Max also leads Exadel's RIA strategy and writes about RIA technologies in his blog, http://mkblog.exadel.com. Max holds a BS in computer science from the University of California, Davis.

Tom Van den Eynde wrote: It's simple: go with Adobe Flex - it simply rocks.
read & respond »
DW wrote: Hmmm, have you checked out the Orbeon Fo rms?(http://www.orbeon.co m/)
read & respond »
Hmmm wrote: Yes, XForms sounds good. PicoForms offers a solution that would work, and Yahoo has done their new mobile back end using server-side tech. An on-device XForms processor would help write portable mobile apps.
read & respond »
skalvi wrote: If I want to write an enterprise application for my business and I want my PC user's to be able to use it as well as mobile user's, java will not work. Web start will work on the PC but not a PDA, since I would have to use a midilet. Same with flash. I would have to develop in flash lite for the PDA's. I would have to write different version of the same program for different devices. The same with GWT for the PC based version. I would have to write a seperate application for Android and the Davlik jvm. This is where JSF is most suitable, with the concept of plugable rendering kits. Why can't I just use GWT on the gphone? Maybe I can. Maybe we should hybridize JSF. So what is the best platform for write one run anywhere? anyone?
read & respond »
Confusion Solution wrote: > The number of different frameworks and libraries > is too vast to even consider evaluating a fraction of > them So just use Flex instead, hehe!
read & respond »
Max wrote: @Michael: Nowhere am I comparing JSF and Flex, I'm merely discussing various technologies and delivery platforms for RIA applications. Nowhere am I saying that one is better than the other. I'm not sure why you would want to hand-code JavaScript, unless you are building a framework, doing a school project or some research. Do you consider GWT (Google Web Toolkit) to be a good Ajax framework? They do exactly the same, they hide the JavaScript from you.
read & respond »
Michael wrote: sorry, but comparing JSF and Flex is ridiculous. JSF has nothing to do with RIA. You might say that JSF is a possibility to build Ajax apps, but then: why JSF? It is utterly unsuited for Ajax compared to other web frameworks BECAUSE it hides the JS from the dev.
read & respond »
Alex wrote: Good article. It misses one important comment though. Your JSF example has to make a server call to the pojo to increment the click counter, while both Flex and JavaFX example do not need to do this because of their stateful nature, which is very important. Out of these three, Flash Player's UI looks better than others.
read & respond »
DW wrote: What about XHTML and XForms Offline?
read & respond »
WIRELESS BUSINESS & TECHNOLOGY LATEST STORIES . . .
Adobe's Kevin Lynch and Microsoft's Scott Guthrie to Keynote AJAX World RIA Conference & Expo
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe launched AIR 1.0 in February '08 and Microsoft launched Silverlight (September '07). At the 6th International AJAXWorld RIA Conference & Expo in October SYS-CON Events is delighted to be
Troll-Evading Trust Formed To "Catch & Release" Patents
Verizon, Google, Cisco, HP, Motorola, Sun, Telefon AB and Ericsson have banded together as the Allied Security Trust to buy IP before any trolls can take them to court. They've paid $250k to join and are each kicking it about $5 million in funding. They will then get non-exclusive lice
ARC Wireless Solutions Announces the Official Launch of the Freedom Blade
ARC Wireless Solutions' Wireless Communications Solutions Division announces that the Freedom Blade and supporting Freedom Clip Pack have been fully launched and are now available to ship domestically and internationally via their retail and distributor partners. The Freedom Blade is t
Android Won't Be Home for Xmas
Android, due in the second half, could reportedly be delayed until Q4 or maybe even next year, according to the tale the Wall Street Journal tells, a situation that opens up a can of worms for Google. Google has to prove that it's more than a one-trick pony and that it can deliver some
Nokia Wants To Open-Source Symbian OS
Nokia wants to buy the 52% of the Symbian operating system that it doesn't already own to open source it and set it free. It's a defense against advances into the fragmented mobile space that Nokia and Symbian dominate - particularly - from the looks of case - against Google's nascent
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE