Un atlas des topologies de systèmes et un compendium de patrons architecturaux
L'ouvrage « Architectural Metapatterns: The Pattern Language of Software Architecture », publié par Denys Poltorak, se présente comme un atlas des topologies de systèmes et un compendium de patrons architecturaux. Selon l'auteur, il s'agit de l'une des plus vastes et des plus cohérentes « langues de patrons » (pattern language) jamais rassemblées.
Le livre généralise des centaines de patrons individuels en plusieurs classes plus larges, appelées « métapatrons » (metapatterns). Chacune de ces classes peut être appliquée à un système local ou distribué pour en modifier les propriétés d'une certaine manière. L'auteur explique que les patrons d'architecture logicielle sont tous interconnectés et qu'il est rare de pouvoir réaliser un produit dans un style architectural pur, car le logiciel croît de manière itérative et s'adapte à son environnement.
Un contenu riche et illustré
L'ouvrage, d'une longueur de 440 pages, est abondamment illustré par des diagrammes dits « NoUML », conçus pour être intuitifs. Le contenu est présenté de manière concise et, selon son auteur, sans recours à l'intelligence artificielle. L'ouvrage est disponible au format PDF et EPUB, avec un prix minimum libre (gratuit) et un prix suggéré de 15 dollars.
Le livre comporte plusieurs parties, dont une introduction détaillant la structure, la notation, les « religions architecturales » et les limites des patrons traditionnels. Il propose ensuite une « carte des topologies de systèmes », allant des systèmes monolithiques (vrais monolithes, monolithes avec couches auxiliaires, avec plugins, modulithes sous-développés) aux architectures en couches (couches ordinaires, couches mises à l'échelle, autres systèmes en couches) et à la famille des plugins (architecture plugin, présentation séparée, patrons de contrôle, architecture hexagonale).
Un auteur expérimenté
Denys Poltorak, programneur C/C++ sans emploi originaire d'Ukraine, revendique quinze ans d'expérience dans les systèmes embarqués et à haute charge. Il a passé près de la moitié de cette période à diriger le développement d'un projet avant de faire un burn-out, de perdre son emploi et d'écrire ce livre.
Des témoignages élogieux
L'ouvrage a déjà reçu des témoignages positifs de professionnels reconnus. Joel Parker Henderson, responsable du génie logiciel et conseiller technologique, le qualifie de « PHENOMENAL » et d'« classique instantané », riche de sagesse pragmatique pour les programmeurs, les architectes système et les équipes de développement. Mark Richards, auteur de « Fundamentals of Software Architecture », le décrit comme une œuvre qui « aide à démêler les complexités entourant l'architecture logicielle » et qui constitue une lecture indispensable pour tout architecte. Nathan Torkington, auteur du « Perl Cookbook », y voit un livre magnifique qui permet de raisonner clairement sur les patrons architecturaux modernes, en discutant des compromis et des différentes approches pour chaque type de problème.
Disponibilité et versions
Le livre est disponible sur la plateforme Leanpub. Une version web est accessible à l'adresse metapatterns.io et des présentations résumant le contenu principal sont disponibles sur Speaker Deck. Le livre est classé dans la catégorie « Software Architecture ».