0% found this document useful (0 votes)
7 views28 pages

Chapter 5 - Database Centric Architecture

Uploaded by

NΣKO
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
7 views28 pages

Chapter 5 - Database Centric Architecture

Uploaded by

NΣKO
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 28

Software Architecture

Course’s Code: CSE 483


Database Centric Architecture
(Chapter 5)
Chapter 5

Chapter 5. Database Centric Architecture


5.1 What is Database-Centric Architecture?
5.2 Classic Three-Tier Architecture?
5.3 Advantages and disadvantages

11/1/2024 2
Technology comes and goes, but data stays

11/1/2024 3
Technology sees the world through data models

11/1/2024 4
Data Aspect

• Data can be structured or non-structured.


• Structured data follow a defined scheme like tables in a relational
database or XML structures.

• Non-structured data are multimedia contents, e.g., images, audio, and


video.

11/1/2024 5
Database Centric Architecture

11/1/2024 6
What is Database Centric Architecture?

Data-Centric architecture is characterized by a centralized data


store that is shared by all surrounding software components.

The characterization of an architecture as "database-centric" may mean


any combination of the following:

- Using a standard relational database management system (RDBMS)

- Using dynamic, table-driven logic.

- Using Stored Procedures that run on database servers.

11/1/2024 7
Types of Components

2 major components:

1. Data Store: responsible for providing permanent data storage

2. Data accessor or independent software components: operate on the


central data store, perform computations

11/1/2024 8
Data Accessors

In Data-Centric Architecture, the data accessors (software components) don't


communicate with each other directly; instead, all the communication is
conducted via the data store. The shared data module provides all mechanisms
for software components to access it, such as insertion, deletion, update, and
retrieval
Client app
communication is not
permitted
Client S/W Client S/W

Shared Data
11/1/2024 9
Data Accessors
Data accessors can present the same data in many different ways.

Data accessors can browse, edit or present the existing data.

Some data accessors can be disabled without affecting the database → decoupling of
data and application at all scales.

Client app
communication is not
permitted
Client S/W Client S/W

Shared Data
11/1/2024 10
The producers of data versus consumers of data

Producer 1 Producer 2 Producer 3

Shared data across the enterprise

Consumer 1 Consumer 2

11/1/2024 11
Many relationships between data and applications

Client S/W 1 Client S/W 2 Client S/W 3 Client S/W 4

Shared Data 1 Shared Data 2 Shared Data 3

11/1/2024 13
Two Categories of Data-Centric Architecture

The data is the means of communication among clients. The flow


of control differentiates the architecture into 2 categories:

1. Repository Architecture Style

2. Blackboard Architecture Style

11/1/2024 14
Repository Architecture Style

• The data storage is passive

• The software components are active which control the logic


flow

• All data is managed in central


repository and is accessible by
software components
Data storage
• The software components don’t
interact directly, only through the
repository.
11/1/2024 15
Blackboard Architecture Style

• The data storage is active. Flow of logic is determined by the


current data status in the data store.

• The software components are passive which control the logic


flow

Data storage

11/1/2024 16
Blackboard Architecture Style

• It has a blackboard component, acting as a central data repository.

• The clients of a blackboard are called knowledge sources, listeners, or


subscribers. A new data change may trigger events so that the
knowledge sources take actions to respond to these events

Data storage

11/1/2024 17
Characteristics of Data-Centric Architecture

Data Repositories: Data-centered architecture typically involves the establishment of centralized data
repositories where all relevant data is stored. These repositories can be databases, data warehouses,
data lakes, or other storage systems.

Data Modeling and Schema Design: The architecture focuses on designing robust data models and
schemas that accurately represent the relationships and constraints within the data. This ensures data
consistency and integrity.

Data Access and Manipulation: The architecture emphasizes the design of mechanisms for accessing,
querying, and modifying data stored in the repositories. This may involve the use of standardized query
languages, APIs, or other interfaces.

Data Security and Privacy: Ensuring the security and privacy of sensitive data is a crucial aspect of data-
centered architecture. Access controls, encryption, and authentication mechanisms are often integrated
to protect the data.

11/1/2024 18
Characteristics of Data-Centric Architecture

Data Sharing and Integration: Data-centered architectures facilitate the sharing and integration of data
across different components and services within an application or across different applications. This is
particularly important in systems with diverse functionalities.

