3-Tier Web Architecture Flashcards

1
Q

Components of Data-Intensive Systems

A

• Presentation
o Primary interface to the user
o Needs to adapt to different display devices(PC, cell phone etc)
• Application(business) logic
o Implements business logic(implements complex actions, maintains state between different steps of a workflow)
o Accesses different data management systems
• Data management
o One or more standard database management systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Thin Client

A

o Client implements only graphical user interface

o Server implements business logic and data management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Thick Client

A

o Client implements both graphical user interface and business logic
o Server implements data management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Two-Tier Architecture [Thick clients]

A

• Advantages:
o Applications can be easily developed due to simplicity
o Database serves and business logic is physically close, which offers higher performance
• Disadvantages:
o No central place for business logic
o Security issues: Server needs to trust clients
o Lack of scalability as it only supports a limited number of user

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Single-Tier Architectures

A
All functionality are combined into a single tier on a mainframe and user access is done through dumb terminals.
•	Advantages:
o	Easy maintenance and administration
o	Easy to implement
•	Disadvantages:
o	Users expect graphical user interfaces
o	Heavy load on central system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Three-Tier Architecture

A
  • Presentation Tier – Client Program (Web Browser) – HTML, CSS, Javascript, Cookies
  • Middle Tier – Application Server – JSP, Servlets, CGI…
  • Data Management Tier – Data Management System – Tables, XML, JSON …
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Three-Tier Architecture

Pros vs Cons

A

o Advantages:
 Modularity: Tiers can be independently maintained or modified or replaces
 Scalability
 Enhanced security as clients do not directly interact with the database
 Integrated data access: Several database systems handled transparently at middle tier
 Easier software development
 Thin clients: only presentation layer at client
o Disadvantages:
 Complexity of communication: the communication points are increased (client to middle tier to server, instead of directly to server)
 Kind of more difficult to implement and maintain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Where to keep application state?

A

• Client-side state
o Information is stored on the client’s computer in the form of a cookie
• Hidden state
o Information is hidden within dynamically created web pages
• Server-side state
o Information is stored in a database, or in the application layer’s local economy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly