• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A Highly Decoupled Front-End Framework for High Trafficked Web Applications
 

A Highly Decoupled Front-End Framework for High Trafficked Web Applications

on

  • 1,684 views

Talk presented at the ICIW 2010.

Talk presented at the ICIW 2010.
Paper published in the IEEE Computer Society

Statistics

Views

Total Views
1,684
Views on SlideShare
1,653
Embed Views
31

Actions

Likes
1
Downloads
0
Comments
0

2 Embeds 31

http://itlab.wordpress.com 30
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A Highly Decoupled Front-End Framework for High Trafficked Web Applications A Highly Decoupled Front-End Framework for High Trafficked Web Applications Presentation Transcript

    • A Highly Decoupled Front-End Framework for High Traficked Web Applications Andrzej Tucholka & Prem Gurbani ICIW 2010, Barcelona, Spain
    • Outline• About Tuenti• Motivations for building a new Front-End Architecture & Strategy• Design Overview• Performance & Metrics on a PoC• Future Work
    • About Tuenti• Largest social network in Spain• Highest trafficked website in Spain• Over 6 million users• Over a billion page-views / day• Over 130 employees
    • Old System• In-house built MVC-like and in-house built template engine• Limitations of current system:  tight inter-team dependencies  duplicated work when adding additional client applications (mobile, etc)  limited opportunities for external usage  limited caching solutions in the front-end  limited flexibility in UI development
    • New FE Architecture & Strategy• Concerns addressed: flexibility, cost, schedule, integrability and... performance• Responsibilities o UI interaction & behavior o Templating and UI rendering o Client - server communication o Interact with Backend & Domain core o Controllers logic & produce data output
    • New FE Architecture & Strategy• Principle: a highly decoupled system• How? Natural separation of concerns: o Structure (HTML) o Style (CSS) o Behavior & Control (JS) o Data (JSON-RPC)
    • Closer Look at the Client Side FW
    • Closer look at the Server-Side FW• Server no longer generates presentation. Only data• We have data-centric Controllers that freely interact between each other to provide the requested data.• Controllers instantiate Abstractions: these interact with the back-end domain core• We called this design PCA: Printer-Controller-Abstraction o Inspired by the architectural pattern known as PAC (Presentation-Abstraction-Controller)
    • Closer look at the Server-Side FW• PCAs controllers o Controllers can communicate freely between them o Each has its own data-driven responsibility• PCAs abstractions o Interface with Domain core o Can be instantiated by multiple controllers• PCA can provide o Response buffering o Interchangeable printers o Build a highly cohesive system
    • Closer look at the Server-Side FW
    • Metrics on a PoC Savings from 43 to 78%Savings between 45 and 91%
    • Metrics on a PoC Savings between 45 and 91%
    • Metrics on a PoC
    • Benefits• Simplifies maintenance of multiple interfaces• Reducing the need for server-side changes• Teams focus on core responsibilities• Improved parallelized development• Improve testing and release procedures• Reduce TCO: drastic savings in bandwidth and server load
    • Future Work• Challenges launching in Live environment• Analyze performance on client-side• Possibility to run Client-Side FW on Server• Enhancements to current API controllers structure• Mobile browser Client-Side FWs
    • Questions? Andrzej Tucholka - andrzej@tuenti.com Prem Gurbani - prem@tuenti.comInterested in shaping the future? Check out http://jobs.tuenti.com