SENG 401 Software Architecture Slides PDF

Document Details

CleanestJasper9407

Uploaded by CleanestJasper9407

University of Calgary

Dr. Ronnie de Souza Santos

Tags

Software Architecture Microservices Microkernel Software Design

Summary

This document presents lecture slides on software architecture styles. Key topics include microkernel and microservice architectures, explaining their characteristics and examples. The slides provide an overview of design principles for building software systems.

Full Transcript

Lecture G SENG 401 – SOFTWARE ARCHITECTURE ARCHITECTURE STYLES – Part 2 Dr. Ronnie de Souza Santos https://www.drdesouzasantos.ca/ ARCHITECTURE CHARACTERISTICS MOTIVATION...

Lecture G SENG 401 – SOFTWARE ARCHITECTURE ARCHITECTURE STYLES – Part 2 Dr. Ronnie de Souza Santos https://www.drdesouzasantos.ca/ ARCHITECTURE CHARACTERISTICS MOTIVATION These characteristics will play a key role in the project, influencing my software requirements, available resources, and code organization. MICROKERNEL ARCHITECTURE is... STRUCTURED BY SEPARATING THE CORE FUNCTIONALITY (MICROKERNEL) FROM ADDITIONAL SERVICES AND FUNCTIONALITIES KEY CHARACTERISTICS The core system (microkernel) provides only essential Flexibility functions like inter-process communication (IPC), memory Reliability management, and scheduling, while additional services, Interoperability such as file systems, device drivers, and networking, run Scalability as independent plug-in components in user space, Maintainability ensuring modularity, flexibility, and fault isolation. Testability MICROKERNEL ARCHITECTURE MICROKERNEL PLUG-INS CLIENTS Core component providing Additional operations User-level processes that essential services such as running separately, such as interact with the process scheduling, file systems, network microkernel and plug-ins communication, and protocols, and device based on clients’ request. memory. drivers. MICROKERNEL - EXAMPLE Feed HTML Key Components and Their Roles: Web API Reader Crawler 1. Core System (Microkernel) – "News Processor" (Plugin) (Plugin) (Plugin) 1. Manages communication between plug-ins. 2. Handles data flow and ensures modularity. 3. Only responsible for fundamental operations like data processing and storage. 2. Plug-in Components: News 1. Feed Reader (Plugin) – Gathers news from RSS or other feed sources. Processor 2. HTML Crawler (Plugin) – Extracts data from web pages using web scraping techniques. 3. Web API (Plugin) – Integrates with external services to fetch additional news. 3. Data Storage: Database DATA MICROKERNEL - EXAMPLE MICROSERVICE ARCHITECTURE STRUCTURED AS INDEPENDENT, SELF- CONTAINED SERVICES THAT COMMUNICATE VIA APIS KEY CHARACTERISTICS Scalability Microservices architecture structures an application Flexibility as a collection of loosely coupled services. Each Deployability service runs independently, communicating via Testability lightweight APIs, ensuring scalability, fault isolation, Fault Tolerance and technology flexibility. Performance MICROSERVICE - EXAMPLE Key Components and Their Roles: 1 - Client Apps Web Client – A browser-based interface. Mobile Client – A mobile application. Both clients communicate with the API Gateway instead of directly accessing microservices. 2. API Gateway: Acts as the single entry point for client requests routing them to the appropriate microservices and handling authentication and load balancing. Sorce: https://infiniticube.com/blog/microservices-architecture-best-practices-to-boost-software-development/ 3. Microservices (Independent Services): Manage independent operations/ 4. Databases: Each microservice has its own dedicated database MICROSERVICE - EXAMPLE 1 2 MICROKERNEL AND MICROSERVICE Aspect Microservices Architecture Microkernel Architecture Application architecture where the core Application architecture is divided into functionality (microkernel) is separate Definition multiple independent services that from additional services, which run as communicate via APIs. plug-in components. Each microservice is a self-contained The microkernel handles only essential Component unit with its own database, deployed tasks, while additional features run in Independence independently. user space as plug-ins. Services communicate via APIs (e.g., Plug-ins communicate IPC or message Communication REST). passing. Examples Large-scale distributed systems. Operating Systems. DID YOU KNOW? MICROSERVICES FRANCES E. ALLEN WAS THE FIRST FEMALE IBM FELLOW. HER WORK DIRECTLY INFLUENCED HOW MICROSERVICES SCALE IN DISTRIBUTED ENVIRONMENTS, LAYING THE GROUNDWORK FOR CONTAINERIZED MICROSERVICES OPERATING ON MODERN CLOUD INFRASTRUCTURES. HER CONTRIBUTIONS TO HIGH- PERFORMANCE COMPUTING AND AUTOMATED PROGRAM OPTIMIZATION CONTINUE TO SHAPE THE DESIGN OF SCALABLE, FAULT-TOLERANT SYSTEMS TODAY. EVENT-DRIVEN ARCHITECTURE THE SYSTEM FLOW IS DETERMINED BY EVENTS SUCH AS USER ACTIONS, SENSOR INPUTS, OR MESSAGES FROM OTHER SYSTEMS KEY CHARACTERISTICS Scalability Interoperability Event-driven architecture processes actions in Flexibility response to specific events, rather than executing Fault Tolerance tasks sequentially, which enables asynchronous Testability communication between services, making systems more responsive and scalable. This architecture is Performance widely used in real-time applications. EVENT-DRIVEN ARCHITECTURE FINANCIAL TRADING IoT SOCIAL MEDIA EVENT-DRIVEN ARCHITECTURE SENG 401 – SOFTWARE ARCHITECTURE ARCHITECTURE STYLES – Part 2 Dr. Ronnie de Souza Santos https://www.drdesouzasantos.ca/

Use Quizgecko on...
Browser
Browser