There is a lot of talk recently about the data-centric enterprise. In this article we’re going to look at the differences between app-centric and data-centric information system design.
App-centric could also be called application centric or business process centric. I’ve personally called it business process centric for more than 20 years but IT has landed with app-centric.
App-centric can be visualised as vertical stacks of software. Each stack has its own database layer, code layer and UI layer. Then there’s a whole lot of integration required.
App-centric refers to information systems and apps that are designed around specific applications or business processes. Accounting and CRM being very obvious examples. The design of the data layer relates to the business process being conducted. Having said that, we often see designs being reused from other systems.
For example, most CRM systems actually use the design of accounting because they (unwittingly) have copied an accounting system. Which is why the core table in CRM is called Account and not Organisation.
Data-centric could also be called data first.
Data-centric can be visualised as concentric circles. The centre piece is a single data-centric modelled database. Surrounding that is the code. In the case of Occam, the code layer is auto generated saving more than $1,000,000 per implementation. In the outer circle are as many desktop applications, mobile apps and web apps as required, but they all point to a single database.
It is not possible to take an app-centric data model and convert it to a data-centric platform. Data-centric data modelling requires a major rethink on how we model data.
A data-centric or data first information design starts with understanding the business process requirement but that understanding needs to be translated to a data-centric model. The difference may be subtle but in reality it’s the difference between day and night. I like to say that a data-centric information system records the world that we are interested in, as it is. Then it applies the app (application or business process) over this.
Data-centric information systems have as their foundation slowly changing data. App-centric systems have as their foundation data that is in a constant state of change. It’s this constant change that leads to data that is siloed and isolated and needs fixing/cleaning/integrating further along the information lifecycle.
When people talk about the data-centric organisation, they generally refer to the modern data stack. For some bizarre reason, the modern data stack only refers to the analytics of data, not operational data, which means this is adding a layer of complexity over an app-centric data landscape. The modern data stack has been the flavour of the month, and it is failing as it does not deal with the root cause of the problem which is app-centric siloed databases.
Data-centric information systems start with data-centric data engineering based on first principles, which involves breaking the data into its atomic parts. Our next article will focus on how an enterprise can start on their data centric journey.
Written by Steven Macleod
Steven has researched more than 1000 systems to find out why information systems are so expensive to build and maintain, and why they so frequently fail to keep up with the demands of the enterprise over time.