social app, social media, social networks, social web, social computing...

Thursday, December 13, 2007

Where is the front-end?

Can you define the front-end for the web architecture? You did know the front-end, but probably you don't know where it is today.

Check out the job posts for "front-end" web developer positions by Ning, Meebo, Jaxtr, or startups alike, the skillset is no longer Dreamweaver, Photoshop, Illustrator. Sorry, no designers please. The hiring managers look resumes for ajax, hand coding XHTML, CSS, plus PHP, or Java, Ruby-on-Rails, and even SQL. Quite a lot "back-end" buzzwords mixed with "front-end" technologies.

The 3-tier web architecture was the dominating paradigm in web1.0 time. The dumb thin-client, the browser, acts as the front-end and is responsible for presentation only. The centralized back-end services forms isolated web islands. Web2.0 movement, specially the social aspects and requirements, is driving an architectural paradigm shift, creating the continent effect. What we see is a 4-tier web architecture and the "front-end" concept might become obsolete.

The new web paradigm has much stronger flavor of SOA (service-oriented architecture):
  • Tier 1 - data tier. Instead of conventional local storage, remote web storage as the repository service is getting popular (Photobucket, Amazon S3, Google OpenSocial Persistence, etc.).
  • Tier 2 - platform tier. Companies deliver the core competence as service platforms with open APIs (mostly RESTful APIs). Check out how Marc Andreessen clarified the three levels of platforms.
  • Tier 3 - application tier. The application can be conventional website, but more interestingly, it can be a situational mashup of services supplied by platforms. Moreover, the mashup itself can happen on certain platforms like Ning. Technically, the app mashup can be implemented either at client side with ajax, or at server side with mashup services. There is no clear distinction between front-end and back-end at application tier regarding the functionality.
  • Tier 4 - client tier. The conventional dumb client is pushed here. However, given the power of client processing capability, the client is no longer dumb but becomes more intelligent when empowered with client-side application codes (e.g. Javascripts or Actionscripts).
AddThis Feed Button