> Tech > Dossier RPG : Développement piloté par modèle (2/2)

Dossier RPG : Développement piloté par modèle (2/2)

Tech - Par Paul Conte - Publié le 13 décembre 2010
email

Entrez dans le nouvel âge de la programmation.

Aux premiers jours de l’informatique, on est passé rapidement, en matière de programmation, de l’Age de pierre où l’on actionnait des commutateurs on/off sur le panneau avant de l’ordinateur, à l’Age de bronze des langages assembleurs symboliques ; et finalement à l’Age de fer des langages évolués (HLL, high-level languages) tels que Fortran et Cobol. Chaque nouvel « âge » s’accompagnait de plus d’abstraction et d’automatisation qui rendaient la programmation nettement plus rapide et moins sujette à erreurs.

Dossier RPG : Développement piloté par modèle (2/2)


Tout en souscrivant à bon nombre des mêmes principes MDD fondamentaux qu’IBM, Microsoft a abordé différemment les langages et l’outillage. Sa stratégie se fonde sur les software factories et les DSL (domain-specific languages). Le concept de software factory se concentre sur l’outillage, qu’IBM et les autres fournisseurs du camp OMG reconnaissent comme un élément critique de MDD. Bien entendu, l’outillage de Microsoft tourne autour de son produit Visual Studio, tandis que les produits Rational d’IBM sont basés sur l’environnement Eclipse open-source.

Microsoft dit avoir évalué UML et l’avoir trouvé inadéquat pour le MDD pratique. Microsoft juge UML trop général et trop imprécis, ce qui le rend moins utile pour des « modéliseurs » et plus difficile pour générer un code exécutable efficace et précis. Selon la stratégie de Microsoft, un DSL (et la software factory associée) est destiné à un ensemble limité de types d’applications. Ainsi, une factory et DSL pourraient cibler le logiciel de contrôle machine imbriqué, mais une factory et un DSL différents pourraient cibler des applications de détail de type Web.

On pressent certains des problèmes potentiels de cette approche : des fournisseurs multiples pourraient fort bien créer des factories et des DSL concurrents, incompatibles, aboutissant à une tour de Babel de langages et d’outillages disparates. Ce à quoi Microsoft répond : c’est vrai, mais cela reste la seul approche pratique.

On peut voir sous un autre angle l’idée de Microsoft d’une software factory : c’est un IDE personnalisé pour construire un genre d’application particulier. En même temps que le support d’un DSL, l’IDE personnalisé inclut des modèles, des profils, des bibliothèques de classes, des wizards, un support d’aide, des échantillons, des concepteurs visuels et d’autres outils pour capturer la connaissance nécessaire à la création de certains genres d’applications. La software factory inclut des outils pour supporter le cycle de vie d’application complet, y compris la gestion des versions, le débogage, le test, le déploiement, et ainsi de suite. Cependant, la terminologie mise à part, on ne voit pas très bien en quoi le concept d’une software factory est différent du riche environnement MDD qu’IBM a dans ses cartons.

Microsoft et certains ISV (independent software vendors) ont créé des software factories pour des types de logiciels du genre clients Web, clients mobiles, services Web et accès aux données. Mais pas beaucoup en matière de factories d’applications de gestion complètes. Les exemples que j’ai examinés semblent aussi compter davantage sur l’outillage que sur des DSL personnalisés pour aider au développement.

Le concept des DSL est intéressant, comme le démontrent des langages spécialisés tels que Dynamo, très présent pendant des décennies. Mais rien ne dit que les DSL deviendront le prochain acteur majeur dans le développement d’applications de gestion. Ou au moins, pas fondamentalement différents de ce que les fameux « L4G » ont délivré pendant de nombreuses années. Microsoft fournit des outils Visual Studio, la formation et des exemples pour faciliter la création de nouveaux DSL, mais créer un DSL original pour des applications de gestion restera, selon moi, hors de portée du programmeur de gestion lambda. Par conséquent, les espoirs de Microsoft concernant MDD et des générateurs d’applications plus productifs, dépendront autant de l’important effort des fournisseurs d’outils que de l’approche IBM et OMG.

Téléchargez gratuitement cette ressource

Guide PME : 5 leviers pour accélérer votre développement

Guide PME : 5 leviers pour accélérer votre développement

Grandir, se développer et piloter la croissance sont des enjeux majeurs pour les PME qui doivent sécuriser le quotidien pour s’engager vers demain. Découvrez, dans ce Guide infographique, les différents leviers qui vous permettront de consolider durablement votre développement.

Tech - Par Paul Conte - Publié le 13 décembre 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT