The essence of the Data as a Service approach is to see data as a generic quantum of information where the data content is immaterial. That is, we do not care what type of data is being stored. It could be information about a Car, Customer, Person, Insurance Policy, etc. The storage of the data does not depend on the format of the information. We can achieve this by simply storing the information in a neutral format such as XML or JSON.
The next step is to enable the storage of information to be independent of its usage within an application or service. This means that data should be stored in a single System of Record (SOR) within centralised location and not be distributed or duplicated within multiple applications or services. All applications and services access the same data repository which exposes the latest version of the data. This will prevent issues with performance, synchronisation and eventual consistency.
We can then develop a set of services that handle data within four distinct zones:
- At rest within a persistent data storage medium.
- In motion between data stores (for example when being shared with third parties or other internal solutions).
- In action when we want to perform some business logic on it.
- Presentation as part of an omni-channel user experience.