Java est-il un choix coûteux pour les entreprises ?
Oui, d'après un expert qui recommande de capitaliser à bon escient sur les briques open-source




Quinze ans après l’émergence de Java, David Duquenne, Directeur Génétal du groupe Open Wide Technologies (spécialiste de l'intégration et des l'exploitation des logiciels en France) fait un bilan du langage, qu'il trouve plutôt mitigé.
Un avis plutôt polémique.

Selon lui, Java n'aurait pas tenu ses promesses. Les projets réalisés à l'aide de ce langage auraient la réputation d'être « trop subtils pour les développeurs (sic), coûteux à réaliser et complexes à maintenir».

Le point de vue des Directions des Systèmes d'Information (DSI) serait, pour David Duquenne, sans appel : « prise en main longue et compliquée », « des compétences et une expertise coûteuses », des « architectes apprentis sorciers », un « écosystème technologique étourdissant ».

Bref, un constat qui ferait d'après lui regretter aux DSI les « bons vieux langages [...] complètement dépassés dans certains domaines, mais tellement plus productifs » et les pousserait à expérimenter des langages plus récents ou à explorer de nouveaux paradigmes tels que l'approche par modélisation (MDA) ou la programmation fonctionnelle dédiée.

Des solutions cependant pas suffisamment matures, toujours selon l'analyste, pour être industrialisées sur des projets stratégiques.

Sa solution ? Capitaliser sur des briques open-source proposant des réponses aux problématiques les plus courantes dans le développement d'applications.

« À condition toutefois d'éviter certains écueils » met en garde Duquenne, qui propose des conseils pour faire face aux défis de l'intégration Java comme la gestion du foisonnement de l'Open Source, la versatilité des composants, l'exploitation de la richesse ou l'évacuation de la complexité.

Les DSI qui préfèrent miser sur l'existant plutôt que d'investir dans leur propre « framework maison » seront ainsi confrontés à l’embarras du choix entre les milliers frameworks techniques Java et les dizaines de milliers de modules fonctionnels open source.

Leur but serait d'aboutir à un socle applicatif de qualité industrielle.

Ce socle souhaité par David Duquenne peut être créé avec des composants sélectionnés et être l'assemblage des interactions d'interfaces de programmation hétérogènes. Une phase coûteuse qui risque de durer entre 3 à 18 mois pour le développements techniques et nécessiter une équipe de 3 à 10 experts.

Autre solution, les entreprises peuvent s'essayer aux socles applicatifs fournis clef en main, qui peuvent être adaptés au contexte spécifique des projets de l'entreprise. Ces socles sont des distributions de composants Open Source intégrées dans une architecture applicative couvrant un périmètre plus ou moins important.

Les DSI doivent selon David Duquenne s'assurer de l'existence d'un support professionnel sur la totalité du socle applicatif afin de sécuriser la réalisation, la maintenance et l'exploitation des applications les plus critiques.

Le coût de ce support, mutualisé entre les entreprises utilisatrices du socle « restera plus économique que la maintenance d’un socle applicatif maison », affirme-t-il.

Le deuxième challenge serait de maintenir ce socle pour les 5, 10 ou 15 prochaines années au milieu d'un écosystème Java en constante évolution.

Cette évolution permet aux composants de devenir constamment plus pertinents et plus robustes et motiver l'apparition de nouveaux composants encore plus performants et innovants. Mais mal gérée, cette évolution peut aussi générer une versatilité désastreuses pour les systèmes d'information.

De plus, le rythme de ces évolutions est imprévisible et diffère pour chaque composant du socle applicatif.

Un composant peut aussi être abandonné, mais rester accessible sur Internet, devenant une sorte de bombe à retardement pour les applications. Ces composants doivent être en permanence remplacés ou maintenus par la société elle-même.

Duquenne met également en garde contre les ruptures technologiques introduites par une évolution majeure ou par le changement brutal d'une licence.

Pour se prémunir, le seul moyen serait d'anticiper ces risques par une veille technologique permanente et sensibiliser les directions sur les coûts (souvent mal vécus) de cette activité de veille sans rapport avec les enrichissements fonctionnels et métiers attendus par l’entreprise.

Un autre challenge, encore plus délicat selon Duquenne, est de survivre au départ de l'architecte, souvent un prestataire de haut vol intervenant de façon limitée, le temps de stabiliser ce socle applicatif.

Les bons architectes sont souvent difficiles à retenir dans la durée, car ils puisent leurs motivations dans la résolution de nouveaux challenges techniques leur permettant d’améliorer leur expertise.

Ce départ doit donc être anticipé en organisant un transfert de compétences au sein d’un contrat de maintien en condition opérationnel pour éviter la perte de la maîtrise du socle, ou pire encore, le désengagement technique des partenaires qui ne voudront plus travailler sur une plate-forme obsolète ou non supportée

La verbosité qui fait de Java un langage très structurant (garantissant la qualité et la portabilité des applications) rebute souvent les développeurs expérimentés sur d'autres langages et complique le recrutement et les budgets.

Duquenne recommande des solutions qui peuvent évacuer la complexité du Java et de son environnement comme le cadrage structurant les méthodes de développement, l’utilisation de Frameworks, l'intégration continue ou encore le recours aux approches agiles de gestion de projet favorisant les échanges d'informations et limitant la dépendance aux personnes clefs du projet.

Pour se faire, des socles applicatifs communautaires peuvent compléter les plates-formes avec une surcouche simplifiant le codage des applications, des générateurs de code et un cadre méthodologique.



Le discours de David Duquenne n'est cependant pas un plaidoyer anti-Java, au contraire :

« La complexité du monde Java est réelle mais ses qualités, son ouverture et sa standardisation poussent à son adoption malgré les difficultés à bâtir et à maintenir son environnement technologique », conclue-t-il. « Pour bénéficier des avantages de cet environnement, particulièrement bien adapté aux technologies de l'information, il est indispensable de capitaliser sur le savoir-faire et les retours d’expérience des composants Open Source qui le peuplent. Au delà de l’économie d’échelle induite par l’approche communautaire, celle-ci vous permet de bénéficier d’une constante évolution gage de fiabilité, d’interopérabilité et de respect des derniers standards […] L'émergence d'éditeurs Open Source dans ce domaine est un signe encourageant de la maturité des socles applicatifs et une réponse adaptée aux DSI qui souhaitent investir sur leur métier plutôt que sur la technologie qui les sous-tend ».

Source : Communiqué de presse : Open Wide Technologies

Et vous ?

Qu'en pensez-vous ?