Matt Raible has been building web applications for most of his adult life. He started tinkering with the web before Netscape 1.0 was even released. For the last 16 years, Matt has helped companies adopt open source technologies (Spring, Hibernate, Apache, Struts, Tapestry, Grails) and use them effectively. Matt has been a speaker at many conferences worldwide, including Devoxx, Jfokus, ÜberConf, No Fluff Just Stuff, and a host of others.

Matt is a DZone MVB and is not an employee of DZone and has posted 142 posts at DZone. You can read more from them at their website. View Full User Profile

The Thin Server Architecture Working Group

03.19.2008
| 5188 views |
  • submit to reddit

From The Wisdom of Ganesh:

Peter Svensson has set up a website where like-minded people can discuss the brave new world of applications whose common characteristic is that no aspect of presentation logic resides on the server side. I admit that's an overly broad-brush generalisation, and it will be necessary to read what the various authors of this camp have to say.

I thought about doing something similar when I first read about SOFEA. I'm glad to see that someone has taken on this challenge. However, doesn't it seem ironic that this site doesn't use SOFEA/SOUI for its own architecture?

IMO, if this site isn't written with some sort of SOFEA-based framework like it advocates, it's pretty much worthless.

What do you think? Will this site become a portal for all your SOFEA/SOUI news in the future?

Published at DZone with permission of Matt Raible, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Jose Maria Arranz replied on Mon, 2008/03/24 - 4:34am

I've discussed with Peter this topic before. I don't agree with Peter about the SOFEA approach.

SOFEA promotes the return of the thick client again with web technologies. The web success on application development is mostly because the application is in the server highly controlled (cooking the view too) and the client is thin. SOFEA introduces again the need to transport (most of) "the application" to the client introducing again the need of bridges to transport server data from the server to the client duplicating many things: server data model and client data model must to be in sync.

Furthermore the client is a browser with a weak language as JavaScript is. JavaScript is a pain (IMHO) to develop complex applications and in the long term introduces serious maintenance problems.

I can understand this tendency as an escape from classic web development frameworks, but this days a new server based development approach is reducing the impedance mismatch between client and server: basically bringing the browser to the server.

For instance Jaxer (a Gecko browser on the server - JavaScript development) and my own ItsNat (a universal Java W3C browser on the server - Java development) are introducing the client style development on the server with the following advantages:

- No duplication of server and client data models

- No custom code for transport

- View management code is not transported to the server (only changes)

- More freedom and power to select the server based language and tools (IDEs): JavaScript or C++ (any language supported by XPCOM) in Jaxer and Java, JavaScript (Rhino), Groovy, JRuby, Scala etc in ItsNat.

- More freedom to deal with differences between browsers.

- Support "out of the box" of some "magic" features like remote view/control of any user page from another user/browser.

- Again thin client architecture but with full control of the client.

 

Anyway some SOFEA principles can be applied with Jaxer and ItsNat because SOFEA is a browser centric architecture and Jaxer and ItsNat are client on the server technologies.

 

Jose Maria Arranz replied on Mon, 2008/03/24 - 6:46am

 

Mistake: "View management code is not transported to the server (only changes)"

Must be: "...to the client..." 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.