YOUR FEEDBACK
John Portnov wrote: This code does not work for me. I created a new website and a C# console applic...
AJAXWorld RIA Conference
$300 Savings Expire August 22
Register Today and SAVE!


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
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
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


Next-Generation Web Development: Bye Bye MVC, Hello RIA + SOA
Rich Web 2.0 applications will not become mainstream until the next generation of web platforms

Support for HTML and CSS

These two languages are perfectly suited for implementing the “look” of an application, plus they are familiar to most developers of web-based user interfaces.  There is no reason to recreate the wheel.

 Provide an Open Widget Framework

 As stated earlier, widgets are a fundamental building block of RIAs.  There are several widget toolkits available from the likes of Yahoo, Dojo, and ExtJS.  There are also several standalone widgets that have been created by smaller projects and individuals.  You can build RIAs using these widgets, but there are some catches:

  1.  It’s unlikely that one widget offering is going to meet all of your need

  2. Integrating different third-party widgets may require custom code as well as an in depth understanding of how each widget works.

  3. Writing new widgets is challenging because you either have to write to the low-level API of your preferred widget toolkit, or you have to write your own from scratch.

  4. Some widget frameworks require developers to write a significant amount of Javascript just to use their widgets, which is problematic for those with little to no JavaScript experience.

In order to address the problems above, an RIA + SOA platform should provide an Open Widget Framework that has the following capabilities:

  • Support integration of existing third-party widgets
  • Provide a simple API for creating new widgets
  • Enable widgets to be used via simple markup (no JavaScript required)
  • Support a distribution model that makes it easy to submit, find and use new widgets

An Open Widget Framework will provide developers with one source for obtaining widgets and one simple way to integrate these widgets into their application.  If a particular widget is not available, it can be easily created using the Open Widget Framework API. 

Given the importance of widgets within RIA development and the fragmented nature of widgets today, an Open Widget Framework should be considered an essential part of any RIA + SOA platform.

Provide an Integrated RIA Programming Model

Developing RIAs requires significantly more user interface code than traditional web-based applications.  As a result, a next generation platform needs to provide an integrated RIA programming model that facilitates and simplifies the key user interface programming tasks.  These tasks include:

  • Event handling
  • DOM manipulation
  • Service consumption (Ajax)

Event handling, DOM manipulation and Ajax enable the “rich” in rich Internet application.  It doesn’t take much investigation to see that they are closely related. To illustrate this point, let’s look at the typical steps involved with an RIA login form submission:

  • Login button is clicked (event handling)
  • Service request is sent (Ajax)
  • Some type of activity indicator is displayed (DOM Manipulation)
  • Service returns (Ajax)
  • Activity indicator is hidden (DOM Manipulation)
  • A Login “success” message is displayed (DOM Manipulation)

Despite their close relationship, most frameworks and libraries provide only light integration between the three, leaving the developer to bridge the gap.  To illustrate this point, let’s look at some code.  In the example below, we will set the contents of one combo box when the value of a second combo box changes.  This example is written using JQuery:

 

$(function(){

  $("select#comboOne").change(function(){

    $.getJSON("/combo.php",{id: $(this).val(), ajax: 'true'}, function(j){

      var options = '';

      for (var i = 0; i < j.length; i++) {

        options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';

      }

      $("select#comboTwo").html(options);

    })

  })

})

 

Now, let’s look at how this could be accomplished using a fully integrated approach to event handling, DOM manipulation and Ajax.

 

<select id=”comboOne”

on=”change then r:load.combo2.request”>

</select>

<select id=”comboTwo”

on=”r:load.combo2.response then value[property=rows,text=text,value=value]”>

</select>

 

About Nolan Wright
Nolan Wright is co-founder and CTO of Appcelerator, leading the company's product and services organizations. Prior to starting Appcelerator, he led engineering and product management at Vocalocity. He has also held several senior technology, product management and consulting positions with Accenture, Netscape Communications and Vertical One. Wright is a graduate of Vanderbilt University, where he earned his BEEE in Electrical Engineering. For more information, please visit http://www.appcelerator.org.

YOUR FEEDBACK
government grants wrote: Trackback Added: government grants; Hey ppl. Nice website. I don't mean to bother you but you should definitely visit this government grants site. Lemme know what you think.
college grants wrote: Trackback Added: apply for college grants; Hey there. I just dropped by. I've gotta say, you have I liked reading your info. Check out this college grants webpage when you get a sec.
gerrymclarnon wrote: A combination of Flex & Java technologies will give a fine RIA + SOA solution albeit in (slightly) different programming languages.
jack van hoof wrote: I think Portals and ESB's may help as I explained here: http://www.sys-con.com/read/513263_1.htm A total overview of an application integration model is to be found here: http://soa-eda.blogspot.com/2007/08/what-is-eai.html
RIA Newbie wrote: > if the contract between the RIA and its services > is message-based, then it becomes possible to > create local mock services this works well...good idea; and good article thank you
ENTERPRISE OPEN SOURCE MAGAZINE LATEST STORIES . . .
Money is being made with Open Source. Some make spectacular money by exploiting Open Source (Google, Apple) and some things wouldn't even exist without it (Internet, Software as a Service, Cloud Computing) - so it really boils down to finding the right business model.
ELASTRA announced Elastra Cloud Server support for the Eucalyptus platform. ELASTRA’s products are designed for portability across compute clouds and currently provide support for the Amazon EC2 and S3 compute and storage environments. Because Eucalyptus exposes its virtual machines ...
Jitterbit has announced the availability of Jitterbit 2.0 Enterprise, which includes new capabilities, scalability and management tools. With this new release, organizations have the ability to solve integration challenges between legacy, enterprise, and on-demand applications and data...
A new API is supposed to integrate LinMin Bare Metal Provisioning 5.2 into environments that haven’t been able to do bare metal provisioning of Windows, Red Hat, Novell, Ubuntu, CentOS, Fedora or Asianux on physical systems or virtual machines before. The rev also features single-com...
The United States Court of Appeals for the Federal Circuit Wednesday overturned a year-old San Francisco district court decision that deprived the aggrieved plaintiff in a dispute over open source software governed by the Artistic License of the right to sue for copyright infringement ...
Google has waded into the encryption business with an open source cross-platform toolkit called Keyczar that’s supposed to make it easier for ISVs to put cryptography in their applications. It says Keyczar supports both encryption and authentication with both symmetric and asymmetric...
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