System Architecture Overview

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is a key characteristic of a Service-Oriented Architecture (SOA) service?

  • Services can function independently with domain functionality. (correct)
  • Services must be tightly coupled with other services.
  • Services require specific programming languages for implementation.
  • Services are designed to be fine-grained in scope.

What role does orchestration play in a Service-Oriented Architecture?

  • Orchestration defines the individual services and their interfaces.
  • Orchestration manages data storage for the services.
  • Orchestration coordinates interactions between different services. (correct)
  • Orchestration is responsible for providing user interface portals.

Which statement accurately differentiates SOA from Microservices?

  • Microservices cannot function independently from SOA.
  • SOA does not support independent service deployment.
  • Microservices rely on a single integration platform.
  • SOA focuses on the entire enterprise's IT system. (correct)

Which of the following best describes the purpose of an integration platform in SOA?

<p>To allow communication between different services. (B)</p> Signup and view all the answers

What is a primary benefit of having coarse-grained services in SOA?

<p>They minimize dependencies between services. (B)</p> Signup and view all the answers

What is the primary concern of a system's architecture?

<p>Defining the functionality of hardware and software components (C)</p> Signup and view all the answers

What characterizes the 'Module' structure in system architecture?

<p>It defines specific functions or responsibilities for various code or data units (C)</p> Signup and view all the answers

Which of the following is NOT a step in the decomposition process of modules?

<p>Verify the system's security measures (B)</p> Signup and view all the answers

In system architecture, what does the Layer structure indicate?

<p>Each layer depends on the one below it, offering services to the one above (D)</p> Signup and view all the answers

What type of diagram is a class diagram in software engineering?

<p>A static structure diagram (A)</p> Signup and view all the answers

What role do 'Uses' relationships serve in the module structure?

<p>Show dependencies between modules regarding services and functionalities (C)</p> Signup and view all the answers

Which statement best describes the Class structure in system architecture?

<p>It pertains to the relationships between various classes and their properties (B)</p> Signup and view all the answers

Which of the following is a key feature of a decomposition structure?

<p>It allows for simplification by breaking down modules into smaller units (B)</p> Signup and view all the answers

What characterizes composition in the context of aggregation?

<p>Parts are destroyed when the whole is destroyed. (D)</p> Signup and view all the answers

Which type of line is used to represent a dependency between two classes?

<p>Dashed line with an open arrow. (C)</p> Signup and view all the answers

What does a data model primarily describe?

<p>The static information structure and relationships of data entities. (A)</p> Signup and view all the answers

Which of the following best describes a component in a system?

<p>A unit that performs computations at runtime. (D)</p> Signup and view all the answers

Which mechanism is mentioned as a service coordination tool?

<p>SOAP (Simple Object Access Protocol). (B)</p> Signup and view all the answers

What is the focus of the concurrency structure within components?

<p>How components are executed concurrently with threads and processes. (C)</p> Signup and view all the answers

What aspect does allocation define in a system?

<p>The interaction with non-software elements in the environment. (D)</p> Signup and view all the answers

What does deployment in the allocation structure illustrate?

<p>The assignment of software to hardware processing elements. (A)</p> Signup and view all the answers

What aspect of microservices allows them to be deployed independently of each other?

<p>Continuous Delivery (C)</p> Signup and view all the answers

Which challenge arises from the autonomy of microservices?

<p>Complex data management (A)</p> Signup and view all the answers

What makes refactoring a microservice complex?

<p>Multiple service dependencies (B)</p> Signup and view all the answers

Why is domain architecture crucial in microservices?

<p>It helps identify bounded contexts (D)</p> Signup and view all the answers

What is a key characteristic of distributed communication in microservices?

<p>It operates through independent processes (A)</p> Signup and view all the answers

Which of the following describes atomicity in transactions?

<p>A transaction is either executed completely or not at all. (B)</p> Signup and view all the answers

What does consistency in transactions imply?

<p>All changes remain valid and conform to predefined rules. (B)</p> Signup and view all the answers

What does isolation indicate in the context of transactions?

<p>Operations of transactions are separated from each other. (D)</p> Signup and view all the answers

What is a major disadvantage of using large monolithic applications?

<p>A small change requires redeployment of the entire app. (A)</p> Signup and view all the answers

What does the Context or System Context diagram represent in the C4 Model?

<p>The scope of the software system and its interactions with users and other systems. (D)</p> Signup and view all the answers

Which of the following is an advantage of using microservices?

<p>They can be developed and deployed independently of each other. (B)</p> Signup and view all the answers

What is NOT a principle of the microservices approach based on the UNIX philosophy?

