Ah, great post. Took me too long to find time for it.
just as a highlight:
it is somewhat perplexing that in a time when it is hard to say where one computer ends and another begins, or if they are local or in the cloud, the way we think about applications has changed very little.
While I completely agree with the idea of the common language, it is seriously difficult to attain, because language is a living thing. I would be happy if I could offer sufficiently unambiguous definitions, so that the data can be understood and found and used in a consistent manner. In a large company with many departments that have little in common that is probably the good result to strive for, to prevent the best result ("ubiquitous language") from being the enemy of (a) good (common understanding).
In a setting with some dialects also all applications can work directly on the unified database, from which they retrieve existing data and to which they write new data. The unified database can thereby at the same time act as a message bus between the applications.
Ah, great post. Took me too long to find time for it.
just as a highlight:
it is somewhat perplexing that in a time when it is hard to say where one computer ends and another begins, or if they are local or in the cloud, the way we think about applications has changed very little.
While I completely agree with the idea of the common language, it is seriously difficult to attain, because language is a living thing. I would be happy if I could offer sufficiently unambiguous definitions, so that the data can be understood and found and used in a consistent manner. In a large company with many departments that have little in common that is probably the good result to strive for, to prevent the best result ("ubiquitous language") from being the enemy of (a) good (common understanding).
In a setting with some dialects also all applications can work directly on the unified database, from which they retrieve existing data and to which they write new data. The unified database can thereby at the same time act as a message bus between the applications.