1/27
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
distributed systems
complex pieces of software, of which the components are (by definition) dispersed across multiple machines.
logical organization
design and architecture of the system
physical realization
how the system is implemented and deployed on actual hardware
software or system architecture
shows how the various components are to be organized and how they should interact (logical organization)
architectural styles
a set of design rules that identify the kinds of components and connectors that may be used to compose a system or subsystem, together with local or global constraints on the way the composition is done
components
modular unit with well-defined, required, and provided interfaces that is replaceable within its environment
connector (2)
a mechanism that mediates communication, coordination, or cooperation among components
layered architecture
structures an application into multiple _ stacked on top of one another, each with a service to the _ above it and utilizes services from the _ below it.
service-oriented architectures
making two applications communicate with each other by a collection of _ (self-independent)
publish-subscribe architecture
_ share events in real-time and _ perform some type of computation depending on the event that was _
adjacent
in a layered architecture, components are organized in layers where each layer
communicates with its _ layer by sending requests and getting responses.
modified independently
in a layered architecture, each layer can be _ without affecting the whole system.
pure layered organization
layers communicate only with adjacent layers
mixed layered organization
controlled communication between non-adjacent layers
upcalls
offer a middle ground between strict layer boundaries and open communication
layered organization with upcalls
some layers can request specific services or information from layers that are not immediately adjacent
communication-protocol stacks
each layer implements one or several communication services allowing data to be sent form a destination to one or several targets and offers an interface
connector
describes rules that parties will follow to exchange information
transmission control protocol
one of the core protocols of the internet protocol suite and plays a crucial role in ensuring reliable communication between two devices (typically over a network); specifies which messages are to be exchanged for setting up to tearing down a connection, what needs to be done to preserve
application-interface level
enables user applications (e.g., web browsers, email clients, file transfer programs) to interact with the network.
processing level
actions performed by the application on the data it receives or sends over the network (web browser may display an HTML page with embedded JavaScript, images, and CSS, all of which must be processed to display the final page to the user.).
data level
structure and content of the actual data being transferred between systems (e.g. HTTP, the data might be structured in HTML, JSON, or XML formats).
presentation layer
user interface
application layer
code definition and the most basic function of the system
business layer (domain layer)
where business logic operates (collection of rules based on organization guidelines)
persistence layer (data access layer)
proctective layer, connection details and SQL statement
database layer
stores the data
importance of application layering
improves component classification, low overhead cost, easier to write and develop applications, easier to test applications, benefits from layers of isolation, improves problem-solving initiatives