The purpose of this blog is to build an architecture freed of any existing constraints. The best imaginable software architecture. One that can be applicable in most cases (say to 80% of applications). Relying on decades of experiences, this architecture should first select the best concepts and components; and incorporates them gracefully, following best practices and design patterns.
#
I say it is a wonderful target!
We need a U turn here. We do not need to know what is the target architecture. We need first to understand why it did not hapen before! Why did not we reached target architecture since a long time. Since the begining of computer science in fact.
One might say: Oh it is normal, target is alway beyond. Since we invent new scheme new patterns new tools
new designs every days.
So what do you think?
Is it that the sole reason of our frustation?
Eric.
#
Hello Eric and many thanks my friend for your contribution.
Your question is of course one of the first to consider. I think there are plenty of answers. You pointed out technologies are abundant : this is certainly one of the most important reasons, because new technologies often target a local problem, and solve it the simple way as possible. Think about TCP/IP, HTML, REST, MSDOS (coming from QDOS, Quick and Dirty Operating System…) etc. And it works!
An other reason seems to be “the stratification”. The technologies, as any human (pre-)historic strates, are just built on top of the previous ones, inheriting at least of some of its limitations and constraints. Think for instance about HTML5 on top of API on top of SOA on top of OO language on top of RDBMS on top of OS…
The proposed approach is radically different of the IT world’s life style: A top to bottom approach, embracing the whole computer science scope, starting from the microprocessors up to the user experience. “A wide think before doing”. The target is to build an architecture relying on our experience, on what should be nice, and how can we get these nice to have properties. To do so, existing technologies will be considered, but they should never be a drag to reach the ISA objective.
Last, my goal in ISA blog is to build a possible architecture that could be implemented. It is not to implement it, nor to find the ways to push it in the real world.