View Tomoaki Sawada's profile on LinkedIn Share
Locations of visitors to this page

If it has feathers and quacks, is it really a web 2.0 platform?

6 days, 3 hours ago by gcuomo?
Is it worth standardizing an agile platform for our generation’s dynamic web applications?
I first started thinking about this topic when I saw a Twitter from Redmonk’s James Governor.

 my name for the new stack: RASA – rest, atom, scripting, agile….. does that work for you people?

My short answer to James is YES. I like the spirit of where that thought is going, but let my try to break it down a little more.

I think Agility is the key word here. It’s about needing to get the job done by “next Tuesday” versus getting it done in a way that will make it “last forever”. Hence an Agile platform is optimized for “time”. Heck, if we can bring a little of the endurance characteristic along the way without introducing complexity, perhaps using conventions over configuration, then bring it on.

When I look at such Agile stacks – RoR, the many PHP frameworks including Zend, Cake, the Python-based Django project, or heck yours truly – I see several common threads:

  • *Scripting* based programming methodology
  • Constrained around simple web protocols, data formats and SQL
  • Focused on Rich User Interfaces with Javascript
  • App server is natural extension of the Web Server

To govern such attributes, a looser style of management would most likely fit best (especially to start) because of the diverse nature of the technologies in question. Perhaps an organization similar to the Open AJAX Alliance might be the right approach to this? The Open Ajax Alliance, for those not familiar with the initiative, came together thanks largely to the globetrotting of David Boloker, IBM's CTO of Emerging Internet Tech. It started as a small number of leading companies that brainstormed about how to ensure that Ajax fulfills its potential as the industry standard platform for rich internet applications based on open standards.

At first glance such an alliance would need to focus on:

AJAX - Again, we would want to utilize the work going on in the Open AJAX alliance. However, we might be able to go a step further. Let me explain. I personally don’t feel particularly AGILE, when writing AJAX-based apps. Let’s face it- They are not easy to write, even with toolkits like DOJO. Some hail the service agnostic aspects of AJAX to be amongst its strengths. While I agree, I feel we might be able to simplify the case where a related set of engineers are writing both the client and the server, by projecting parts of the server API on the client and visa versa. The best example of this is a set of events that have meaning both on the client and the server. For example a validate form event. (More on this in a second…).

REST- While many services on the net claim to be REST, their use varies wildly. I’m not implying that we need something equivalent to WSDL. However, what I am suggesting is a consistent way of talking about RESTful services, similar to “the Sentence” approach I’ve outlined in pervious blog entries.

ATOM It would make a lot of sense for the AGILE platform to use ATOM as a means to interact with a content store. I don’t think many will argue this.

SCRIPTING Languages- Rather than standardizing on one scripting language, I think each scripting language should provide a common approach to eventing around REST, AJAX and ATOM. For example, the common HTTP actions should be handled with events like OnRetrieve, OnList, OnCreate, OnUpdate, OnDelete, etc.

MORE Other things to be standardized might include Security, Caching, and Directory Conventions.

I would call the organization the Agile Web Platform Alliance. I will think about this a little more – but please, let me know what you think