Saturday, September 3, 2016

Architectural Style and categories of architectural styles

Architectural Style and categories of architectural styles
  • The software that is built for computer-based systems also exhibits one of many architectural styles.
  • Each style describes a system category that encompasses (1) a set of components that perform a function required by a system; (2) a set of connectors that enable “communication, coordination and cooperation” among components; (3) constraints that define how components can be integrated to form the system; and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts.
  • An architectural style is a transformation that is imposed on the design of an entire system.
  • The intent is to establish a structure for all components of the system.

the imposition of an architectural style will result in fundamental changes to the structure of the software including a reassignment of the functionality of components.


Categories of Architectural style


·         Data-centered architectures.

o    A data store resides at the center of this architecture and is accessed frequently by other components that update, add, delete, or otherwise modify data within the store.
o    client software accesses the data independent of any changes to the data or the actions of other client software.
o    A variation on this approach transforms the repository into a “blackboard” that sends notifications to client software when data of interest to the client changes.
Data-centered architectures promote integrability.That is, existing components can be changed and new client components added to the architecture without concern about other clients.
Data-centered architecture

·         Data-flow architectures.
o    This architecture is applied when input data are to be transformed through a series of computational or manipulative components into output data.
o    A pipe-and-filter pattern has a set of components, called filters, connected by pipes that transmit data from one component to the next.
o    Each filter works independently of those components upstream and downstream, is designed to expect data input of a certain form, and produces data output of a specified form.
If the data flow degenerates into a single line of transforms, it is termed batch sequential.
Data-flow architectures
·         Call and return architectures
o   This architectural style enables you to achieve a program structure that is relatively easy to modify and scale.
§  Main program/subprogram architectures.
·         This classic program structure decomposes function into a control hierarchy where a “main” program invokes a number of program components that in turn may invoke still other components.

Main program-subprogram architecture


·         Object-oriented architectures.
o   The components of a system encapsulate data and the operations that must be applied to manipulate the data.
o   Communication and coordination between components are accomplished via message passing.
·         Layered architectures.
o   A number of different layers are defined, each accomplishing operations that progressively become closer to the machine instruction set.
o   At the outer layer, components service user interface operations.
o   At the inner layer, components perform operating system interfacing.
o   Intermediate layers provide utility services and application software functions.
Layered architectures

1 comment: