Mind map
Typical Architectural Styles
Map content
Typical Architectural Styles
They serve as idiomatic patterns of system organisation
- Styles can be characterised by:
- Vocabulary, structural pattern, computational model, essential invariants, common specialisations and classic uses
- Data Flow
- The pipe-and-filter sub-style
- Model: incrementally reads in streams of data on its inputs and incrementally produces streams of data on its output
- Vocabulary: The components in a pipes-and-filters architecture are called filters . The connectors in pipe-and-filter systems are called pipes. Also characteristics of the components: Independence, Anonymity and Concurrency
- Structural Pattern: There is no structure restriction in addition to that of the restrictions of data flow architectural style.
- Properties: Allow to understand the overall input/output, allow reuse, easy to maintain and enhance
- The main sub-type of this style is pipe line. There is no cycle of data flow
- The batch sequential processing sub-style
- Model: components are independent programs. They are executed sequentially
- Vocabulary: The computational components in a batch sequential processing architecture are often called processing steps or phases .
- Structural Pattern: Batch sequential processing architectures usua lly consist of a finite number of steps linearly connected
- Properties: avoids complicated issues related to the synchronisation between components by executing them one after another, cannot deal with continuous streams of inputs with unbounded lengths
- The pipe-and-filter sub-style
- Independent components
- The event based implicit invocation systems sub-style
- Model: Announce data that they wish to share with their environment – a set of unnamed components
- Vocabulary: Publishing, Subscription, Event handler
- Structural Patterns: The interface of a com ponent in event-based implicit invocation systems usually contains a collection of ev ents that it can raise and a collection of procedures or functions that other components can call directly
- Properties: The implicit i nvocation architecture strongly supports reuse and software evolution,A new compone nt can be integrated into the system while the system is executing simply by re gistering it for the events of that system, One component can be replaced by another component or components without affecting the interfaces of other components of the system.
- The communicating processes sub-style
- Model: hey communicate with each other through fixed channels of communications. They pass messages to each other to synchronise their executions and to achieve mutual exclusion in accessing shared resources
- Vocabulary: Processes, Comunication Channels, Ports
- Structural Pattern: The general structure of communicating processes systems is a network of processes connected by communication channels.
- Client-Server
- A server exists to serve data to one or more clients, which are typically located across a network
- The event based implicit invocation systems sub-style
- Call and Return
- The layered systems sub-style
- Model: The computational model of layered systems is the same as that of call and return systems. The main characteristic of the style is its way of organising subroutines into a simple topological structure.
- Structural Pattern and Vocabulary: ubroutines are organised into a number of groups, which are called layers . Each layer contains a collection of subroutines that provide services at a certain abstract level to the layer or layers above it. At the same time, the implementation of the subroutines of the layer depends on calls to the subroutines in the lo wer layers.
- Properties: they support designs based on increasing levels of abstraction, they support enhancement, and they support reuse.
- Data abstraction: the abstract data type and object-oriented sub- styles
- Model: There is typically a single thread of control. Each component executes only when it gets this control from another component and returns the control to that component when it terminates execution.
- Structural Pattern and Vocabulary: A par ticular type of data’s representation and all its associated operations are encapsulated in to one unit, which enables the data to be used and operated the same way as data of preliminary data types like integers and real numbers directly defined by programming languages. Therefore, such a unit is called an abstract data type . The components of this style are instances of the abstract data types. Such components are often called managers
- Properties: Because an object hides its representation from its clients, it is possible to change its implementation without affecting its clients. Additionally, the building of a set of accessing routines with the data that they mani pulate allows designers to decompose problems into collections of interacting agents.
- The layered systems sub-style
- Data-Centred
- Model and Vocabulary: There are two types of components in a data centred system. One is a data store, which stores the data that other components can access. It is called shared data. The other components are active and run on independent threads of control. They access the shared data to fulfil their functionality and to collaborate with each other. These components are usually called c lients. The shared data is the central means of communications among the clients.
- Structural Pattern
- Sub-types: The shared data that all clients access and update may be a passive repository such as a file or an active repository such as a blackboard. The means of communication (sometimes called the coordination m odel) distinguishes two sub-types: repository (which is shown in the figure above) and blackboard . A blackboard sends notification to subscribers when data of interest changes, and thus is active.
- Properties: The data-centred style offers a structural solution to integrability especially when building from existing systems. They ha ve the advantages that the clients are relatively independent of each other, and the data store is independent of the clients. Thus the system is scalable becau se new clients can be easily added.
- Virtual Machine
- Structural Pattern:
- Model and Vocabulary: Similar to the hardware architecture of a computer, the structure of a virtual machine consists of three passive data components and one active component
- Properties: Executing a program via an interpreter also adds flexibility through the ability to interrupt and query the program and introduce modifications at run-time, but there is a performance cost.
- Data Flow
- Vocabulary, structural pattern, computational model, essential invariants, common specialisations and classic uses
- Styles can be characterised by:
Images and files in the map
Information
- Description
- Ingeniería Mind Map on Typical Architectural Styles, created by GIL BAZZANI NICOLAS RENE on 29/10/2018.
- Created by
- GIL BAZZANI NICOLAS RENE
- Views
- 0
- Rating