0% found this document useful (0 votes)
20 views6 pages

What Is The Architecture of A Computer System

Chapter 7 discusses the architecture of computer systems, emphasizing components, collaborations, and connectors. It highlights key attributes of software architecture, quality considerations, and functional requirements, particularly in web applications, which have distinct quality demands and architectural considerations. The chapter also outlines various layered architectures for web applications, detailing their components, advantages, and typical applications.
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)
20 views6 pages

What Is The Architecture of A Computer System

Chapter 7 discusses the architecture of computer systems, emphasizing components, collaborations, and connectors. It highlights key attributes of software architecture, quality considerations, and functional requirements, particularly in web applications, which have distinct quality demands and architectural considerations. The chapter also outlines various layered architectures for web applications, detailing their components, advantages, and typical applications.
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/ 6

chapter 7

1. What is the architecture of a computer system?

Answer:
The architecture of a computer system is the high-level (most general) design on which the
system is based.

Architectural features include:

Components: The individual parts of the system.


Collaborations: How components interact.
Connectors: How components communicate.

2. What are the key attributes of software system architecture?

Answer:

Architecture describes the structure of the system.


Architecture forms the transition from analysis to implementation.
Architecture is viewed from different viewpoints: conceptual, runtime, process, and
implementation.
Architecture makes a system understandable.

3. What factors influence system architecture related to quality considerations?

Answer:
Quality considerations:

Performance: The speed and efficiency of the system.


Scalability: Ability to handle growth in workload.
Reusability: Ease of using components in other projects.
Other factors (depending on specific requirements).

4. What factors influence system architecture related to functional


requirements?

Answer:
Functional requirements:

Clients: End-users of the system.


Users: Specific groups interacting with the system.
Other stakeholders: Parties with an interest in the system.

5. What factors influence system architecture related to technical aspects and


experience?
Answer:
Experience with:

Existing architecture: Knowledge from previous systems.


Patterns: Commonly used architectural solutions.
Project management: Skills in organizing and executing the project.

Technical aspects:

Operating system: The system software managing hardware and software resources.
Middleware: Software enabling communication between different components.
Legacy systems: Older systems still in use.
Other factors (depending on technical requirements).

_____________________________________________________________________________________________________

1. What are the specifics in web application architecture?

Answer:

A number of architectures have been developed for specific requirements in various


application domains.
For web application architecture, key considerations include:
Layering aspect: To implement the principle of separation of concerns.
Data aspects: To support the processing of structured and non-structured data.

2. How do web application quality requirements differ from desktop


applications?

Answer:

Web applications have more demanding quality requirementscompared to desktop


applications, including:
Performance: The speed and responsiveness of the application.
Security: Protecting the system from threats.
Scalability: Ability to handle increased user load.
Availability: Ensuring the application is accessible at all times.
Specific technical infrastructures are needed for both development and operation.

3. What key architectural considerations are required for web applications?

Answer:

Web Infrastructure Architecture (WPA):) The underlying technical setup for hosting and
supporting the application.
Web Application Architecture (WAA): )The design of the application itself.
The Web Application Architecture (WAA) depends on the problem domain of the
application.
therefore we focus on web platform architecture (WPA)

_____________________________________________________________________________________________________

Components of a Web Application Architecture

Client:

Generally a browser (user agent) controlled by a user to operate the web application.
The client’s functionality can be expanded by installing plug-ins.

Firewall:

A piece of software regulating the communication between insecure networks (e.g., the
Internet) and secure networks (e.g., corporate LANs).
Communication is filtered by access rules.

Proxy:

A proxy is typically used to temporarily store web pages in a cache.

Web Server:

A web server is a piece of software that supports various web protocols like HTTP, HTTPS,
etc., to process client requests.

Database Server:

This server supplies data in a structured form, such as tables.

Legacy Application:

An older system that should be integrated as an internal or external component.

Media Server:

This component is primarily used for content streaming of non-structured bulk data (e.g.,
audio or video).

Application Server:

An application server holds the functionality required by several applications.

___________________________________________________________________________________________________

3. Layered Architecture for Web Applications

Presentation Tier:

Every web application needs to communicate with external entities, such as human users
or other computers.
Allows these entities to interact with the system and is implemented as a GUI interface.
Focuses on how the data should appear to the user.

Application Tier:

Web applications perform data processing, such as business logic and calculations, in
addition to delivering information.
Often referred to as:
Services
Business Logic

Data Layer:

Web applications require data to work with.


Data can reside in databases or other information repositories.
This layer handles and implements different data sources of Information Systems.

3.1 Two-Layer Web Architecture

Description:

Presents the architecture in two layers:


1. Layer 1: Client platform hosting a web browser.
2. Layer 2: Server platform hosting all server software components.
Also referred to as client/server architecture.
The client sends requests directly to the server, which responds to these requests.
Requests can be static or dynamic.

Diagram:

Client ↔ Web/App Server ↔ Database


Includes services, static HTML, and dynamic HTML.

Advantages:

Inexpensive, as it operates on a single platform.

Disadvantages:

Interdependency (tight coupling) of components.


No redundancy.
Limited scalability.

Typical Applications:

Suitable for 10–100 users.


Often used by small companies or organizations.

3.2 Three-Layer Web Architecture


Description:

Typically implemented with three layers:


Layer 1: Data
Layer 2: Application
Layer 3: Presentation
Additional mechanisms such as a Firewall for security and Proxies for caching can be
incorporated.

Diagram:

1. Data Layer:
DBMS (Database Management System)
Backend systems (e.g., Legacy Applications, Enterprise Information Systems)
2. Business Layer:
Application Server with business logic, connectors, personalization, and data access
3. Presentation Layer:
Client Interface
Includes a Firewall and Proxy for added functionality.

Advantages:

Improved performance.
Decreased coupling of software components.
Enhanced scalability.

Disadvantages:

Lack of redundancy.

Typical Applications:

Supports 100–1000 users.


Commonly used by small businesses or regional organizations, such as specialty retailers
or small colleges.

3.3 N-Layer Web Architecture

Description:

An extension of the three-layer architecture that introduces additional layers by:


Replication: Replicating the functionality of a layer.
Specialization: Specializing functions within a layer.

Examples:

Replication:
Application and data servers are duplicated to share the total workload.
Specialization:
Specific servers handle designated parts of the workload based on their function.

Advantages:

Decoupling of software components.


Flexibility to add or remove platforms based on workload.
Improved scalability.
Redundancy to ensure reliability.

Disadvantages:

Higher costs due to maintenance, design, electrical load, and cooling requirements.

Typical Applications:

Designed for 1000+ users.


Suitable for large businesses or organizations.

You might also like