0% found this document useful (0 votes)
12 views25 pages

Lecture 8- Web Architectures

The lecture discusses various aspects of web architectures, including definitions, development factors, and types such as layered and data-aspect architectures. It emphasizes the importance of architecture in ensuring the quality, performance, and maintainability of web applications. Key components of generic web application architecture and the implications of different architectural choices are also explored.

Uploaded by

Deshna Jain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views25 pages

Lecture 8- Web Architectures

The lecture discusses various aspects of web architectures, including definitions, development factors, and types such as layered and data-aspect architectures. It emphasizes the importance of architecture in ensuring the quality, performance, and maintainability of web applications. Key components of generic web application architecture and the implications of different architectural choices are also explored.

Uploaded by

Deshna Jain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Lecture 8

Topic: Web Architectures


By
Dr. Divya Rishi Sahu
Assistant Professor, CSE Department
Samrat Ashok Technological Institute (SATI), Vidisha
2.4 Web Architectures
Outline

■ Architecture defined

■ Developing architectures

■ Types of architectures

■ Generic Web Architecture

■ Layered-aspect architectures

■ Data-aspect architectures
Architecture Defined

■ There is no unique definition of the term


“architecture”
■ You can find more variants

■ Define “software architecture”


□ http://www.sei.cmu.edu/architecture/definitions.htm
l
□ “Software architecture is the set of design
decisions which, if made incorrectly, may cause
your project to be cancelled.” – Eoin Woods
Why Architecture…?

■ Consequence of Inappropriate Architecture


□ The quality of a Web application is considerably
influenced by its underlying architecture.
□ Incomplete or missed architectural aspects
make it difficult to realize the quality
requirements of Web applications, or
□ even make it totally impossible to meet them.
□ Poor performance
□ Insufficient maintainability and expandability
□ Low availability of a Web application
Architecture Defined

■ Authors focus on 5 key attributes/ properties


of software architectures
□ Structure: Components, Interface and Relationships
□ Building design and flow chart for web application
□ Analysis => Implementation
□ Multiple viewpoints
□ Conceptual view
□ Runtime view
□ Process view
□ Implementation view
□ Understandable
□ Framework for flexibility
Factors and Constraints
influencing the development of an architecture

■ Different factors and constraints influencing the


development of an architecture (Jacobson et al. 1999).
Factors and Constraints
influencing the development of an architecture

■ The architecture of an application is influenced by-

Functional Requirements
• Clients
• Users
• Other Stakeholders

Architecture
Experience with
• Existing Architecture
• Patterns
• Project Management
• Etc.
Factors and Constraints
influencing the development of an architecture

■ Influences on Architectures (continued)

Quality considerations with


• Performance
• Scalability
• Reusability
• Other?
Architecture
Technical Aspects
• Operating System
• Middleware
• Legacy Systems
• Other?
Basic Components of a
Generic Web Application Architecture
Components of a Generic Web Application
Architecture
■ Client
■ Firewall
■ Proxy
■ Server
■ Web Server
■ Database Server
■ Media Server
■ Content Management Server
■ Application server, etc.
■ Legacy Application
Proxies

■ Originally for caching data

■ Can also server other roles:


□ Link Proxy
► Persistent URL’s – maps the URL the client sees to the
actual URL.
► AJAX – allows data from a 2nd server to be accessed via a
client script.
□ History Proxy
► HTTP is stateless - navigation history cannot be shared
across multiple websites.
► Multiple companies can access a server-side cookie (e.g.
DoubleClick)
Categorizing the 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

Web/App Server Services

Database Dynamic HTML


Static HTML
Layering Aspect:
N-Layer Architectures
Client

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?

■ Separating services in business layer


promotes re-use different applications
□ Loose-coupling – changes reduce impact on
overall system.
□ More maintainable (in terms of code)
□ More extensible (modular)

■ 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

■ Web Document Management


Data-Aspect Architectures

■ Web Multimedia Management: Point-to-point


DRS
Conclusion
1. DD
2.24

[email protected]
https://sites.google.com/view/drdivyarishisahu/home
Integration Architectures

■ Enterprise Application Integration (EAI)

■ Web Services

■ Portals/Portlets

■ Challenges/Pitfalls
□ Cannot separate logic & data in legacy systems
□ Incompatible schemes
□ Poor documentation
□ Measuring performance/scalability

You might also like