Module 2a - Architecture Flashcards
What is a component
A modular unit with well-defined interfaces.
Is isolatable and does not rely on the existence of other components to function
What is a connector
A mechanism that mediates communication, coordination, or cooperation among components
What is “software architecture”
The way that software components are organized
What is “system architecture”
Instantiation of software architecture in which software components are placed in real machines
What is an “Autonomic System”
A system which adapts to its environment by monitoring its own behaviour and reacts accordingly
What are the 4 typical architectural styles which distributed software systems conform to?
- Layered
- Object Based
- Data Centered
- Event Based
What is Layered architecture?
Control flows from layer to layer: Requests flow down the hierarchy and responses flow up the hierarchy.
<p></p>
<p></p>
<p></p>
<p>How do primitive client-server patterns work?</p>
<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>
<p></p>
<p></p>
<p>What are the 3 fundamental layers that enterprise systems typically organized into?</p>
User interface (Client Application / Front End) Application Server (Back End) Database Server
<p></p>
<p></p>
<p>What is Vertical distribution?</p>
<p></p>
<p></p>
<p>When logical layers of a system are organized as separate physical tiers on the same machine</p>
What is Horizontal distribution?
When one logical layer is split across multiple machines. Also known as sharding
What is Object-based Architecture?
When components are organized in as objects
What is Data-centered architecture?
Components communicate by accessing a shared data repository such as a database, storage system, or file system
What is Event-based architecture?
Components communicate by propagating events. Publish/Subscribe systems are used for communicating asynchronous events
What are peer-to-peer (P2P) systems?
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