Data Services Layer

Successful data management separates data and data sources from the application by adding a data services layer into the application architecture.

All software applications use data sources such as, for example, a simple currency pair for a foreign exchange web service, or a complex database needed for an ERP application. Data management involves storing, retrieving, updating, backing up and controlling access to data sources. Data governance, which is part of data management, comprises measures which companies implement to meet obligations imposed by regulatory requirements.

 

Three-Layer Architecture

The architecture of today's distributed applications consists of multiple layers, typically a three-layer architecture that separates application components into a presentation, a business logic and a data layer.

Data services are part of the data layer. They provide managed access to data, acting as a mediator between the data and applications regardless of how the data is stored. In other words, applications do not access the data directly; instead they call or invoke services provided by the data services layer to create, read, update, delete and search data.

 

Benefits of a Data Services Layer

Applications without a data services layer have to perform data management tasks such as inserting, updating, reading and deleting data directly into databases. Mixing business logic and data management tasks in this way complicates application maintenance.

Separating data management from the application allows the optimisation of the data management infrastructure — servers, database management systems and data sources — for performance, high availability and backup.

Data governance is also best implemented in a data services layer acting as a control point for gathering information about who is accessing the data and whether they read, updated and/or deleted the data.

Data services may include data validation thus removing the need for validation logic from individual applications and centralising it. This ensures the integrity of the data, reduces the complexity of the programs, removes inconsistencies in the validation rules and reduces the programming effort because programmers do not have to write the code to validate the data in every program.

 

Data Service Operations

Data services encapsulate the operations —create, read, update, delete and search — applicable to data sources such as relational databases, XML databases, object databases and documents. These operations include the data access logic for knowing where and how data is stored and the optimum means for retrieving and updating it.