What happened to SOFEA/SOUI?

10 Nov 2009 | By Justin Knowlden | Tags methodologies JSON

The concept of SOFEA (Service-Oriented Front-End Architecture), outlined in Life Above the Service Tier, is not new, but it is an important concept. If SOFEA is new to you, the principles of it are as follows:

  • SOFEA is a metamodel for applications that are thick or thin
  • Download, presentation and data interchange are decoupled
  • Presentation flow and state are managed by the client
  • The presentation tier must feature data structures that are as rich as the server
  • Model View Controller is a good pattern for the interface

SOFEA’s doppelgänger is known as SOUI (Service Oriented User Interface). It’s common to see both terms listed together and the reason is that both were defined at roughly the same period of time, though Ganesh Prasad argued there was a difference in SOFEA and SOUI – There is a Difference, After All (also see SOFEA: Also known as SOUI). Both essentially want the same thing — to make services act more like services regardless of the consumer.

The differences between the two proposals are not all that important. What I took away from my initial encounter with the general approach is that of responsibility. At that time, I had a growing internal conflict with asking the application server (Rails, Django, etc.) to also concern itself with generating everything necessary for presenting business information.

SOFEA/SOUI gave a name to my “psychosis” and suggested an alternative approach:

  1. Worry about how to present the information in the actual client itself;
  2. Talk to the application server by sending and receiving only the essential nuggets of information.

JavaScript has a large part to play in realising applications built with this architecture. Frameworks like Sammy and Jaml are a step along this path. We owe it to ourselves to try and push this technology forward and to ease the burdens of our passions, allowing us more time to focus on the things that are more important; or at least those that are more interesting.

blog comments powered by Disqus