Selenium ou Sikuli pour piloter la saisie de la configuration dans l’outil graphique, mais il s’agit d’une approche coûteuse et fragile à n’utiliser qu’en dernier ressort.
Ensuite les outils utilisant cette approche sont conçus pour être utilisés par une seule personne à la fois. Dans les organisations où un groupe de personne bien identifié est en charge de chaque outil, cette limite est acceptable. On fait une demande à l’équipe en question, qui s’en charge dès qu’elle le peut, en jonglant entre les priorités et ses ressources souvent limitées. Avec le raccourcissement des cycles de développement, ce type de fonctionnement devient invivable : tout est fait pour limiter les dépendances entre équipes et favoriser l’autonomie des équipes. Ce type d’outil devient donc inadapté : pas question de devoir réserver son tour pour avoir le droit de configurer un outil. Les middlewares étant souvent transverses, impossible non plus d’avoir une instance par équipe.
Pour les outils ne fournissant que de l’infrastructure, des tests d’intégrations sont suffisant. En revanche, les outils embarquant du code ou du pseudo-code comme les ESB doivent fournir des fonctionnalités permettant d’écrire des tests unitaires automatisés. Ces tests doivent pouvoir se greffer dans votre usine de build, c’est-à-dire :
Derniers prérequis : l’exploitabilité de la solution. Sur les outils d’entreprise, l’outil graphique de configuration dont on a parlé plus haut s’accompagnait souvent d’une console d’administration intégrée. Celle-ci fournissait du monitoring et des logs centralisés à une époque où ils étaient encore l’exception. Ce n’est plus le cas désormais, et malheureusement — comme pour la configuration — quand on choisit de ne pas utiliser l’outil fourni pour regarder sous le capot, les choses ne sont pas si rose.
L’application doit pouvoir se monitorer aussi facilement que les autres briques de votre SI :
Pour être utile, un log doit être accessible et lisible et s’intégrer dans votre chaîne de traitement existante, ce qui nécessite :
Votre parseur de log quand il rencontre une stacktrace Java au milieu d'un fichier de log d'accès
Gardez espoir
En lisant cet article vous risquez un coup de blues, surtout s’il vous rappelle des souvenirs. Rassurez vous, la situation n’est pas si terrible et elle a même tendance à s’améliorer :
Pour les logiciels plus anciens, la situation est plus sombre. Au cœur des SI, ils sont difficiles à remplacer, et les éditeurs le savent. Ils font donc peu d’efforts pour faire évoluer leurs produits sur ces sujets. Pour améliorer les choses, la meilleure manière sera d’introduire un nouvel outil, souvent par le biais d’un besoin incompatible avec le système existant, puis de travailler à réduire l’emprise de l’outil historique.
Des outils de middleware peuvent être un vrai frein pour votre capacité à livrer mieux et plus vite. Lorsque vous choisissez un tel outil, il faut absolument vérifier ces prérequis :