Data centered architecture
These architectures have the goal of achieving the quality of integrability
of data.
The term refers to systems in which the access and update of a
widely accessed data store is their primary goal.
Basically, it is nothing more than a centralized data store that
communicates with
a number of clients.
Important for these styles are three protocols: communication,
data definition and data manipulation protocol.
The means of communication distinguishes the two subtypes: repository and
blackboard.
Repository: a client sends a request to the system to perform a necessary action
(e.g. insert data).
Blackboard: the system sends notification and data to subscribers when data of
interest changes, and is thus active.
Repository architecture
Repository architecture
One of the most well-known examples of the data-centered architecture,
is a database architecture ,There is a common database schema (i.e.
meta-structure of the repository) -created with data definition protocol
e.g. in RDBMS a set of related tables with fields, data types, keys, ...
Clients use data manipulation protocol to work with the data e.g. SQL for
inserting, selecting, deleteing data, ...
Depending on where clients are situated communication protocol might
be an inner-proces communication.
Communication between components on the same machine
Communication over network, e.g. LAN, Internet, etc.
Another example of data-centered architectures is the Web architecture There is a common
data schema (i.e. meta-structure of the Web) ,it follows hypermedia data model.
Pages (nodes) and links between them, as well as addressing mechanism
Advantages:
Ensures data integrity.
Reliable, secure, testability guaranteed.
Clients independent on the system: performance and usability on the client
side is good.
Problems with scalability.
Solutions: shared repositories, replication but this increases
complexity.