Typical Architectural Styles: Prepared by Mrs. M Praveena, HOD MCA
Typical Architectural Styles: Prepared by Mrs. M Praveena, HOD MCA
Typical Architectural Styles: Prepared by Mrs. M Praveena, HOD MCA
objectives
To learn various software architectural styles; To learn how different software architectural styles are interrelated.
DATA FLOW
Data flow is a software architectural style that is widely used in various application domains where data processing plays a significant role. There are three different type styles in this
1. The general data-flow style 2. The pipe and filter sub-style 3. The batch sequential processing sub style
pipes.
There are three important constraints on the components and the connectors of pipe and-filter architecture. Those are 1. Independence 2. Anonymity. 3. Concurrency
Anonymity:
Filters do not know the identity of their upstream and downstream filters. Their specifications might restrict what appears on the input pipes or make guarantees about what appears on the output pipes
Concurrency.
The correctness of the output of a pipe-and-filter network should not depend on the order in which the filters perform their incremental processing- although fair scheduling can be assumed.
Structural pattern:
Batch sequential processing architectures usually consist of a finite number of steps linearly connected. some batch sequential processing systems contain loops that repeat some processing steps for a finite number of times.
INDEPENDENT COMPONENTS
The architectural style of independent components has attracted increasing interest recently for its strong support to software reuse and evolution due to its ease of integration of components into a system. It has a number of sub-types of style including communicating processes, event-based implicit invocation and multi agent systems.
Design vocabulary:
All components of a system in the independent component style must be executable. They are often called processes if the component is active. Otherwise, they are often just called modules.
Essential invariants:
The essential invariant of all sub-types of the independent component style is that the only means of information exchange among the components is message passing.
Design vocabulary:
A component's announcement of data is usually called publishing the data. Such an announcement is also called an event. A component's registration of its interests in certain data is called subscription. A message manager in an event-based implicit invocation system is also often called event handler.
Structural pattern:
Design vocabulary:
The components in a communicating processes system are called processes and they communicate with each other through communication channels and ports, where messages are sent and received.