Mapa mental
ARCHITECTURES

Conteúdo do mapa
ARCHITECTURES
The organization of a distributed system is mainly about the software components that make up the system. These software architectures tell us how to organize various software components and how to interact.
Architcetural styles
- The concept of architectural style is very important. This style is based on the components, the way the components are connected to each other, the data exchanged between the components, and how these elements are finally configured into the system. Components are modular units with clearly defined necessary and provided interfaces, Replaceable in its environment
- Object-based and service-oriented architectures
- In essence, each object corresponds to what we have defined as a component, and these components are connected through a procedure call mechanism. In the case of distributed systems, a procedure call can also take place over a network, that is, the calling object need not be executed on the same machine as the called object.
- In essence, each object corresponds to what we have defined as a component, and these components are connected through a procedure call mechanism. In the case of distributed systems, a procedure call can also take place over a network, that is, the calling object need not be executed on the same machine as the called object.
- Publish-subscribe architectures
- A large class of distributed systems have adopted an architecture in which there is a strong separation between processing and coordination. The idea is to view a system as a collection of autonomously operating processes
- In this model, coordination encompasses the communication and cooperation between processes.v
- A large class of distributed systems have adopted an architecture in which there is a strong separation between processing and coordination. The idea is to view a system as a collection of autonomously operating processes
- Layered Architectures
- The basic idea for the layered style is simple: components are organized in a layered fashion where a component at layer Lj can make a downcall to a component at a lower-level layer Li (with i < j) and generally expects a response.
- Only in exceptional cases will an upcall be made to a higher-level component.
- The basic idea for the layered style is simple: components are organized in a layered fashion where a component at layer Lj can make a downcall to a component at a lower-level layer Li (with i < j) and generally expects a response.
- Resource-based architectures
- Distributed system as a huge collection of resources that are individually managed by components. Resources may be added or removed by (remote) applications, and likewise can be retrieved or modified.
- This approach has now been widely adopted for the Web and is known as Representational State Transfer.
- REST Characteristics
- Resources are identified through a single naming scheme
- All services offer the same interface, consisting of at most four operations
- Messages sent to or from a service are fully self-described
- After executing an operation at a service, that component forgets everything about the caller
- REST Characteristics
There are different ways to view the organization of a distributed system, but an obvious method is to distinguish the logical organization of the software component set on the one hand, and the actual physical implementation on the other hand
An important goal of distributed systems is to separate applications from the underlying platform by providing a middleware layer. Adopting such a layer is an important architectural decision, the main purpose of which is to provide transparency in distribution.
Middleware organization
- Wrappers
- A wrapper or adapter is a special component that offers an interface acceptable to a client application, of which the functions are transformed into those available at the component. In essence, it solves the problem of incompatible interfaces
- Middleware with Wrapper
- Middleware with Wrapper
- facilitating a reduction of the number of wrappers is typically done through middleware. One way of doing this is implementing a socalled broker, which is logically a centralized component that handles all the accesses between different applications
- Middleware with Broker
- Middleware with Broker
- A wrapper or adapter is a special component that offers an interface acceptable to a client application, of which the functions are transformed into those available at the component. In essence, it solves the problem of incompatible interfaces
- Interceptors
- An interceptor is nothing but a software construct that will break the usual flow of control and allow other (application specific) code to be executed. Interceptors are a primary means for adapting middleware to the specific needs of an application.
- Using interceptors to handle remote-object invocations
- Using interceptors to handle remote-object invocations
- An interceptor is nothing but a software construct that will break the usual flow of control and allow other (application specific) code to be executed. Interceptors are a primary means for adapting middleware to the specific needs of an application.
- Wrappers
System Architecture
- Centralized organizations
- Simple client-server architecture
- In the basic client-server model, processes in a distributed system are divided into two groups.
- A server is a process implementing a specific service, for example, a file system service or a database service
- This client-server interaction, also known as request-reply behavior
- This client-server interaction, also known as request-reply behavior
- A client is a process that requests a service from a server by sending it a request and subsequently waiting for the server’s reply.
- A server is a process implementing a specific service, for example, a file system service or a database service
- In the basic client-server model, processes in a distributed system are divided into two groups.
- Multitiered Architectures
- The simplest organization is to have only two types of machines
- A client machine containing only the programs implementing (part of) the user-interface level
- Client-server organizations in a two-tiered architecture
- Client-server organizations in a two-tiered architecture
- A server machine containing the rest, that is, the programs implementing the processing and data level
- A client machine containing only the programs implementing (part of) the user-interface level
- The simplest organization is to have only two types of machines
- Simple client-server architecture
- Decentralized organizations: peer-to-peer systems
- Multitiered client-server architectures are a direct consequence of dividing distributed applications into a user interface, processing components, and data-management components.
- Structured peer-to-peer systems
- In a structured peer-to-peer system the nodes (i.e., processes) are organized in an overlay that adheres to a specific, deterministic topology: a ring, a binary tree, a grid, etc.
- In a structured peer-to-peer system the nodes (i.e., processes) are organized in an overlay that adheres to a specific, deterministic topology: a ring, a binary tree, a grid, etc.
- Unstructured peer-to-peer systems
- in an unstructured peer-to-peer system each node maintains an ad hoc list of neighbors.
- Flooding
- In the case of flooding, an issuing node u simply passes a request for a data item to all its neighbors
- Random walks
- At the other end of the search spectrum, an issuing node u can simply try to find a data item by asking a randomly chosen neighbor
- Flooding
- in an unstructured peer-to-peer system each node maintains an ad hoc list of neighbors.
- Hierarchically organized peer-to-peer networks
- There are other situations in which abandoning the symmetric nature of peer-to-peer systems is sensible. Consider a collaboration of nodes that offer resources to each other.
- Notably in unstructured peer-to-peer systems, locating relevant data items can become problematic as the network grows
- Structured peer-to-peer systems
- Multitiered client-server architectures are a direct consequence of dividing distributed applications into a user interface, processing components, and data-management components.
- Centralized organizations
Imagens e arquivos do mapa
Informações
- Descrição
- Mapa Mental sobre ARCHITECTURES, criado por ANDERSON FABIAN VILLAMIZAR GALLARDO em 05-03-2021.
- Criado por
- ANDERSON FABIAN VILLAMIZAR GALLARDO
- Visualizações
- 12
- Avaliação







