Thin Server Architecture SPA, 5 years old presentation

Post on 10-Jul-2015

433 views 0 download

description

5 years old. Single Page Application

Transcript of Thin Server Architecture SPA, 5 years old presentation

DHBW-Mannheim, David Amend

The future of the web withthe Thin-Server-Architecture

David Amend

Server Code Client

DHBW-Mannheim, David Amend

Agenda

History of Web-Technologies Analysis of Web-Architectures The Thin-Server-Architecture Advantages of TSA-webapps Example and Trends Discussion and Questions

DHBW-Mannheim, David Amend

Before the web was born

Before

desktop-applications with techniques and known patterns

like MVC since 1979

12 years later

The web was born

→ Need to invent totally new conceptsor

is it reinventing the wheel?

DHBW-Mannheim, David Amend

History of Web-Technologies

DHBW-Mannheim, David Amend

Rich-Internet-Applications

DHBW-Mannheim, David Amend

The MVC-Pattern

DHBW-Mannheim, David Amend

Model-2 Architecture

DHBW-Mannheim, David Amend

Mixed-Model-2 Architecture

DHBW-Mannheim, David Amend

Mix of Server-Client-Code

DHBW-Mannheim, David Amend

Code on Client and Server

DHBW-Mannheim, David Amend

The Thin-Server-Architecture

DHBW-Mannheim, David Amend

WYSIWYG-Code and Clean Separation

DHBW-Mannheim, David Amend

Static Content is Cacheable

DHBW-Mannheim, David Amend

Possible Team-roles

DHBW-Mannheim, David Amend

Scalability and Stateless

DHBW-Mannheim, David Amend

Todays Infrastructure-Process

SELECT * FROM studentsRelational-Storage

Class Student{ int grade; getGrade{..} setGrade(int grade){...}

Object-Oriented-Mapping

<h1>Olaf</h1>Single-String

Server

DB

Client

Parsing

Parsing

DHBW-Mannheim, David Amend

TSA = SOA-Front-End-Architecture = Loose coupling

DHBW-Mannheim, David Amend

Vision:Web-Oriented-Infrastructure

DHBW-Mannheim, David Amend

A possible future? Google: GoogleWebToolkit, Gmail,

GoogleDocs, JavaScript-APIs, … Apple: Appstore switched to Sproudcore-MVC Clientcentric Standards: HTML-5

(Multimedia, Offline-Database, Synchronizing, WebSockets,...), CSS-3, ECMA-Script-5

DHBW-Mannheim, David Amend

A possible future? Google: GoogleWebToolkit, Gmail,

GoogleDocs, JavaScript-APIs, … Apple: Appstore switched to Sproudcore-MVC Clientcentric Standards: HTML-5

(Multimedia, Offline-Database, Synchronizing, WebSockets,...), CSS-3, ECMA-Script-5

The future of web-applications?

DHBW-Mannheim, David Amend

A possible future? Google: GoogleWebToolkit, Gmail,

GoogleDocs, JavaScript-APIs, … Apple: Appstore switched to Sproudcore-MVC Clientcentric Standards: HTML-5

(Multimedia, Offline-Database, Synchronizing, WebSockets,...), CSS-3, ECMA-Script-5

The future of web-applications?→ What do you think?

DHBW-Mannheim, David Amend

Discussion

Server Code Client

Thank you for your attention!

Questions?

DHBW-Mannheim, David Amend

MVC-architecture pattern via JavaScript Ajax and DOM functionality via jQuery No server needed for development Java-JavaScript-Interpreter: Rhino Testing: browser based, command line,

browser driver

DHBW-Mannheim, David Amend

Web-Infrastructure Challenge

DHBW-Mannheim, David Amend

Summary

Advantages of Rich-Internet-Applications Limits of web framework architecture Possibility and advantages of building

clientcentric apps Companies already invest in RIA-technologies The future?

Server Code Client

DHBW-Mannheim, David Amend

Intelligent clients = more possiblities

DHBW-Mannheim, David Amend

JSONQuery/JSONPath JSON Referencing Comet Live Data Notifications JSON Schema with evolutionary constraints JSON-RPC Built-in Security Standards based REST interface

DHBW-Mannheim, David Amend

REST

It´s an architectural style Not a format or API

The web has leveraged REST Can/should be used for web services One interface for all applications Manipulation of ressources over URL:

GET, POST, PUT, DELETE

DHBW-Mannheim, David Amend

Discussion

E-Mail:

David.Amend@it-amend.de

DHBW-Mannheim, David Amend

High Server Load

DHBW-Mannheim, David Amend

Heavy State- and Session-Management

DHBW-Mannheim, David Amend

Web-Oriented-Architecture