1 of 16

Програмування та підтримка �веб-застосувань

Web app architecture

2 of 16

Web app architecture

? Architecture

? App

? Web app

3 of 16

Web app architecture�? Architecture

Architecture is both

the process and the product of planning, designing, and constructing buildings and other physical structures.

(Wiki)

any (physical) object (project (IT))

4 of 16

Web app architecture�? App

Data

UI

Business logic

5 of 16

Web app architecture�? App

Data

UI

Business logic

Model

View

Controller

6 of 16

Web app architecture�? App

Data structure, DB

UI

Business logic

7 of 16

Web app architecture�? Web app

App and Web app,

what's the difference?

  • Client-Server
  • Lots of clients
  • HTTP

8 of 16

Web app architecture�(Two-Tier Architecture)

Client

Server

UI

Data structure, DB

Business logic

???

???

9 of 16

Web app architecture�(Two-Tier Architecture)

Client

Server

UI

Data structure, DB

Business logic

“Thik” client - ?

  • high demands on the performance of the client
  • heterogeneous environments (user agents)

10 of 16

Web app architecture�(Two-Tier Architecture)

Client

Server

UI

Data structure, DB

Business logic

“Thin” client - ?

  • high demands on server performance

11 of 16

Web app architecture�(Three-Tier Architecture)

UI

Data structure

Business logic

12 of 16

Web app architecture�(Three-Tier Architecture)

UI

Data structure

Business logic

Transport:

http, https

Request:

REST, RPC

Responce:

XML, JSON, HTML

13 of 16

Web app architecture�(Three-Tier Architecture)

UI

Data structure

Business logic

Transport:

http, https

Request:

REST, RPC

Responce:

XML, JSON, HTML

Request:

REST, RPC (SOAP, CORBA, …)

Responce:

data oriented (not HTML)

14 of 16

Web app architecture�(Three-Tier Architecture)

UI

Data structure

Business logic

Front end

Back end

Front end

Back end

Front end

Back end

?

15 of 16

Web app architecture�(Front endBack end)

16 of 16

Web app architecture�(Front endBack end)