Académique Documents
Professionnel Documents
Culture Documents
Web Engineering
Web Application
Architectures
© Copyright 2013 Ioan Toma & Srdjan Komazec 1
Where we are?
# Date Title
1 5th March Web Engineering Introduction and Overview
1
4/23/2013
Overview
• Summary
What is an architecture?
INTRODUCTION
2
4/23/2013
Software Architectures
Software Architectures
3
4/23/2013
Developing Architectures
Influences on Architectures
Functional Requirements
• Clients
• Users
• Other Stakeholders
Architecture
Non-Functional Requirements
• Performance
• Scalability
• Reusability
• Other?
Developing Architectures
Influences on Architectures
Technical Aspects
• Operating System
• Middleware
• Legacy Systems
• Other?
Architecture
Experience with
• Existing Architecture
• Patterns
• Project Management
• Other?
4
4/23/2013
Developing Architectures
• 3 types of patterns
– Architecture patterns (e.g. MVC)
– Design patterns (e.g. Publisher-Subscriber)
– Idioms (e.g. Counted-Pointer in C++)
10
5
4/23/2013
11
12
6
4/23/2013
• Global requirements
– Multi linguality
– Cultural adaptation?
• E.g. Google for Korea
13
WEB APPLICATION
ARCHITECTURES
14
7
4/23/2013
Architecture Types
• Layering Aspect
– “Separation of concerns”
– How many concurrent users are you serving?
– Shared needs among multiple applications? (e.g., security)
• Data Aspect
– What kind(s) of data are you delivering?
• Structured vs. non-structured
• On-demand vs. real-time
– What are the bandwidth requirements?
• Size & nature of data
• Again, audience concerns
15
Architecture Types
16
8
4/23/2013
Example of a WAA
Web Application
17
18
9
4/23/2013
19
• Model
– encapsulate application state
– responds to state queries
– exposes application functionality
– notifies views of changes
• View
– renders the models
– requests updates from models
– sends user interaction to controller
– allows controller to select view
• Controller
– defines application behavior
– maps user actions to model updates
– selects view for response
– one for each functionality
20
10
4/23/2013
• Technological constraints
– HTTP
21
Model-View-Controller 2 (MVC 2)
22
11
4/23/2013
Client/Server (2-Layer)
Client
Client
Server
23
N-Layer Architectures
Client
Firewall
Proxy
Presentation Layer
Web Server
Business Layer
Application Server Backend
(Business Logic, Connectors,
(Legacy Application,
Personalization, Data Access)
Enterprise Info System)
Data Layer
DBMS B2B
24
12
4/23/2013
• Trade-offs
– Needless complexity
– More points of failure
25
JSP-Model-1 Architecture
26
13
4/23/2013
JSP-Model-2 Architecture
1. user request
2. create/change model
3. create/change view
4. generate output
5. server response
27
28
14
4/23/2013
WRAP-UP
29
30
15
4/23/2013
Bibliography
• Mandatory reading
– Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Wiley &
Sons. 4th Chapter
• Web links
– Model-View-Controller pattern http://en.wikipedia.org/wiki/Model-View-Controller
31
Next Lecture
# Date Title
1 5th March Web Engineering Introduction and Overview
32
16
4/23/2013
Questions?
33
17