Le développement par composants est un moyen d’améliorer la productivité, d’augmenter la qualité du progiciel, et de faciliter la maintenance et l’évolution des applications. La notion de composants s’est imposée très tôt pour rendre les programmes modulaires. Elle s’est ensuite affinée sous les formes successives de sous-programmes, modules, packages, types abstraits, objets, etc. Il existe une multitude d’outils qui facilitent le développement par composants et permettent d’instaurer une véritable industrie de composants logiciels réutilisables. Le groupe de travail ” Architecture de logiciels et réutilisation de composants ” de l’Ofta (Observatoire français des techniques avancées) a montré que, “aujourd’hui encore, les architectures logicielles à base de composants semblent être la meilleure réponse dans un contexte où les standards de qualité logicielle n’ont jamais été aussi élevés”.Malgré cela, les composants sont généralement liés à la plate-forme logicielle sur laquelle ils ont été développés. Par conséquent, le principal obstacle à cette approche est l’interfaçage de différents systèmes : il n’est possible d’intégrer dans une application que des composants homogènes. Or, il existe trois plates- formes principales disponibles commercialement : les technologies liées à Corba (Object Management Group), à COM (Microsoft), et à Java et EJB (Sun).Pour s’affranchir des spécificités de ces middlewares, il faut disposer de niveaux d’abstraction plus élevés – par exemple, en utilisant la modélisation UML ou les schémas de conception (” design patterns “). La difficulté d’interfaçage des différents systèmes est en train de se résoudre avec l’évolution vers le web : “C’est le meilleur exemple de plate-forme hétérogène”, affirme Jean-Marie Chauvet, directeur associé de Dassault Développement. L’arrivée des standards et protocoles qui lui sont liés – notamment XML et ses dérivés en tant que langage neutre de description des données, des modèles et métamodèles – va faciliter l’assemblage de composants au travers du réseau.Ce mode de développement a des conséquences importantes sur l’architecture du logiciel et sur le rôle des développeurs. “On ne conçoit plus une application de la même manière, commente Jean-Marie Chauvet. Les environnements de développement donnent une vue unifiée en dissociant la partie exécutable. D’où une séparation des rôles entre fournisseurs d’environnements de développement et fournisseurs de composants.” Les composants sont fournis indépendamment du scénario d’usage qui en sera fait et de la nature du code exécutable. “On est passé des bibliothèques propriétaires à l’assemblage de composants sur étagère, reconfigurable et dynamique, avec déploiement multiple”, ajoute Simon Marichalar, chef du groupe logiciel, département électronique, à la direction de la recherche de Renault.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.