Context-Oriented Architecture
Soon, we will all live in smart houses, shop in smart cities, and drive in our smart cars over smart roads. And perhaps, with the aid of connected technology, we will become smart beings ourselves. Now, all this technology cannot be smart in isolation. It must somehow interact to express any smart behaviour. You don’t have to be particularly smart yourself to get that. Cars must interact with other vehicles, and with their driver, and the road, for a start. And roads interact with vehicles, with sensors, with cameras, with road signs, et cetera.
As architects of this future world, we have to think about an architecture to make this all happen. Unsurprisingly, there is not much in current architecture styles to go by. In this future, there is no central datastore, to start with. Everyone and everything is smart enough to manage its own data. There is no inner architecture, connecting to an outer architecture. There will most likely be only one holistic architecture to take part in. Some kind of global information architecture, similar to the global traffic, transport and trade system goods and persons in today’s world. In this future, we envision something different from the clients and servers we’re now used to, more something along the lines of members only.
We, as the architecture community, have to think deeply about designing a worldwide digital marketplace, where everyone and everything takes part. Moreover, the members in this marketplace will most likely be no passive actors, they are not equipped with only fixed behaviour. On the contrary, expect them to be continuously learning, developing, evolving in fundamentally unpredictable ways. Everything on top of our architecture behaves fluidly. So what we’re looking for is a solid architecture for fluid systems. Panta rhei.
There will be definitely something around trust to sort out. Have you ever wondered why the app on your smartphone, often affectionately called “myProvider”, has to call home to tell you how much phone calls you’ve made with the very device that runs the app? It is kind of strange, right? Asking some external authority about your own whereabouts. It’s also not necessarily actual. So why do we tend to trust a provider more than our own precious device we carry around everywhere? This is just one example of the kind of vendor-centric architectures that we should rethink. I, for one, would certainly welcome a more equally balanced approach.
Of course, this is just a simple example. Nevertheless, it is kind of characteristic for our current systems. People are distributed and differ in a lot of respects, however, at the same time, their data is centralised and uniformly shaped. As a community of architects, we need to think deeply about the kind of architecture that will help create better systems. Systems that respect differences, and really put the person at the centre of their digital universe. A worldwide distributed super-system, possibly, where the distinction between providers and consumers increasingly fades.
Today, we are launching a new group on LinkedIn, to initiate a discussion among the architects of the future world. Expect us to post regular blogs, with provocative statements, that simply beg for a reaction. We'd love you to join this group and participate in the discussions.
Marcel van Galen
Maybe the challenge is having to 'think distributed' more. Perhaps that isn't really that new?... we've had networks, distributed databases and consensus algorthms for many years. I think we are now rediscovering the power of distributed, even 'swarm' patterns in services and business context. Things like distributed ledger tech open up the possibilities. Meanwhile, our trust in centralised patterns has declined, driven by governance and security concerns. We can learn a lot from the 'crypto' world, where things move fast... faster than 'architecture' as we know it in the corporate world! To help move architecture faster in the distributed world I think we need to be more open and build and share 'connected context' much better. Thanks!
Interesting. I thought one of the principles of architectures is that it is always context oriented otherwise there is no value in having an architecture. :-)