162 Chapter 6. Typical Architectural Styles
A. Computational model and design vocabulary
The term data-centred architecture refers to systems in which the access and update
of a widely accessed data-store is an apt description.
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 clients. The shared data is the central
means of communications among the clients.
B. Structural pattern
A sketch of this style is shown in Figure 6.17.
Figure 6.17 Data-centred style
C. Sub-types of the style
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 model) 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.
Software Design Methodology 163
D. Properties derived from the architecture
The data-centred style offers a structural solution to integrability especially when
building from existing systems. They have 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 because new clients can be easily added. It is
also modifiable with respect to changing the functionality of any client because
other clients will not be affected. Coupling among clients will lessen this benefit
but may occur to enhance performance. However, modifiability of the
representation of the data stored in the shared data component could be problematic
because it may affect all clients in the system.