<p>Applications should only be developed using object-oriented programming. (A)</p> Signup and view all the answers

In the C4 Model, what do Components represent?

<p>Individual parts within a container and their interactions. (C)</p> Signup and view all the answers

Which benefit do microservices provide when testing new technologies?

<p>They allow for testing new technology without affecting other services. (D)</p> Signup and view all the answers

Which level in the C4 Model provides a detailed view of system building blocks like classes and interfaces?

<p>Codes Diagram (B)</p> Signup and view all the answers

Which statement about technology adoption barriers is true?

<p>Framework changes can hinder technology adoption due to their complexity. (B)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

System Architecture

  • Represents a system by mapping functionalities onto hardware and software components, ensuring seamless human interaction with those components.
  • Three primary architectural structures:

    Module Structure

    • Defines the system's organization into code or data units, with each module having a specific function or responsibility.
    • Structures within Module Structure:
      • Decomposition: Breaks down modules into smaller, more manageable units.
      • Uses: Illustrates dependencies between modules, like which modules rely on others' services or functionalities.
      • Layer: Organizes the system in layers, each depending on the layer below and providing services to the layer above.
      • Class: Defines relationships (inheritance, associations, aggregations) between classes or objects in object-oriented systems.
      • Data Model: Describes the static information structure in terms of data entities and their relationships.

    Component and Connector Structure

    • Defines how the system is organized into elements that perform actions during runtime (components) and how those elements interact (connectors).
    • Structures within Component and Connector Structure:
      • Service: Units are services that inter-operate through mechanisms like SOAP. Supports systems composed of independent components, even if developed independently.
      • Concurrency: Shows how components execute concurrently, including threads, processes, and synchronization methods, highlighting parallel/concurrent execution management.

    Allocation Structure

    • Defines how software interacts with non-software elements in its environment, like CPUs, file systems, networks, and development teams.
    • Structures within Allocation Structure:
      • Deployment: Maps software to hardware processing and communication elements.

C4 Model

  • Provides a detailed map of code using an abstraction-first approach, like zooming in and out on Google Maps.
  • Simplifies communication and understanding of software architecture.
  • Utilizes four diagram levels:
    • Context or System Context: Outlines the software system's scope and interactions with users and other systems.
    • Container: Represents a running application or data store, essential for making the system functional.
    • Components: Individual elements within each container, outlining their interactions.
    • Codes: Shows how components are implemented, with classes and interfaces supporting those components.

Microservices

  • Splitting large systems into smaller modules (microservices), each focusing on a specific task or functionality.
  • Derived from Unix philosophy, emphasizing minimal, modular software development.
  • Benefits:
    • Legacy Application: Microservices handle specific requests while leaving others to legacy systems.
    • Time-to-Market: Introduced into production one-by-one, allowing for independent scaling of each service.
    • Free Choice of Technologies: Test new technology within a single microservice, limiting risk to other services.
    • Continuous Delivery: Small microservices can be deployed independently, allowing simultaneous deployment of different versions.
  • Challenges:
    • Data Management: Complexity due to the autonomy of each microservice, especially when multiple services need shared data.
    • Refactoring: Difficult, as improving internal structures or design is challenging across microservices deployed on different environments.
    • Domain Architecture: Defining bounded contexts and separating services aligning with business domains is crucial for a seamless flow.
    • Running Microservices is Complex: Each microservice requiring independent deployment, versioning, scaling, and updates adds complexity.

SOA (Service-Oriented Architecture)

  • Composed of independent, reusable services that communicate through interfaces.
  • Focuses on larger, coarser-grained services, minimizing dependencies.
  • Service Characteristics:
    • Provides domain functionality and can be used independently.
    • Network availability.
    • Compatibility with different programming languages and platforms.
    • Services have interfaces for platform-agnostic communication.
    • Coarser-grained, meaning they are larger in scope and function independently.
  • Team Structure:
    • Different teams manage individual systems and portals.
    • A dedicated team handles integration and orchestration, ensuring smooth communication between services.
  • Integration platform enables communication between services.
  • Orchestration coordinates different services.
  • Portals provide interfaces for users to interact with SOA services (web, mobile, etc.)

SOA vs Microservices:

  • SOA: Focuses on the entire enterprise's IT landscape. Different teams work on specific areas, like backend services or user interface.
  • Microservices: Each team works on both backend and frontend within a single project, enhancing communication and accelerating feature development.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Midterm-Reviewer-IT109.pdf

More Like This

Software Architecture Fundamentals
5 questions
CPE 412 Module 1: Computer Architecture
10 questions
Structural Systems Module 3 - Part A
37 questions
Use Quizgecko on...
Browser
Browser