Andrea Gallidabino & Cesare Pautasso
http://www.pautasso.info
[email protected]
@pautasso
Whenever a user connects with more that one single device, either sequentially or concurrently, to a liquid Web application, the application adapts to the set of connected devices and it is able to flow seamlessly between them following the user attention. As opposed to traditional centralised architectures, in which the data and logic of the application resides entirely on a Web server, Liquid software needs decentralised or distributed architectures in order to achieve seamless application mobility between clients. By decomposing Web application architectures into layers, following the Model View Controller design pattern, we define a maturity model for Web application architectures evolving from classical solid applications deployed on single devices, to fully liquid applications deployed across multiple Web-enabled devices. The maturity model defines different levels based on where the application layers are deployed and how they migrate or synchronize their state across multiple devices. The goal of the maturity model described in this paper is to understand, control and describe how Web applications following the liquid user experience paradigm are designed and also provide Web developers with a gradual adoption path to evolve existing Web applications.
(1950-1970)
(1980-1990)
(2000-)
Daniele Bonetta, Tommi Mikkonen, Antero Taivalsaari, Kari Systä, Andrea Gallidabino, Vasileios Triglianos, Masiar Babazadeh, Yoël Luginbuhl
Level 1
Web 1.0
Level 2c
Rich Web
Level 3c
Realtime Web
Level 4c
Hybrid Web
Level 5
P2P Web
Logic Ultra-thin Thin Thin Thin Thick
State Centralized Centralized Centralized Centralized Distributed
Channel Pull Pull Push P2P P2P
Flow Migrate/Fork Migrate/Fork Migrate/Fork/Clone Migrate/Fork/Clone Migrate/Fork/Clone
Adapt Static Responsive Complementary Complementary Complementary
Hops 2 2 2 1 or 2 1
Privacy NO NO NO NO YES
Level 1
Web 1.0
Level 2d
Rich Web
Level 3d
Realtime Web
Level 4d
Hybrid Web
Level 5
P2P Web
Logic Ultra-thin Thin Thin Thin Thick
State Centralized Decentralized Decentralized Decentralized Distributed
Channel Pull Pull Push P2P P2P
Flow Migrate/Fork Migrate/Fork Migrate/Fork/Clone Migrate/Fork/Clone Migrate/Fork/Clone
Adapt Static Responsive Complementary Complementary Complementary
Hops 2 2 2 1 or 2 1
Privacy NO NO NO YES* YES
Web 1.0 Rich Web Realtime Web Hybrid Web P2P Web
Logic Ultra-thin Thin Thin Thin Thick
State
Centralized
Centralized
Decentralized
Centralized
Decentralized
Centralized
Decentralized
Distributed
Channel Pull Pull Push Peer to Peer Peer to Peer
Flow Migrate/Fork Migrate/Fork Migrate/Fork/Clone Migrate/Fork/Clone Migrate/Fork/Clone
Adapt Static Responsive Complementary Complementary Complementary
Hops 2 2 2 1 or 2 1
Privacy NO NO NO YES* YES
Use a spacebar or arrow keys to navigate