Data Consistency and Coherency: Maintaining data consistency and coherency across different parts of
the system is a priority in data-centered architecture. Techniques like transactions and synchronization
mechanisms may be employed.

Scalability and Performance: The architecture needs to address scalability concerns, especially when
dealing with large volumes of data. Techniques like sharding, replication, and caching may be utilized to
optimize performance.

Analytics and Reporting: Data-centered architectures often include provisions for data analysis,
reporting, and generating insights from the stored data.

11/1/2024 19
Benefits of Data-Centric Architecture

Data Integrity: By making data a central focus, the architecture ensures that data remains consistent,
accurate, and reliable throughout the system.

Modularity: Different components can access and manipulate data without tightly coupling with each
other, promoting modularity and maintainability.

Reusability: Data-centric services and data models can be reused across different parts of the
application or in different applications.

Scalability: Data stores and data access mechanisms can be scaled independently to handle increased
data volume and user demands.

11/1/2024 20
Benefits of Data-Centric Architecture

Consistency: All components and services work with the same set of data, reducing the chances of
discrepancies or conflicting information.

Ease of Integration: Data-centered architectures simplify the integration of different modules or services
that need to share and exchange data.

Centralized Management: Centralized data repositories make it easier to manage and control data-
related aspects of the system.

11/1/2024 21
Use Cases of Data-Centric Architecture

Healthcare Systems: Electronic health record systems and patient data management benefit from the
organization and security provided by data-centered architecture.

Content Management Systems: Systems managing and delivering content across websites rely heavily
on well-organized data structures.

11/1/2024 22
Chapter 5

Chapter 5. Database Centric Architecture


5.1 What is Database-Centric Architecture?
5.2 Classic Three-Tier Architecture?
5.3 Advantages and disadvantages

11/1/2024 23
Classic Three-Tier Architecture
Three-Tier Architecture is a well-
established software application
design pattern which will organizes the
application in the three logical and
physical computing tiers as following:

• Presentation Tier: user interface


• Business (Application Tier): handles
business logic
• Persistence (Data Tier): stores
information
11/1/2024 24
Classic Three-Tier Architecture
Presentation tier: This tier, which is built with HTML5, cascading
style sheets (CSS) and JavaScript, is deployed to a computing
device through a web browser or a web-based application. The
presentation tier communicates with the other tiers through
application program interface (API) calls.

Application tier (Business): The application tier, which may also


Cross-cutting concerns
Transaction, Security, Logging)

be referred to as the logic tier, is written in a programming


(Validation, Interceptors,

language such as Java and contains the business logic that


supports the application's core functions. The underlying
application tier can either be hosted on distributed servers in the
cloud or on a dedicated in-house server, depending on how much
processing power the application requires.

Data tier (Persistence): The data tier consists of a database and a


program for managing read and write access to a database. This
tier may also be referred to as the storage tier and can be hosted
on-premises or in the cloud. Popular database systems for
managing read/write access include MySQL, PostgreSQL,
11/1/2024 Microsoft SQL Server and MongoDB. 25
3-Tier versus 3-Layer

1. Layers refer to the logical separation of code.


For example:
An application can have the following layers:
• Presentation Layer or UI Layer
• Business Layer or Business Logic Layer
• Data Access Layer or Data Layer

If we compile these codes into ONE same machine, it’s a 1-Tier architecture.

2. Layers refer to the physical separation.


If we deploy the above application into 3 different physical machines, It
becomes 3-tier architecture.

11/1/2024 26
Chapter 5

Chapter 5. Database Centric Architecture


5.1 What is database-centric architecture?
5.2 Classic three-tier architecture?
5.3 Advantages and disadvantages

11/1/2024 27
Advantages and Disadvantages

Advantages
- Scalability: adding new components on each tier getting easier, scaling out an application is
reasonably straightforward.
- Reusability: Any code defined once in the business layer can be shared by as many
components in the presentation tier.
- Maintainability: Each tier is independent of the others, allowing for updates or changes to
be made without having an impact on the programme as a whole.
- Security: As the client does not have direct access to the database, security is increased
because accessing data going through APIs, not directly on Database.

11/1/2024 28
Advantages and Disadvantages

Disadvantages
- High installation cost.

- Structure is more complex as compare to 1 & 2 tier architectures

11/1/2024 29

You might also like