Lecture 8- Web Architectures
Lecture 8- Web Architectures
■ Architecture defined
■ Developing architectures
■ Types of architectures
■ Layered-aspect architectures
■ Data-aspect architectures
Architecture Defined
Functional Requirements
• Clients
• Users
• Other Stakeholders
Architecture
Experience with
• Existing Architecture
• Patterns
• Project Management
• Etc.
Factors and Constraints
influencing the development of an architecture
■ Layering Aspect
■ Data Aspects
Categorizing the Architecture
■ Layering aspect:
■ Layering means that software systems are
structured in several tiers to implement the
principle of “separation of concerns” within a
software system.
■ Two Layer Architecture
■ N-Layer Architecture
Categorizing the Architecture
■ Data Aspects:
■ Data can be structured or non-structured.
■ Structured data follow a defined scheme like
■ tables in a relational database or
■ XML structures in a document.
■ Non-structured data are multimedia contents, e.g.,
images, audio, and video, which typically do not
follow an explicit scheme.
■ This makes their automatic processing difficult
■ Distributed Object Model (DOM)
■ Virtual Shared Memory (VSM)
■ Message Oriented Middle ware (MOM)
■ Peer to peer (P2P)
■ Service Oriented Middleware (SOM)
Layering Aspect:
Client/Server (2-Layer) Architecture
Client
Client
Server
Firewall
Proxy
Presentation Layer
Web Server
Business Layer
Application Server
(Business Logic, Connectors,
Backend
(Legacy Application,
Personalization, Data Access)
Enterprise Info System)
Data Layer
DBMS B2B
Why an N-Layer Architecture?
■ Trade-offs
□ Needless complexity
□ More points of failure
Data-Aspect Architectures
Application
■ Data can be grouped into either of 3
architectural categories:
1. Structured data of the kind stored in DBs
2. Documents of the kind stored in document
management systems Driver Manager
3. Multimedia data of the kind stored in media
servers
Driver
■ Structured data (JDBC/ODBC)
□ Accessed either directly via a web
extension (for 2-tier) or over app server (for
n-tier).
Database
□ Since DB technology are highly mature,
they are easy to integrate
□ Easy to implement
► APIs are available to access DBs (e.g.,
JDBC, ODBC)
Data-Aspect Architectures
[email protected]
https://sites.google.com/view/drdivyarishisahu/home
Integration Architectures
■ Web Services
■ Portals/Portlets
■ Challenges/Pitfalls
□ Cannot separate logic & data in legacy systems
□ Incompatible schemes
□ Poor documentation
□ Measuring performance/scalability