InfoQ

News

New Thin Server Architecture and SOFEA Working Group Web Site Launched

Posted by Steven Robbins on Mar 28, 2008 12:42 PM

Community
Architecture
Topics
Design ,
Web Frameworks ,
Rich Internet Apps
Tags
GWT ,
XUL ,
AJAX ,
Web 2.0 ,
Dojo ,
XAML
Peter Svensson, Ganesh Prasad, and Mario Valente have teamed up to create the Thin Server Architecture Working Group and launched the group's web site. The site included several resources about Thin Server Architecture (TSA) and Service Oriented Front End Applications (SOFEA) as well as insight into the philosophy behind the technology.

Thin Server Architecture, SOFEA, and other related approaches to applications are primarily about separating client and server concerns and ultimately placing the "View" code in the client. This architectural style has in three primary positive results:
1. The server-side developer can focus on the business logic
2. The application becomes less complex as the client is developed separately.
3. Communication between server and client use a protocol, which can be used to export, import or present data to other, or future system (SOA).
The Articles section of the working group site contains information and articles from each of the the three authors. Included in the articles is "Life Above the Service Tier", the seminal SOFEA paper by Ganesh Prasad, Rajat Taneja and Vikrant Todankar. The section also includes Peter's series on "The End of Web Frameworks" and Mario's series about the "Future of Web Applications." All of the material on the working group site drives to the central goal of pushing client responsibilities out of the server and into the client. This presentation also provides insight into the background and advantages of the thin server approach.

The Resources section of the TSA site has an extensive list of technologies that can be useful for building web-based applications in the Thin Server approach. The site includes links to IDE resources as well as development and runtime components. The development technologies listed include such tools as GWT, XUL, SilverLight/XAML, and Adobe Flex. They are classified by
  1. DHTML/AJAX frameworks for Current Browsers
  2. XML Dialects for Advanced Browsers
  3. Java frameworks
  4. Adobe Flash-­based frameworks
Ganesh has pointed out that TSA and SOFEA focus on eliminating server-side driven presentation. This frees the client to take responsibility for the View aspect, which can be "thin", "rich", or in between. He also said that the options for mechanisms for delivery to the client (called "Application Download" with respect to SOFEA) occupy a very broad spectrum of choices when this architectural style is applied. With respect to developers and technologies for implementing applications in the TSA style, Mario and Peter have used several. They recommended Ajax/JavaScript with Dojo 1.x, AppJet , jQuery and JavascriptMVC as the current frontrunners.

All three authors seem to agree that the biggest hurdle to adopting the TSA or SOFEA approach to building web applications is getting past the developer's discomfort. That is to say that the thin server applications currently lack a lot of IDE integration and tools and typically need to incorporate disparate languages and skillsets for developing the server and client components. However, recent technology advances in serverside JavaScript may allow of language unification in TSA-syle applications.
Great article! by Justin Meyer Posted Apr 2, 2008 4:00 AM
  1. Back to top

    Great article!

    Apr 2, 2008 4:00 AM by Justin Meyer

    SOFEA is a big part of the future of web development.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.