Skip to content

XAware Community

Get the Flash Player to see this player.
Flash Image Rotator Module by Joomlashack.
XAware 5.6
Need Help
Webinars and Events
Advanced Tutorials
Webinars and Events

You are here: Home arrow Blogs

SOUISOFEASOARIAGanesh Prasad 29 Oct 2008 2:37 PM
SOA and RIA by kvandersluis

Last week I presented a session at AJAXWorld 2008 in San Jose, titled “Hands On Data Services for RIA, WOA, and SOA”.  While the “hands on” part was a demonstration of the XAware technology, where I showed building a data mashup from text data logically linked to a database, the first half of the presentation was a discussion about the key role of data services in Rich Internet Applications (RIA), Web Oriented Architecture (WOA), and Service Oriented Architecture (SOA).  Data is almost always at the heart of an application, thus finding appropriate ways to get data to an application is a key part of making a software system work.  Since I was at AJAXWorld, where RIA was all the buzz, I focused the importance of data service in an RIA environment.


The idea of using a services layer to supply information and operations to a web client application is not new.  While I’ve written about the combination, I certainly am not the first to recognize the nice fit.  Some of the acronyms floating around the internet, and the AJAXWorld conference were SOFEA (Service Oriented Front End Architecture) and SOUI (Service Oriented User Interface).  SOFEA was coined by Ganesh Pradad and a couple coworkers in October, 2007, in a paper titled “Life Above the Service Tier” (  Ganesh’s blog (, which is high on my favorites list, contains additional information and resources.



SOFEA recommends a clear separation of presentation tier concerns.  The major processes involved in the presentation tier are:


  1. Application Download phase
  2. Presentation Flow – driven by client side
  3. Data Integration – use the service tier, peer-to-peer (allowing two way communication like notifications).  XML based using REST or WS-*.


By separating these concerns, each can be optimized for its special needs.  Whereas traditional thin-client technology requires the server to be involved in all three concerns, the rich capabilities of RIA no longer require that.  In addition, the data integration piece can take advantage of an existing services layer, that is likely already built or under construction within the enterprise.  Ganesh also claims that the Front Controller pattern, used in all the server-based web development frameworks, is actually an anti-pattern, made popular simply because of the previous lack of capabilities on the client side.  The existence of so many frameworks supports his point, as none of them seem to quite satisfy the needs of the presentation layer.  They never will, according to Ganesh, because, among other things, placing portions of the presentation flow logic on the server violates the principle of separation of concerns.  Encapsulating presentation flow fully on the client side is now possible with the quickly maturing RIA development environments.


SOUI shares a very similar architecture.  Proposed by Nolan Wright and Jeff Haynie (who founded Appcelerator on this principle), SOUI also places presentation flow logic on the client side.  The major difference between SOUI and SOFEA is the preference for JSON in SOUI.  JSON is more compact than XML.  But the advantage of XML is the better typing system (elements and attributes can be strongly typed), along with validation tools built in.


The XAware project appears to be a very viable candidate to fill the gap of the data integration piece within SOFEA and SOUI.  The environment is well-positioned to create information-rich services to supply data to the presentation tier.  As we continue with project development, we will be adding more support material and features to make it even easier to use XAware for RIA development.


Comments (0)add comment

Write comment
You must be logged in to a comment. Please register if you do not have an account yet.


Get the Flash Player to see this player.
Flash Image Rotator Module by Joomlashack.
Free Training
QuickStart Packages
Image 4 Title
Image 5 Title


Which data source and BizComponent combinations do you most frequently use?


Recent Entries