ECLIPSE : bien plus qu'une éclaircie - pour le développement PAGE 6 Où en est UML ?
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
ECLIPSE : bien plus qu’une éclaircie pour le développement PAGE 6 Où en est UML ? PAGE 12 Paas : Une plateforme à votre service ! PAGE 22 Bimestriel - janvier/février 2009 ISO 27001 normalise la sécurité de l’information PAGE 32 n°77
ZOOM OUTSOURCING L’avis des Directions Informatiques Ministère des Finances Direction Générale des Impôts Nadine Chauvière Sous-Directrice des SI de la DGI « Les solutions d’Application Intelligence CAST nous aident à obtenir une meilleure visibilité de notre parc applicatif au travers de tableaux de bord composés d’indicateurs techniques objectifs afin de faciliter le dialogue avec les équipes et avec nos maîtrises d’ouvrage. » Groupe SFR Cegetel Eric Eteve Directeur Informatique Centre Ingénierie Mobilité « La solution CAST de gestion de la sous- traitance est un élément clé dans le système de pilotage mis en place par SFR-Cegetel sur ses TMA. Nous avons constaté une attention plus particulière apportée par les SSII à la qualité des livrables et à la fiabilité des chiffrages depuis qu’ils savent que nous pouvons facilement les auditer. » Framatome - Groupe AREVA Michel Fondeviole DSI de Framatome-ANP « CAST fournit des critères objectifs d’appréciation dans le dialogue parfois difficile avec le sous-traitant ainsi que des indicateurs nécessaires au suivi de l’évolution des applications et constitue au sein de Framatome un outil de progrès partagé. » En savoir plus Demandez le Livre Blanc rédigé par le Gartner Group et CAST sur ce thème : « Information Series on Application Management » : www.castsoftware.com/outsourcing Découvrez l’expérience de plusieurs sociétés utilisatrices de solutions d’Application Intelligence : www.castsoftware.com/customers
www.castsoftware.com La maîtrise des applications et des prestataires dans une opération d’outsourcing De la valeur ajoutée de l’Application Intelligence pour piloter efficacement un parc applicatif sous-traité L es entreprises, devenues plus une technologie avancée d’analyse de • Obtenir une image à l’instant t des mûres vis-à-vis de l’outsourcing, code source. applications pour permettre un suivi sont désormais capables d’opérer En fournissant des indicateurs techniques dans le temps des externalisations plus stratégiques. On aux donneurs d’ordre, ces solutions Transfert vers le prestataire l’a récemment observé dans l’automobile permettent de piloter un parc applicatif • Réduire la phase d’acquisition de la avec Renault ou dans la grande distribution sous-traité en temps réel, tant en terme de connaissance pour entreprendre plus avec Carrefour. qualité, que de maintenabilité et de coût. vite des tâches productives Résultat : le donneur d’ordre conserve la • Diminuer le coût lié à la production Dans l’externalisation des applications maîtrise intellectuelle de ses applications d’une documentation exploitable et métier, c’est surtout la volonté d’accroître métier et le contrôle de la relation avec maintenable par le prestataire l’efficacité opérationnelle de l’informatique son sous-traitant. qui est motrice : pouvoir fournir plus Contrôle de la qualité et des coûts en rapidement un service à valeur ajoutée La valeur ajoutée de ce type de cours de projet aux utilisateurs et aux clients dans un solutions d’Application Intelligence est • Suivre l’évolution de la maintenabilité et contexte en perpétuelle évolution. visible à chaque étape d’une opération de la qualité pour éviter toute dérive d’outsourcing, comme décrit ci-après. • Etre capable de valider la quantité et Comme dans n’importe quelle opération la qualité du travail facturé d’outsourcing, le contrat liant le • Etre en mesure de challenger le fournisseur est capital, en particulier les Appe sous-traitant lors des négociations trat ls d SLAs. Néanmoins, les applications métier de con 'off res d’avenants Fin étant par nature soumises à de fréquents • Industrialiser les recettes techniques changements en cours de contrat, les Tran Cycle de vie sfert de seuls SLAs se révèlent vite insuffisants Renouvellement de contrat, transfert ou technique pour garantir la qualité de service et éviter d'une opération ré-internalisation connaissance Recette les dérives de coûts. d'Outsourcing • Déterminer et qualifier les écarts entre s la prestation prévue et les livrables C’est là que le bât blesse : l’externalisation Co recettés ntr jet pro des applications métier occasionne un ôle des coûts Suiv i de • Disposer des informations techniques risque de perte rapide de savoir-faire caractéristiques du portefeuille technologique et par conséquent critique. applicatif en fin de prestation Vigilance et suivi sont de mise pour garder le contrôle de la qualité de service et Le leader mondial de ce type de solutions éviter les dépendances par nature Audit de l’existant et préparation des est d’ailleurs un éditeur français, CAST. dangereuses. appels d’offres Reconnu par les analystes informatiques • Déterminer les caractéristiques comme précurseur du marché, CAST L’externalisation réussie d’applications techniques du portefeuille applicatif compte plus 500 comptes utilisateurs de métier est donc le fruit d’une vision existant avant de le sous-traiter sa plate-forme d’Application Intelligence anticipatrice partagée avec le prestataire. • Disposer d’informations de référence dans le monde. Sont ainsi apparues des solutions dites pour évaluer les propositions des sous- d’Application Intelligence, basées sur traitants Publi-Reportage
édito 2009 : Saas PaaSsera bien ! IT-expert vous souhaite ses meilleurs vœux de réussite pour cette année 2009 ! Désormais, tout est en place pour le décollage du Saas (voir IT-expert de septembre/octobre 2008). Editeur Press & Communication France Évidemment, chacun aromatise le concept à sa Une filiale du groupe CAST sauce, quitte à le dénaturer. Ainsi, Microsoft ou IBM 3, rue Marcel Allégot 92190 Meudon - FRANCE avancent dans certaines de leurs offres que des Cloud privés pourront Tél. : 01 46 90 21 21 exister. Ils écornent ainsi fortement l’aspect multi-tenant originel du Fax. : 01 46 90 21 20 http://www.it-expertise.com concept : une seule plate-forme proposant une seule et unique version Email : redaction@it-expertise.com de la solution à tous et à tout moment. Pourtant, il reste possible de Rédacteur en chef maintenir le lien avec les versions logicielles traditionnelles sans pour José Diz autant multiplier des plates-formes « dites Saas » ! D’ailleurs, l’éditeur CA Email : j.diz@it-expertise.com annonce clairement la couleur en lançant des offres Saas multi-tenant Directeur de publication permettant une interaction riche avec ses logiciels traditionnels (dits Aurélie Magniez Email : a.magniez@it-expertise.com aussi « on premise » ou à demeure). Par ailleurs, le Paas, cette plateforme favorisant développement et intégration (voir dossier dans ce numéro), Abonnements/Publicité Email : abonnement@it-expertise.com est annoncé chez Microsoft et chez IBM. Conception Graphique N. Herlem Email : nico_freelance@yahoo.fr De la difficulté à changer d’habits… Parution IT-expert a exposé maintes fois les avantages du Saas pour les utilisateurs IT-expert - (ISSN 1961-9855) est un journal et les entreprises. Cependant, les avantages sont nombreux également édité 6 fois par an, par P&C France, sarl de presse au capital de 60 976,61 e. pour les éditeurs : revenus récurrents, possibilités de maintenir des services à réelle valeur ajoutée pour leurs équipes comme pour leurs partenaires, Avertissement Tous droits réservés. Toute reproduction plus aucun problème entre versions logicielles chez le même client, finies intégrale ou partielle des pages publiées les interminables migrations complexes et parfois périlleuses… dans la présente publication sans l’autori- sation écrite de l’éditeur est interdite, sauf dans les cas prévus par les articles 40 et Un jeune guitariste talentueux défraie la chronique depuis quelques 41 de la loi du 11 mars 1957. © 1996 P&C France. Toutes les marques citées sont des semaines. En effet, il se produit directement sur Internet et vendrait ses marques déposées. compositions musicales sur Internet à plusieurs centaines d’exemplaires par Les vues et opinions présentées dans cette publication sont exprimées par les auteurs semaine. Malgré le piratage et les comportements décriés des internautes ! à titre personnel et sont sous leur entière Et certains semblent étonnés lorsqu’il affirme refuser les propositions et unique responsabilité. Toute opinion, conseil, autre renseignement ou contenu financières de grandes maisons de disques, en expliquant qu’il pense exprimés n’engagent pas la responsabilité que ce modèle est le futur de la musique. Quelle lucidité ! Quelle leçon ce de Press & Communication. gamin de moins de vingt ans donne à tous ces intermédiaires qui voient Abonnements leur avenir s’effondrer ! Repenser les modèles avant de disparaître… 01 46 90 21 21 2009, un an neuf ? Vous pouvez vous abonner sur http://www.it-expertise.com/ Abonnements/Default.aspx ou nous écrire à : abonnement@it-expertise.com José Diz Rédacteur en Chef 4 IT-expert n°77 - janvier/février 2009
IT-expert n°77 - janvier/février 2009 Sommaire 6 Dossier ECLIPSE : bien plus qu’une éclaircie pour le développement De la naissance de cet environnement de développement Java à ses dernières évolutions, découvrez comment et pourquoi Eclipse s’est imposée face à ses concurrents. Bien entendu, les auteurs détaillent les technologies - schémas à l’appui, ainsi que les évolutions en cours. Indispensable. 12 Technique Où en est UML ? UML (Unified Modeling Language) a 10 ans. Une excellente occasion pour Pascal Roques, consultant chez A2 et auteur, d’expliquer cette approche dans les projets informatiques. Il aborde les deux approches de la modélisation avec UML : le Model- Driven Engineering et la Modélisation Agile (AM). 18 Actualités Internationales Les informations marquantes d’éditeurs, de marchés, d’organisme de standardisation, de débats en cours et de tendances. 22 Quoi de neuf docteur ? Paas : Une plateforme à votre service ! Saas, Paas, etc. Ces mots souvent mal utilisés incarnent une réelle révolution de l’informatique contemporaine. Jean-Louis Baffier (South EMEA Sales Engineering Director chez Salesforce.com) et Laurent Guiraud (directeur technique chez Google France) vous apportent leur expérience quotidienne sur le PaaS, après des années passées dans l’informatique « traditionnelle ». 29 Fenêtre sur cour Jean-Philippe RIGAUD, directeur technique chez Toluna « Nous exploitons et développons aujourd’hui notre plateforme SaaS de plus d’une centaine de serveurs, de fait nous étions peut être plus facilement à l’écoute de solution ‘ on demand ‘ […]. Ce qui a fait la différence pour nous, c’est la souplesse et la facilité de déploiement que nous offrait salesforce par rapport à une solution traditionnelle. Avec la possibilité d’intégrer facilement des flux d’information vers et depuis Salesforce les dernières barrières se sont rompues ». 31 Livres MDM - Enjeux et méthodes de la gestion des données par Franck Régnier-Pecastaing, Michel Gabassi et Jaques Finet et XML par la pratique - Bases indispensables, concepts et cas pratiques (2ème édition) par Sébastien Lecomte, Thierry Boulanger. 32 Rubrique à brac ISO 27001 normalise la sécurité de l’information Si les normes peuvent apparaître austères, elles résultent pourtant du travail de spécialistes bénéficiant d’années d’expérience pratique. Une garantie qui devrait suffit à attirer l’attention de tout informaticien, surtout lorsqu’il s’agit de sécurité. Une plongée salutaire dans les arcanes de l’ISO 27001 ! IT-expert n°77 - janvier/février 2009 5
ECLIPSE : bien plus qu’une éclaircie pour le développement Sous le mot clé « Eclipse » se cachent de nombreux aspects. À l’origine, Eclipse est surtout connu pour être un environnement de développement Java (IDE Java pour integrated development environment). Cependant, Eclipse a beaucoup évolué, et même si les idées originelles motivant sa création ont pu être mises en œuvre. Au départ, l’objectif d’Eclipse consistait à créer une plateforme extensible, une sorte de « coquille vide que l’on peut remplir facilement ». Et l’environnement de développement Java a eu valeur de « preuve de faisabilité » et d’exemple d’application. Très rapidement, de nombreux développeurs ont adopté Eclipse, en laissant de côté leur ancien IDE Java. En particulier, JBuilder longtemps leader s’est vu rattrapé puis doublé par Eclipse. Pour l’anecdote, Borland, éditeur de JBuilder, a migré son IDE sous la plateforme Eclipse et participe désormais activement au développement de la plateforme. Aujourd’hui, Eclipse est à la fois une plateforme d’accueil de plug-ins et une fondation gérant plusieurs projets OpenSource. Ainsi, Eclipse couvre plusieurs domaines d’application et s’adresse à plusieurs types d’utilisateurs. Par exemple, un certain paramétrage d’Eclipse (c’est-à-dire l’adjonction de certains plug-ins) va permettre à un développeur de coder une application Web. Un autre paramétrage permettra à un architecte de modéliser une application. Un autre paramétrage encore permettra à un chef de projet de gérer son avancement ou enfin, autorisera un manager à suivre les statistiques concernant l’avancement de ses projets. Parallèlement, Eclipse est une fondation qui gère la plateforme et les plug-ins majeurs. Elle a l’effet d’un catalyseur pour une communauté grandissante de participants : on parle d’écosystème. En effet, on s’aperçoit qu’en plus de bénéficier des avancées techniques « extérieures », Eclipse s’autoalimente : les uns offrent des possibilités dont les autres bénéficient et réciproquement. C’est d’ailleurs souvent le but des participants : « offrir un peu » et « recevoir beaucoup ». La fondation a un but de gestionnaire et de coordinateur des intervenants et des projets qu’elle héberge. 6 IT-expert n°77 - janvier/février 2009
Dossier & Interviews Concernant le nom même d’Eclipse, les avis divergents. Certains, Quand est apparu Eclipse et pourquoi ? poétiques, avancent qu’Eclipse est né pour éclipser Sun. D’autres, plus pragmatiques, affirment qu’il s’agissait surtout d’éclipser Visual Studio. L’organisation Eclipse est née en 2001 avec IBM au centre de l’initiative. Les prémisses d’Eclipse apparaissent déjà en 1998 quand IBM, à qui l’on reproche de publier des outils sans Du projet IBM à l’Open source unité, décide de créer une plateforme sur laquelle baser tous ses applicatifs et permettant de minimiser la duplication des C’est en tout cas en 2001 qu’IBM décide de publier la plateforme éléments d’infrastructure. Ainsi, IBM voulait avoir la souplesse en OpenSource pour attirer d’autres entreprises pour participer de développer des outils différents tout en facilitant l’intégration à son développement. Afin de faire taire les mauvaises langues des uns avec les autres. martelant qu’IBM souhaite rester le seul maître à bord, l’organisation devient une fondation à but non lucratif en 2004. L’intérêt de ce passage est d’ouvrir la plateforme à un Un outil unique pour tous plus large panel d’acteurs et ainsi de dynamiser son évolution. En effet, à partir de ce jour, des types variés d’acteurs peuvent On l’a dit, on connaît surtout Eclipse en tant qu’IDE Java, cela participer et apporter leur pierre à l’édifice en termes d’innovation, prend tout son sens quand on se rappelle la devise à l’époque : interopérabilité et réutilisabilité. « come for the Java IDE, stay for the platform » (Venez [à Eclipse] pour l’environnement de développement Java, restez pour la Avec cette transition est apparu un nouveau type de licence : plateforme). En effet, il ne faut pas perdre de vue qu’Eclipse est un Eclipse Public License. Les termes de l’EPL sont très proches de agrégateur de fonctions ; son credo pourrait être « être adapté ceux de la CPL. Tous les projets de la fondation sont distribués à tous et s’adapter à chacun ». L’objectif consiste à avoir une sous cette licence. Cela implique entre autres que l’on peut application aux très nombreuses fonctions, tout en permettant commercialiser des produits basés sur ces projets et que, si à chaque corps de métiers de se focaliser sur la résolution de on modifie le code de l’un des projets, on doit redistribuer cette sa propre problématique. modification. Cela permet d’assurer l’activité et le dynamisme de la communauté grâce aux contributions extérieures tout en Le schéma suivant montre comment l’arrivée d’Eclipse s’est offrant une souplesse commerciale. matérialisée chez IBM : à partir d’une base commune, on adresse plusieurs finalités totalement disjointes. Cet exemple À l’époque, la fondation comptait 7 membres stratégiques et est parfaitement représentatif du large domaine d’application gérait 19 projets. Depuis, la fondation a grandi et comprend permis par Eclipse. aujourd’hui 23 membres stratégiques (et plus de 200 membres actifs) et 60 projets OpenSource. L’effet catalyseur de l’écosystème a fait ses preuves et la communauté continue de grandir. Qui y participe et pourquoi ? Au sein d’Eclipse, il y a plusieurs types de partenaires : • Stratégique : organisation qui investit des développeurs et autres ressources dans l’écosystème Eclipse pour développer la plateforme, • Entreprise : organisation qui se base sur Eclipse pour des Portabilité et ouverture maximales développements internes et participe à l’écosystème Eclipse en améliorant la performance de ses processus internes, Le but de la plateforme était aussi d’être le plus portable possible. • Solution : organisation qui s’intéresse à la plateforme Eclipse Ainsi, Eclipse fonctionne sous tous les systèmes d’exploitation dans le but de développer des solutions basées sur la majeurs (Windows, Linux, Solaris…) tout en s’adaptant à leurs plateforme, Look and Feel respectifs (c’est-à-dire, au contraire de Swing, • Associé : organisation qui ne prend pas part aux décisions l’apparence des applications développées sous Eclipse se fond mais qui est mise dans la boucle, parfaitement dans l’environnement cible). Un atout majeur pour • Contributeur : personne indépendante qui participe aux la prise en main des applications par les utilisateurs et favorisant développements d’Eclipse. leur adoption, tout en réduisant les besoins en formation. IT-expert n°77 - janvier/février 2009 7
Pour information, plus on a d’influence sur l’écosystème ou la riche que celle qu’on aurait eue sous Eclipse. Innoopract vend plateforme Eclipse, plus on doit participer financièrement à la non seulement des formations à RAP mais, comme Genuitec, fondation. Par exemple, un membre stratégique pourra payer vend sa solution de « distribution à la demande », nommée jusqu’à 500 000 dollars (en fonction de son chiffre d’affaires) Yoxos. ou fournir des développeurs à plein temps. La société Actuate, compagnie de conseil et développement en RIA (Rich Internet Application), est co-leader du projet De nombreux partenaires actifs, jusqu’à la Nasa BIRT (Business Intelligence Reporting Tool), outil permettant la génération de rapport et d’états décisionnels. Grâce aux La grande idée consiste à faire développer une solution par une avancées sur ce projet et à sa notoriété grandissante, Actuate large communauté en motivant les intervenants par un domaine réussit à vendre une solution de reporting, nommée simplement technologique innovant et en s’appuyant sur une problématique Actuate BIRT. fonctionnelle non encore résolue. In fine, l’organisation peut ainsi vendre des solutions plus riches, basées sur le framework Enfin, il convient également de citer IBM, qui intervient dans de Open Source, ou encore proposer des formations et du conseil. très nombreux projets de la fondation, en particulier tournés La majorité des acteurs suivent ce principe, en voici quelques autour de la modélisation et de la méthodologie (dont RUP). La exemples parmi les membres stratégiques de la fondation. société vend des prestations de conseil en développement basées sur la plateforme et propose aussi d’améliorer l’organisation des La société Genuitec, éditeur de produits basés sur Eclipse, entreprises grâce à un outillage basé sur Eclipse. propose MyEclipse, une solution d’IDE de développement J2EE ainsi que Pulse, une application permettant de « fabriquer » Il faut aussi noter le cas de la Nasa qui, à l’image d’IBM à ses une plateforme sur mesure. Les prix de ces 2 solutions ne sont débuts, a développé un « mini-éco système » basé sur Eclipse. pas excessifs, mais la reconnaissance induite par ces produits La plateforme Eclipse a été retenue pour concentrer les outils de permet à Genuitec de vendre des formations et du conseil. la Nasa ainsi, les différentes équipes l’agrémentent de nouvelles fonctions. Pour certaines parties génériques, les développeurs Innoopract, SSII allemande, est coleader du projet RAP (Rich bénéficient du travail de leurs collègues et apportent aussi leur Ajax Plateform) qui permet de « transformer » une application pierre à l’édifice. Ainsi, les images venant de Mars ont-elles été client lourd en application client léger avec une interface aussi interprétées sous Eclipse ! 8 IT-expert n°77 - janvier/février 2009
Dossier & Interviews C’est là qu’Eclipse prend toute la puissance : la déclaration. Une technologie sous-jacente avant tout Le projet Equinox d’Eclipse implémente le framework OSGI (Open Services Gateway Initiative) fournissant ainsi un cadre de référence au couplage lâche des plug-ins. En effet sur une À partir de la version 3.0, Eclipse se présente réellement simple déclaration, le plug-in déclarant peut exploiter l’ensemble comme une plateforme client riche proposant des fonctions des paramètres et des ressources fournis par le contributeur, « standardisées » sur un socle commun : le Workbench. Un sans connaître jusqu’à l’existence même de ce dernier. workbench est la plateforme d’accueil de services applicatifs proposant par exemple un service d’édition, l’éditeur, Un point d’extension se matérialise sous la forme d’un fichier permettant la modification de données au sens large du terme exsd (Extension XML Schema Definition) décrivant la grammaire (données, diagrammes, textes, etc.). Un service d’assistants, à utiliser pour déclarer la contribution. Les types utilisés peuvent les wizards, permet de guider les utilisateurs lors de la saisie être des types simples, comme des types complexes, des ou du paramétrage via un système multipages embarquant ressources fichier, images ou des classes. Les classes doivent un mécanisme d’information en cas d’erreurs de saisies, cependant implémenter une interface ou une classe abstraite d’avertissements ou d’incohérence. Des vues permettent de fournie par le déclarant pour être manipulée par ce dernier. présenter, saisir, organiser l’information sous différentes formes. Pour terminer avec les exemples significatifs, un système de mise à jour évolué propose un rafraîchissement des plug-ins Extension gérant également leurs dépendances les uns par rapport aux Contributeur autres. L’ensemble de ces services apporte à Eclipse une forte capacité d’adaptation à une multitude de cas. On retrouve la plateforme Eclipse RCP (Rich Client Platform) à la base de nombre d’applications conséquentes. On a déjà Déclarant nommé IBM (IBM Lotus, IBM Lotus Expeditor, Symphony) et Point d'extension la Nasa, on trouve également PlanningForce pour la gestion de projet, ForeFlight de SilverCurve aidant les pilotes d’avion La magie d’un anonymat devenu possible à prévoir les perturbations atmosphériques avant un vol, ou encore LabImage 1D de Kapelan Bio-Imaging qui permet Un « plug-in déclarant » fournit des fonctions sous la forme l’analyse de gels électrophorèse. En somme, RCP est loin de d’un point d’extension. n’être que la justification de la création d’une plateforme pour Ce point d’extension permet la définition des conditions de un IDE de développement. Son utilisation dépasse le cadre du déclaration d’une extension par le plug-in Contributeur. développement d’application même si la majorité des utilisateurs Dès lors, lorsque le plug-in déclarant est sollicité, il demande font encore partis du domaine de l’ingénierie logicielle. au registre des extensions quelles sont les déclarations faites sur la base du point d’extension. Chaque attribut présent dans le point d’extension peut alors Développement de plug-in et services applicatifs être exploité. Dans le monde Java, on ne peut pas instancier directement La plateforme de base d’éclipse est elle-même une adjonction une classe que l’on ne connaît pas. Or dans notre cas, le de plug-ins. Chacun fournissant une fonction spécifique. La déclarant ne connaît pas le contributeur. fourniture de ces fonctions se fait par l’intermédiaire des points C’est à ce moment que les mécanismes d’Equinox prennent d’extensions. Un point d’extension consiste en un contrat le relais. L’instanciation de la classe se fait sur la base de son de service passé entre un déclarant et un contributeur. Le nom qualifié (appelé aussi forme canonique) déclaré par le plug-in déclarant propose un service, le plug-in contributeur contributeur. Par conséquent, sans même connaître l’objet exploite ce service en déclarant une extension auprès du point ainsi créé, le déclarant peut l’exploiter. d’extension. IT-expert n°77 - janvier/février 2009 9
Étendre, ou permettre d’étendre intelligible. GEF (Graphical Editing Framework) achève le processus de construction pour produire, par l’intermédiaire d’un Ce mécanisme de point d’extension/extension est disponible paramétrage les outils nécessaires à la manipulation des objets pour le développement des applications RCP ou des plug-ins de dans un modèle. Ces outils sont un éditeur, une palette d’objets développements spécifiques. Il est possible de définir ses propres et une méthode de représentation. Ainsi, l’utilisation de ces trois points d’extension pour permettre à d’autres développeurs de plug-ins permet de faire d’une représentation intellectuelle, un compléter les fonctionnalités du plug-in. outil de représentation opérationnel et partageable par la simple adjonction du plug-in produit dans l’environnement Eclipse. Par exemple, on prendra l’éditeur de code Java. Dans l’éditeur, Tout cela en moins d’une heure pour un modèle simple et une dans la marge, quelques informations sont mises à disposition des bonne connaissance de ces plug-ins. Et peu d’IDE sont capables développeurs : warning, erreurs, mais aussi des fonctions comme d’offrir ce type de prestations. des propositions de correction du code en fonction des erreurs ou warnings détectés. Le plug-in JDT (Java Developpement Tool) propose d’enrichir ces informations. Ainsi, le plug-in Client lourd, composant serveur, client léger ? AJDT (programmation par aspect) ajoute des informations sur les pointcuts sur lesquels l’aspect est tissé dans cette même La plateforme Eclipse se présente sous deux formes. L’une marge. On regrettera toutefois l’opacité de certaines fonctions sous la forme d’un client lourd, l’autre portée sous la forme de JDT vis-à-vis des développeurs de plug-ins. d’un composant serveur accessible depuis un client léger : Eclipse RAP (Rich Ajax Platform). Eclipse utilise massivement Seuls les projets dits « amis » (gérés par la fondation Eclipse) les frameworks SWT (Standard Widget Toolkit), et jFace. Il existe comme AJDT sont en mesure d’étendre par l’intermédiaire du une implémentation de ces classes très orientée client lourd, code ces fonctions pour des raisons de visibilité des packages. celle servant à la plateforme RCP de l’IDE Java. Cette opacité est vraie pour les releases entre les versions 3.0 et 3.3, la version 3.4 (Ganymede) proposant plus de points La fondation Eclipse a développé un ensemble d’implémentations d’extensions. Un exemple typique, la coloration syntaxique. spécifiques pour les clients légers portant le workbench client Jusqu’à la version 3.3, il était nécessaire de télécharger les lourd vers un workbench orienté web. Ce simple portage est sources, de les modifier pour intégrer des contraintes propres, aujourd’hui fiable sur des pans complets de la plateforme, comme la présentation de code source généré par des outils cependant un effort important reste à produire pour que ce MDA. Aujourd’hui l’évolution de la coloration syntaxique est portage soit aussi simple dans les faits que sur le papier pour plus aisée. l’ensemble des plug-ins de la plateforme. Ainsi, des applications développées sous la forme de plug-ins destinés à des clients De ce fait, la plateforme client lourd est solide, et un ensemble de lourds, peuvent être portées sur la plateforme RAP avec peu ou plug-ins tout aussi robuste puisque développés en concertation quasiment pas d’adaptation. Les mécanismes d’Equinox sont repose sur celle-ci. De nombreux partenaires contribuent ensuite eux aussi portés sur RAP, permettant le développement et le à l’évolution de la plateforme sur des domaines variés. Ainsi, il déploiement de portions d’application, des modules présentant est possible de trouver sur une même plateforme un IDE Java, des couplages lâches facilitant de ce fait leur déploiement et un IDE C++, un outil de définition de rapport (BIRT, Jasper), leur maintenance. Une évolution majeure dans les architectures un outil de développement de flux ETL (Talend), un ensemble n-tiers connues aujourd’hui. d’outils permettant la modélisation, la conceptualisation de mécaniques complexes (EMF, GEF, GMF), des Outils MDA (JET, Acceleo). Des concurrents de taille Petit zoom sur les projets modeling d’Eclipse Les concurrents d’Eclipse aujourd’hui sont multiples en fonction EMF (Eclipse Modeling Framwork) est un plug-in permettant de des domaines sur lesquels Eclipse est utilisé. Sur le marché des décrire un métamodèle de données destiné à être manipulé pour IDE de développement Java les principaux concurrents sont la description de modèles. Pour rappel, un métamodèle décrit NetBeans (Sun), Visual J++ (Microsoft) ou JDevelopper (Oracle). l’ensemble des objets utilisés dans la représentation intellectuelle Les communautés autour du développement d’applications d’un problème complexe. Par exemple, le métamodèle d’UML dans d’autres langages ne sont aujourd’hui pas encore très fait apparaître une notion de classe, d’héritage, d’état, etc. développées avec Eclipse. Microsoft conserve en effet une Chaque classe représentée dans un diagramme de classes UML part importante du développement en C/C++, toutefois l’offre correspond à une instance de l’objet classe du méta modèle. d’Eclipse grappille chaque année des parts de ce marché. Cette métamodélisation se traduit par un fichier XML formalisé en EMF. Une fois les différents objets, leurs relations, leurs Comme nous l’avons expliqué précédemment, la plateforme cardinalités, propriétés... définis, le plug-in GMF prend le relais. Eclipse peut également accueillir des applications d’une autre GMF (Graphical Modeling Framework) définit les modalités de nature que les applications de développement. Sur ce terrain, transformation du modèle EMF en une représentation graphique NetBeans propose une offre similaire. On n’oubliera pas non 10 IT-expert n°77 - janvier/février 2009
Dossier & Interviews plus la plateforme Flex (Adobe) très répandue sur le terrain des Les preuves de l’efficacité du modèle OSGI ayant été faites dans applications multimédias en client lourd mais également en client le monde du client riche, puis dans le monde du client léger (RAP), léger. La concurrence sur les RIA (Rich Internet Application) est les éditeurs et communautés des serveurs d’applications entrent quant à elle bien plus présente. Les frameworks divers comme dans cette même approche, comme Glassfish (i.e. Sun AS). Rubis on Rails, GWT (Google Web Toolkit) ou jBoss Seam sont des prétendants très sérieux face à Flex et RAP. Les plateformes RCP et RAP sont de parfaits supports pour le développement d’applications composites ou d’applications À l’exception du portage en client léger, la seule plateforme portail. L’application typique s’avérant le poste de travail unifié : capable de couvrir le même spectre est NetBeans. La plus utiliser une interface commune, normalisée, laissant peu de grosse faiblesse d’Eclipse, qui est également sa plus grande place à l’improvisation, mais proposant toutes les fonctionnalités force, repose sur le développement des plug-ins. Jadis, ces nécessaires à l’accès aux applications. Un tiers présentation développements pouvaient paraitre chaotiques dans la mesure flexible mais guidé. où les plug-ins n’étaient généralement pas livrés en même temps que la plateforme. Toutefois depuis la version 3.2, la fondation Avec le développement de l’application RAP on pourrait aller s’investie dans une politique de releasing commune autour jusqu’à imaginer d’obtenir un jour une plateforme unique proposant des différents plug-ins. Ainsi, dans la mesure du possible, les l’ensemble des services nécessaires à n’importe quel poste de versions de la plateforme Eclipse et une grande partie des plug- travail de l’entreprise, de l’assistante au développeur. N’oublions ins Eclipse proposent une nouvelle version de manière simultanée pas que l’IDE Eclipse reste une application RCP. À quand donc et concertée. Il est donc possible d’exploiter les fonctions des les IDE de développement, les applications de supervision ou les projets comme EMF, GMF et consorts dès la release de la applications métiers, intégralement en client léger sous la forme nouvelle plateforme sans subir le délai, généralement constatés, d’un poste de travail unifié, voir universel ? n d’adaptation des produits annexes, pour des raisons d’opacité ou de programmation concurrente, très connues dans le monde du logiciel sur étagère. D’autres plug-ins développés par des éditeurs ou des communautés indépendantes de la fondation entrent également dans cette démarche comme le plug-in SVN de Polarion : Subversive. Mathieu Lombard, Business Consultant, Quel devenir pour Eclipse ? Practice ACS La communauté Eclipse se développe de plus en plus, et des partenariats ou des utilisateurs ne cessent de l’enrichir. Par exemple, Obéo, une entreprise nantaise, fournit une solution de développement MDA basé sur Eclipse. Cet outil utilise EMF, GEF et GMF, trois projets Eclipse auxquels Obéo participe activement. Cette entreprise utilise, propose et héberge des Guilhem Delebecque, plug-ins de la fondation. Architecte - Urbaniste Cet accent mis sur la modélisation et la métamodélisation montre une volonté d’industrialisation forte des solutions autour Acteur majeur du conseil et des services informatiques en Europe, Sopra Group de l’IDE et de la normalisation des développements. Le projet « propose l’ensemble des prestations nécessaires aux entreprises pour faire évoluer Modeling » d’Eclipse renforce sa position autour des solutions leurs organisations et leurs systèmes d’information. Sopra Group compte aujourd’hui sur base RCP, en proposant des moyens simples et efficaces plus de 12 000 collaborateurs. Son positionnement est global, depuis la réflexion de créer des outils de modélisation ou de gestion. L’ensemble, stratégique en amont des projets dans une approche de direction générale, jusqu’à ou presque, des outils de cartographies physiques (SIG) ou la conduite de grands projets d’intégration de systèmes et à l’outsourcing applicatif. logiques (Organisation) peut être traité par l’intermédiaire de ce Le Groupe poursuit, par ailleurs, le déploiement mondial de son activité d’intégration type d’approche. Ces mêmes outils permettent de créer des d’applications et de gestion des processus métiers à travers sa filiale Axway, avec plug-ins spécifiques de modélisation et/ou de représentation une gamme complète de solutions et de services. de systèmes cibles. IT-expert n°77 - janvier/février 2009 11
Où en est UML ? Après plus de 10 ans d’existence, où en est UML ? D’un côté, les tenants des méthodes agiles en vogue actuellement, telles que XP (eXtreme Programming) et Scrum, ne parlent quasiment pas de modélisation, ou semblent même s’en méfier. De l’autre, certaines entreprises ont engagé d’énormes investissements sur une approche dirigée par les modèles (Model-Driven Engineering) et prétendent générer presque 100 % de leur code applicatif automatiquement. Qu’en est-il vraiment ? Ces deux approches d’utilisation d’UML sont-elles vraiment inconciliables ? 12 IT-expert n°77 - janvier/février 2009
Technique À quoi bon modéliser ? Le recours à la modélisation est depuis longtemps une bonne pratique du développement logiciel. Un modèle constitue en effet une représentation abstraite d’un système destiné à en faciliter l’étude et à le documenter. C’est un outil majeur de communication entre les différents intervenants au sein d’un projet. Le fait de tracer ou de lire des diagrammes implique de travailler plus visuellement et d’exploiter le pouvoir que possède notre cerveau de saisir rapidement des symboles et des relations exprimées (majoritairement sous la forme de cases et de lignes) dans un espace bidimensionnel. Chaque membre de l’équipe, des utilisateurs jusqu’aux développeurs, utilise et enrichit le modèle différemment. En outre, les systèmes devenant de plus en plus complexes, leur compréhension et leur maîtrise globale dépassent les capacités d’un seul individu. La construction d’un modèle apporte donc une réponse efficace. Le modèle sert des objectifs différents suivant l’activité de Analogie développement, et sera construit progressivement avec des points de vue de plus en plus détaillés. Pour illustrer au mieux ce qu’est un modèle, Grady Booch (un En spécification des exigences, il convient de considérer le des pères d’UML) a établi un parallèle entre le développement système comme un tout (une boîte noire) afin d’étudier sa place logiciel et la construction BTP. dans le système métier plus global qu’est l’entreprise. On Cette analogie est judicieuse, car les plans tracés pour développe pour cela un modèle de niveau contexte, afin de tracer construire un immeuble reflètent parfaitement bien l’idée précisément les frontières fonctionnelles du futur système. d’anticipation, de conception et de documentation du Lors de la phase d’analyse, le modèle commence à représenter modèle. Chaque plan développe un point de vue différent le système vu de l’intérieur, mais sans référence à une solution suivant les corps de métier. Par exemple, le plan des circuits technologique. Il se compose d’objets représentant une d’eau et le plan des passages électriques concernent le même abstraction des concepts manipulés par les utilisateurs. Le immeuble mais sont nécessairement séparés. modèle comprend par ailleurs deux points de vue, la structure Enfin, chaque plan se situe à un niveau d’abstraction différent statique et le comportement dynamique, qui aident à compléter suivant l’usage que l’on désire en faire. Ainsi, le plan de masse la compréhension du système à développer. permet d’anticiper les conséquences de l’implantation de En phase de conception, le modèle décrit la solution l’immeuble sur son environnement, alors que les plans de informatique qui sera utilisée, en intégrant les choix des langages, construction par étage vont permettre aux différents corps des outils, et des plates-formes de développement. Un modèle de métier de travailler avec précision. suffisamment détaillé peut ici servir à générer automatiquement du code dans un langage de programmation objet, avec un Notons cependant que l’anticipation ne permet pas de outil approprié. prendre en compte les besoins changeants des utilisateurs. Pour le déploiement enfin, le modèle permet de représenter Or, dans la majorité des projets informatiques, ces besoins les matériels et les logiciels à interconnecter. évoluent au fil du temps. Il est important de l’admettre et de gérer le changement. Le processus de modélisation du logiciel doit donc être UML : l’objet de tous les projets… adaptatif et non pas seulement prédictif, contrairement à ce qui se fait dans le BTP ! Le modèle en tant qu’abstraction d’un système s’accorde parfaitement avec les concepts orientés objet. Un objet peut en effet représenter l’abstraction d’une entité métier utilisée en analyse, puis d’un composant de solution logicielle en conception. La correspondance est encore plus flagrante lorsque les langages de développement sont eux-mêmes orientés objet. D’où le succès de la modélisation objet ces dernières années pour les projets de plus en plus nombreux utilisant C++, Java, C#, Python, etc. Aujourd’hui, le standard industriel de modélisation objet est UML (Unified Modeling Language). Il est sous l’entière responsabilité de l’OMG (Object Management Group), un groupement IT-expert n°77 - janvier/février 2009 13
d’industriels dont l’objectif est de standardiser autour des • Sept diagrammes comportementaux : technologies objet, afin de garantir l’interopérabilité des - Diagramme de cas d’utilisation (montre les interac- développements. L’OMG comprend actuellement plus de 800 tions fonctionnelles entre les acteurs et le système à membres, dont les principaux acteurs de l’industrie informatique, l’étude) mais aussi les plus grandes entreprises utilisatrices dans tous - Diagramme d’activité (montre l’enchainement des actions les secteurs d’activité (www.omg.org). et décisions au sein d’une activité) - Diagramme d’états (montre les différents états et tran- UML 2.2 sitions possibles des objets d’une classe) - Diagramme de séquence (montre la séquence verti- 03/2005 cale des messages passés entre objets au sein d’une interaction) - Diagramme de communication (montre la communication entre objets dans le plan au sein d’une interaction) Industrialisation - Diagramme de vue d’ensemble des interactions (fusionne 03/2003 : révision 1.5 UML 1.5 les diagrammes d’activité et de séquence) - Diagramme de temps (fusionne les diagrammes d’états 11/1997 : adoption par l'OMG et de séquence) 09/1997 : révision 1.1 UML 1.1 Diagram 01/1997 : soumission à l'OMG UML 1.0 Standardisation 06/1996 UML 0.9 Structure Behavior Diagram Diagram 10/1995 Unified Partenaires Method 0.8 UML Class Component Object Activity Use Case State Machine Diagram Diagram Diagram Diagram Diagram Diagram Unification 10/1994 Booch'93 + OMT-2 Composite Deployment Package Interaction Structure Diagram Diagram Diagram Diagram G. Booch J. Rumbaugh I. Jacobson Interaction Sequence Booch-91 OMT-1 OOSE Fragmentation Overview Diagram Diagram Communi- Timing Historique d’UML cation Diagram Source : site OMG Diagram UML se définit comme un langage de modélisation graphique et Les 13 diagrammes UML2 textuelle destiné à comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des Modélisation agile : retour du feutre points de vue. UML unifie à la fois les notations et les concepts et du paperboard orientés objet. Il ne s’agit pas d’une simple notation graphique, car les concepts transmis par un diagramme ont une sémantique Scott Ambler, grand promoteur de la « modélisation agile » (AM), précise et sont porteurs de sens au même titre que les mots d’un a détaillé ses idées dans un livre paru chez Wiley en 2002 : Agile langage. UML 2 (officiellement adopté depuis mars 2005 par Modeling: Effective Practices for Extreme Programming and the l’OMG) s’articule autour de 13 diagrammes différents, répartis Unified Process. Il a repris les valeurs et principes de XP (eXtreme en deux grands groupes : Programming) en les adaptant à la modélisation. En résumé, • Six diagrammes structurels : les clés d’une modélisation réussie consistent à : - Diagramme de classes (montre les briques de base • promouvoir une communication efficace entre tous les statiques : classes, associations, interfaces, attributs, participants du projet ; opérations, généralisations, etc.) • se forcer à développer la solution la plus simple possible qui - Diagramme d’objets (montre les instances et leurs liens satisfasse tous les besoins ; statiques) • obtenir des retours rapides et fréquents ; - Diagramme de packages (montre l’organisation logique • avoir le courage de prendre des décisions et à s’y tenir ; du modèle) • avoir l’humilité de reconnaître qu’on ne sait pas tout et que - Diagramme de structure composite (montre l’organisation les autres ont une valeur à apporter à ses propres efforts. interne d’un élément statique complexe) - Diagramme de composants (montre des structures Les tenants de la modélisation agile, comme Craig Larman, complexes, avec leurs interfaces fournies et requises) recommandent de recourir à la modélisation avec les outils les - Diagramme de déploiement (montre le déploiement phy- plus simples possible. Ce sont les champions du feutre et du sique des « artefacts » sur les ressources matérielles) tableau blanc ! 14 IT-expert n°77 - janvier/février 2009
Technique • Cas d’utilisation • Modèle du domaine (diag. de classes) • Une modélisation collaborative • Avec des outils simples Exemple de modélisation agile : site web de librairie en ligne • Et des modèles publics • Mais pas pour faire de la documentation Les principales bonnes pratiques de modélisation agile sont les suivantes : La modélisation agile : outil de communication • Créez plusieurs modèles en parallèle, utilisez le diagramme le plus adapté à la situation, tournez-vous vers un autre diagramme dès que vous êtes bloqués pour continuer à Model-Driven Engineering (MDE) avancer à une allure stable. • Modélisez en petits incréments et avec les autres, au lieu Depuis dix ans, la complexité des systèmes informatiques s’est d’essayer de créer le modèle « magique qui englobe tout » fortement développée, avec - par exemple - l'apparition de la depuis votre tour d’ivoire… problématique des lignes de produits logiciels, visant à minimiser • Prouvez vos modèles avec du code pour montrer que vos simultanément les coûts de développement et le temps de idées marchent vraiment en pratique et pas seulement en mise sur le marché de nouveaux logiciels d'une même famille. théorie. Comme dans les autres sciences, les ingénieurs essaient de • Utilisez des notations simples afin que le contenu de vos plus en plus de s’appuyer sur la modélisation pour maîtriser modèles soit facile à valider, avec les outils les plus simples. cette complexité, tant pour produire le logiciel (conception) que Focalisez-vous uniquement sur les aspects que vous devez pour le valider (test). modéliser et n’essayez pas de créer à tout prix un modèle très détaillé. Ce que propose l'approche dirigée par les modèles (MDE en • Modélisez à plusieurs, montrez vos modèles publiquement anglais pour Model Driven Engineering) consiste à mécaniser le sur les murs ou un site web, appliquez le principe XP de processus que les ingénieurs expérimentés suivent à la main. propriété collective. L'intérêt pour cette approche a été fortement amplifié lorsque • Ne vous embarrassez pas de modèles temporaires, et ne l’OMG a rendu publique son initiative MDA (Model Driven mettez à jour vos modèles que « quand ça fait mal »… Architecture), qui peut être considérée comme une restriction Pour les tenants de l’AM, la valeur ajoutée principale de la de MDE à la gestion de l'aspect particulier de dépendance d'un modélisation (comme pour la planification, d’ailleurs) réside logiciel à une plateforme d'exécution. L’ambition du MDA est dans l’activité de modélisation elle-même, et non pas dans le d’améliorer la qualité et le coût de la production d’applications. modèle obtenu. Craig Larman va jusqu’à dire : « Tout modèle L’objectif consiste à modéliser fonctionnellement une application est faux ! Et c’est OK ! ». (PIM) afin de générer les modèles et codes techniques (PSM). IT-expert n°77 - janvier/février 2009 15
Vous pouvez aussi lire