0% found this document useful (0 votes)
25 views14 pages

Architectural Styles in Software Engineering

Uploaded by

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

Architectural Styles in Software Engineering

Uploaded by

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

ARCHITECTURA

L STYLES IN
SOFTWARE
ENGINEERING
Fundamentals of Software Engineering
LAYERED ARCHITECTURE

 Layered architecture is a software architecture pattern where the system is divided into
multiple layers, each responsible for a specific set of functions.
MAIN TAKEAWAYS
 Layers in software architecture are typically structured hierarchically
 Each layer is responsible for specific functionalities.
 Communication between layers usually follows a sequential pattern, with data being passed
from one layer to the next.
 Layers facilitate the separation of concerns, enhancing modularity and simplifying
maintenance of the system.
 Common layers include the presentation layer, which handles user interface, the business logic
layer, responsible for processing and decision-making, and the data access layer, managing
data retrieval and storage.
EXAMPLE

 OSI model, which defines networking protocols

 TCP/IP protocol suite, which are widely used in internet communication.


DISTRIBUTED ARCHITECTURE
 Distributed architecture is a software architecture pattern where components of a system are
distributed across multiple computers or nodes that communicate through a network.
MAIN TAKEAWAYS
 Distributed architectures allow for scalability, fault tolerance, and parallel processing.

 Communication between distributed components typically happens through Remote Procedure


Calls (RPC), messaging queues, or web services.

 Challenges in distributed architectures include network latency, data consistency, and security.

 Distributed architectures are crucial for constructing large-scale, internet-based applications


EXAMPLE
 Microservices Architecture

 Peer-to-Peer networks.
CLIENT-SERVER
ARCHITECTURE
 Client-server architecture is a software architecture pattern where client devices request
services or resources from servers, which fulfill these requests.
MAIN TAKEAWAYS
 In client-server architecture, clients initiate requests for data or services, while servers respond
to these requests and provide the necessary resources.

 Client-server architectures can be either two-tier (client and server) or multi-tier (client,
application server, and database server).

 Types of client-server architectures include thin clients, thick clients, and web-based clients.

 Client-server architectures enable centralized management, scalability, and easier maintenance.


EXAMPLE
 Web applications (with browsers as clients and web servers as servers) and

 Email systems
TYPES OF CLIENT-SERVER
ARCHITECTURE
Two-Tier Architecture
 Client and server layers.
 Client handles presentation logic.
 Server manages data storage.
 Example: FTP, Telnet.
Three-Tier Architecture
 Presentation, application, and data layers.
 Better scalability and flexibility.
 Example: Web-based applications.
Web-Based Architecture
 Presentation: web browser.
 Application: web server.
 Example: Online shopping websites.
Thin Client vs. Thick Client
 Thin Client:

Relies on server for processing.


Example: Web browsers.
 Thick Client:

Stores data locally.


Example: Desktop applications.

You might also like