Web-centric application architectures


Published on

Traditional Stack is kinda silver bullet when it comes to layered architecture, but it was there even before the ARPANET had gone public and the WWW was invented. However, the beauty of this stack is that you could just remove the top blocks and replace your web layer.

As techies, we should be able to bend the computers and technology better than others who doesn't know how computers work, and it is high time to do that.

HTML5 is kinda revolutionary and this could simply change the Traditional Stack, that was a Server-centric layered architecture onto a Web-centric layered architecture with a quite Thin-server tier.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Kalanamith didn’t like the title, so he changed it to something else. But the initial version was “What-The-F happened”, and then “What-The-Hell”, and so on and so forth.
  • It’s the Traditional Stack, I call it the Silver Bullet Architecture ..This layered architecture screams! Presentation, Service, Business, Data etc.You can plugin this architecture to anything .. except the fact that you shouldn’t ..Lot of things happen at the server .. Server-side page generation .. Lot of unnecessary code just to query data .. Query data > Materialize to Domain models > Materialize to JSON > Send to Client > Materialize to JS Models on client ..How about the business rules .. That’s one of the drawbacks in SPA, the biz logic resides on client JS code .. But you could use DDD to do this and keep the biz logic w/ the domain model on the server .. We can have a separate talk on that .. Coz it’s a quite interesting topic to talk about ..It’s a Server Centric Web Architecture ..Need server farms to scale out ..
  • HTML5 is so amazing..
  • Browser becomes the OS for your HTML5 appJavaScript becomes the RAD framework w/ JSON databases, APIs etc.Nothing much to do on the server .. It becomes so THIN!So .. Server-side page generation becomes poor fit for the web
  • Newest web app stack is quite THIN .. Makes the server disappears .. Just APIs ..We should be able to bend computers to our will more effectively than anyone else ..because we understand the most about how they really work .. said The productive programmer - Neal Ford
  • Making the client-layer disappear! Using SPA frameworks like Boilerplate JS .. Or set of APIs that provides the same stack .. Runs everything in the Browser .. It’s the OS for the Web App .. Using REST API to talk to the backend ..
  • Using noSQL databases .. Helps you disappear your formatting and layout .. Makes the queries disappear .. Databases speak JSON .. Carefully design the JSON as documents to make the CRUDs simpler ..
  • Making the Service layer simple .. BAAS, MBAAS is also starting to support this .. But still need to have some APIs here ..
  • Client > Browser centric, JSServer > Thin, REST, or EventsDatabase > Web centric, JSON stores
  • And this is how people react!!!
  • Client > Browser centric, JSServer > Thin, REST, or EventsDatabase > Web centric, JSON stores
  • Yoman – GeneratorGrunt – Build managementBower – Client-side DIGit – DVCSJenkins – CI
  • Thank you!
  • Web-centric application architectures

    1. 1. What the purgatory happened to the layers? Futuristic SPA architectures
    2. 2. Traditional Stack was a silver bullet HTML Services Data SQL DB HTML/JS/CSS
    3. 3. HTML5 revolution Fast JavaScript Bunch of services allows to run offline Application platform Handling quite a lot application load Almost entire app can be moved to it
    4. 4. Build apps with SPA and a JSON data store ASP JSP PHP etc. becomes poor choices for Web!
    5. 5. Next-gen Stack web centric apps HTML Services Data SQL DB HTML/JS/CSS
    6. 6. Next-gen Stack web centric apps HTML Services Data SQL DB HTML/JS/CSS
    7. 7. Next-gen Stack web centric apps Services Data noSQL DB HTML/JS/CSS
    8. 8. Next-gen Stack web centric apps Services noSQL DB HTML/JS/CSS
    9. 9. All tiers have changed! Thin-server era, not thin-client era
    10. 10. All tiers have changed! Thin-server era, not thin-client era
    11. 11. Tech Stack? mongoDB Web API HTML5/JS/CSS3 : Boilerplate JS
    12. 12. Process Stack? Yoman Grunt Bower Git Jenkins
    13. 13. @kosalanuwan http://kosalanuwan.tumblr.com