Monday, March 10th, 2008

Appcelerator: RIA + SOA

Category: JavaScript, Toolkit

>Appcelerator is a fairly new open source toolkit on the block that is trying to be an Open Web RIA to compete with Flex and co. with high profile folks such as Marc Fleury as advisors.

Nolan Wright, CTO, has written a piece for syscon entitled The Next Web Development Episode Is RIA + SOA. In the article Nolan talks about Appcelerator and how it fits into his world view:

1. Design the “look” of the application

This is the general appearance of an application. It includes things like: color, fonts, graphics, and a general page layout. Common toolsets: HTML, CSS and images

2. Integrate Widgets

Widgets encapsulate a set of common capabilities within a single component. They typically contain both “look and feel” as well as a set of pre-defined dynamic behaviors. They are a fundamental building block of an RIA.
Common toolsets: ExtJS, Dojo, Yahoo YUI and several other small widget projects

3. Add dynamic behavior to the user interface

Creating dynamic behavior in the user interface involves two things:

  • Event handling
  • Document Object Model (DOM) Manipulation

Event handling is the ability to know when a particular event occurs (e.g., a user clicks a button or a service response is received). DOM Manipulation allows you to dynamically change the user interface based on the receipt of an event. Common toolsets: Javascript libraries like JQuery, Prototype, and Scriptaculous

4. Consume services

Consuming backend services is a key capability of an RIA. It enables the creation of single page user interfaces that exchange application data with services. It also enables a clean separation between the user interface and the service tier. The most common method for interacting with services is Ajax. Common toolsets: Javascript libraries like JQuery and Prototype

5. Create services

Services provide an interface to data and application business logic. Common toolsets: There are several frameworks available for creating services in your programming language of choice.

To illustrate the DSL that Appcelerator uses, Nolan has some comparisons between jQuery code such as:

< view plain text >
  1. $(function(){
  2.   $("select#comboOne").change(function(){
  3.     $.getJSON("/combo.php", {id: $(this).val(), ajax: 'true'}, function(j){
  4.       var options = '';
  5.       for (var i = 0; i < j.length; i++) {
  6.         options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '';
  7.       }
  8.       $("select#comboTwo").html(options);
  9.     })
  10.   })
  11. })

And the meta language:

  1. <select id=”comboOne”
  2. on=”change then r:load.combo2.request”>
  3. </select>
  4. <select id=”comboTwo”
  5. on=”r:load.combo2.response then value[property=rows,text=text,value=value]”>
  6. </select>

We have been talking about the world of SOA coming to fruition for quite some time. TIBCO GI was talking about this several years ago. Is 2008 going to be the year?

Related Content:

  • SOA needs RIA – Burton Group
    Even if your SOA application brings an amazing amount of functionality and data to the Web browser, it still needs to provide a RIA interface to...
  • Unify offers RIA tool for SOA
    Unify Corp. released the next version of its rich Internet application (RIA) development and portal integration platform, NXJ 12, based on Java 1.5....
  • Silverlight shines on bank RIAs
    Microsoft is positioning its Silverlight rich Internet application (RIA) technology as a platform for online banking. At the Web Services/SOA on Wall...
  • SOA + RIA + OSS = Web 2.0
    In this guest commentary, Adam Michelson discusses the combination of SOA, rich Internet applications (RIA), open source software (OSS) and Web...
  • RIA needs to build on, not replace SOA
    The software industry needs to stop marketing one three-letter acronym such as RIA as a replacement for the previous three-letter acronym SOA, says...

Posted by Dion Almaer at 6:48 am

3.5 rating from 22 votes


Comments feed TrackBack URI

Closest thing I could find for demos etc. is, but you have to sign up first.

Comment by Scott Schiller — March 10, 2008

RIA + SOA is definitely the right answer. The question is, how do you get there?

Two interesting differences are emerging:
1. Visual versus code-driven IDE. Visual (drag-n-drop) approaches include WaveMaker, Coghead. Code-driven IDEs include Appcelerator etc.
2. Built-in sever versus server-independent. Built into framework approaches include RoR + others. Appcelerator seems to give flexibility to work with any server, but server implementation is an excercise left for the reader.

I don’t think there is a right and wrong here, but very different choices based on the needs and skills of the developer

Comment by ckeene — March 10, 2008


The easiest demo is at . no signup necessary.

Comment by MattQuinlan — June 30, 2008


Comment by MattQuinlan — June 30, 2008

Leave a comment

You must be logged in to post a comment.