Chapter 2 and 3 - Architecture and Communication Flashcards

1
Q

What are Layered Architectures?

A

Components organized in layers; higher layers call lower layers. Common layers: Application Interface, Processing, Data.

Pros: Simple, widely used. Cons: Strong dependencies, bottlenecks. Examples: Most applications, network communication architectures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What defines Object- or Service-Based Architectures?

A

Components are objects connected by procedure calls, or self-contained services.

Objects can be distributed. Service-Oriented Architecture (SOA) involves composing applications from services. SOAP is a strict protocol for SOA. Advantages include modularity, reuse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are Resource-Centered (Microservice) Architectures?

A

Design around resources with fixed interfaces, often RESTful. Microservices are small, independent services for specific business functions.

Communicate over lightweight channels (e.g., REST, gRPC). Characteristics include resource identification, uniform interface, self-describing messages, statelessness.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the communication method in Event-Based Architectures?

A

Processes communicate by publishing event notifications; other processes subscribe to specific event types.

Enables decoupling and can use direct or mailbox communication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define a Process in computing.

A

A program in execution that contains machine code, memory, resources, processor context.

OS ensures independence. Context switching is required when switching between processes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a Thread?

A

A piece of code executing independently within a process, sharing the process’s memory.

Lighter context than processes. Can be user-level (many-to-one) or kernel-level (one-to-one).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Virtualization?

A

Running a virtual computer system using an abstraction layer above hardware.

Important for portability, isolation, cloud computing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are Virtual Machines (VMs)?

A

Emulation of a complete computer system, allowing multiple OSes on one machine.

Managed by a hypervisor. Hardware-assisted VMs provide better isolation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are Containers in computing?

A

Lightweight, isolated environments packaging an application and its dependencies, sharing the host OS kernel.

Lower overhead than VMs. Key concepts: images, containers, Dockerfiles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the OSI Model’s Network Layer (IP)?

A

Conceptual model for network protocols that routes packets based on IP addresses.

Encapsulates data into datagrams. Best-effort, unreliable, connectionless.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does the Transport Layer (TCP) in OSI Model do?

A

Supports applications directly and is reliable, ordered, error-checked, connection-oriented.

Divides data into segments with headers and features flow and congestion control.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What characterizes the Transport Layer (UDP) in OSI Model?

A

Connectionless with minimal protocol mechanisms, provides integrity verification.

Unreliable, provides no other guarantees, suitable for simple queries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is RPC (Remote Procedure Call)?

A

Aims to make remote calls appear local, involving marshaling parameters by the client stub.

Generally synchronous and transient.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Message Passing in ZeroMQ?

A

Allows asynchronous communication and abstracts low-level sockets.

Example: Request-Reply pattern with REQ (client) and REP (server) sockets.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly