Semantics vs Separation of Concerns across the IT Architecture Disciplines
BY Rupert D.E. Brown – CTO:- Financial Services MarkLogic Corporation
Where are we today?
If you go to any IT conference in the world you will meet people with the word “Architect” somewhere in their job title. We have created many forms of “Architecture” to try and describe how the world of distributed computing, networks and applications all fits together.
What’s the underlying problem?
However what we have really created are a series of distinct dialects and notations with mostly informal syntax plus limited overlaps of shared understanding. The result of this is that we end up with more “opinions” than “facts” when trying to define a new computing based system especially when it has to be built on a brown field site. Typically this “Gordian Knot” is only untangled by small highly focussed teams who ignore most of the opinions and “get something done” by breaking many organisational rules with a tacit nod from someone in authority to give them air cover
Disruption or Distraction
The technology and mainstream media do not help matters as we seem to be subjected to a daily barrage of buzzword bingo usually including the words “Internet of Things,” “Cyber,” “Disruption,” “Innovation” which for political purposes also have to be wrapped around projects within a corporation that really should be using less fashionable terms such as “Automation,” “Optimisation,” ”Refinement.”
New and shiny pieces of technology (e.g. iPhone) or greenfield applications (Uber, AirBnB) are always more appealing to the human psyche because they stand apart from the daily operating cycle that most workers in a corporation contribute to. This “contribution” is a series of connected interests and tasks that are described in many forms – some as “Policy” i.e. “We’ve always done it that way” through to a myriad of formal workflows both embedded inside a single application or spanning groups of workers but rarely if ever being a single technology used and loved across the whole of an enterprise.
Without the ability to discover, measure and improve/optimise these connected concerns corporations end up in a stalemate reminiscent of trench warfare in WWI where huge artillery bombardments were used to punch a hole in the German defences but the advances then failed due to supply logistics and mud or the need to have fixed line communications to give further orders.
What do we need?
To break this stalemate we need two key enablers.
- A cultural acceptance and belief that concerns are always deeply connected and that those connections can be defined formally leading eventually to “engineered” improvements rather than usually being put in the “too difficult” folder.
- A means to describe all the various forms of “connections” between “concerns” – this is fundamentally what Semantics provides, i.e., the ability to describe an infinite variety of relations that can either be new and perhaps initially standalone definitions or extensions to existing relationships that enhance existing definitions rather than replacing them. We also have to be tolerant of multiple definitions of the same fundamental relationship just as we cope with French and German as different languages and differing dialects within them today.
How will we get there ?
I do not expect we will suddenly wake up one day and all start using Semantic information management and Architectural techniques intuitively, it will take time and we will need good exemplars of success and clear understanding of failures (who will be the Tacoma Narrows or Tay Bridge exemplars of spectacular engineering failure?).
Education and Leadership will also be key factors in this journey – perhaps leadership more so – after all, if no one had “gone over the top” in WWI the stalemate would have continued for many more years.