Module 2a - Architecture Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is a component

A

A modular unit with well-defined interfaces.

Is isolatable and does not rely on the existence of other components to function

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

What is a connector

A

A mechanism that mediates communication, coordination, or cooperation among components

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

What is “software architecture”

A

The way that software components are organized

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

What is “system architecture”

A

Instantiation of software architecture in which software components are placed in real machines

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

What is an “Autonomic System”

A

A system which adapts to its environment by monitoring its own behaviour and reacts accordingly

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

What are the 4 typical architectural styles which distributed software systems conform to?

A
  • Layered
  • Object Based
  • Data Centered
  • Event Based
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Layered architecture?

A

Control flows from layer to layer: Requests flow down the hierarchy and responses flow up the hierarchy.

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

<p></p>

<p></p>

<p></p>

<p>How do primitive client-server patterns work?</p>

A

<p></p>

<p></p>

<p></p>

<p>A component (client) requests a service from another component (server) and waits for a response (unless it is a asynchronous request)</p>

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

<p></p>

<p></p>

<p>What are the 3 fundamental layers that enterprise systems typically organized into?</p>

A
User interface (Client Application / Front End)
Application Server (Back End)
Database Server
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

<p></p>

<p></p>

<p>What is Vertical distribution?</p>

A

<p></p>

<p></p>

<p>When logical layers of a system are organized as separate physical tiers on the same machine</p>

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

What is Horizontal distribution?

A

When one logical layer is split across multiple machines. Also known as sharding

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

What is Object-based Architecture?

A

When components are organized in as objects

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

What is Data-centered architecture?

A

Components communicate by accessing a shared data repository such as a database, storage system, or file system

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

What is Event-based architecture?

A

Components communicate by propagating events. Publish/Subscribe systems are used for communicating asynchronous events

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

What are peer-to-peer (P2P) systems?

A

They rely on horizontal distribution and are designed to deal with churn (machines joining and leaving).

Processes are organized in an overlay network that defines a set of communication channels

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

What is a self-managing system

A

They are systems which are constructed using a feedback control loop that monitors system behaviours and adjusts the systems internal operation based on this

17
Q

BitTorrent combines client-server and P2P architectures. How does it work?

A

Client nodes obtain tracker information from a server and then exchange data with peer nodes.

Web server makes API call to File Server which makes API call to tracker service which tracks the state of the network nodes (P2P nodes)