Note de lecture : Convergent Architecture, par Richard Hubert

Note: 1 ; Pas convaincant et ennuyeux!

Mais pourquoi donc ai-je acheté ce bouquin? Tout simplement parce que l’excellent « enterprise patterns and MDA » y fait référence. Mais force est de constater que c’est l’échec complet. Voyons donc comment les 260 pages et les 8 chapitres de cet ouvrage pourtant estampillé « OMG press » ont pu nous amener là.

Le chapitre 1 « IT Architectural style » couvre 30 pages. Il s’agit, du moins pour les 15 premières pages d’une discussion philosophique sur la nature d’une architecture, son caractère évolutif, ses niveaux d’expression et l’équilibre entre innovation et couverture du risque. Rien de bien concret. Je ne me retrouve guère non plus dans les 4 propriétés énoncées concernant cette architecture, sujet des 15 pages suivantes :

  • Le métamodèle architectural, bref la nécessité de suivre un style prédéfinit.
  • Le cycle de vie du développement du modèle.
  • Une suite d’outils complète.
  • Une « projection technologique » formalisée.

On va même jusqu’à évoquer le template IEEE 1471-2000 pour documenter cette architecture. Bref, un chapitre qui n’a guère de sens pour moi.

Lire la suite

Note de lecture : MDA, conception orientée objet guidée par les modèles, par Hubert Kadima

Note : 3 ; Trop vague ou trop près du code !

Ce livre est une déception. Tout d’abord, ce n’est pas le bon livre pour comprendre MDA : les chapitre 1 à 3 sensés le décrire sont brumeux, énumérant (répétant même, assez souvent), ce que MDA permet de faire, sans vraiment expliquer la chose. Je n’aurais pas appris MDA par ailleurs, je n’aurais rien compris !

Le chapitre 4 apparaît soudainement, en décalage : alors que l’on dissertait vaguement de principes généraux, voici (boum !) un chapitre est dédié à Rational XDE, qui n’est même pas vraiment un outil MDA. Qu’importe, on nous inonde de copie d’écrans et de scripts de génération de code ! Puis succède le chapitre 5, qui n’est pas non plus dédié à MDA mais au processus de développement.

En fait, les éléments m’intéressant ont débuté au chapitre 6, où l’on présente l’étude de cas de la chaîne logistique. En fait, ce chapitre n’est pas non plus orienté MDA, mais j’ai trouvé l’exposé du sujet intéressant, ainsi que l’évocation des normes s’y rattachant : SCORE, Rosetta Net, etc.. Le chapitre 7, qui lui est vraiment MDA, a l’intérêt de traiter correctement du sujet : l’approche MDA avec le profil J2EE. Au moins entre-t-on dans le vif du sujet.

Les chapitres 8 et 9 (qui sont les derniers) font l’originalité du livre et par là même en relèvent un peu la note. Dans le premier, on évoque le profil UML pour Corba CCM, avec une longue mais très intéressante introduction au modèle CCM. Dommage que le traitement de l’étude de cas sur ce profil soit un peu bâclé. Le dernier chapitre est encore plus intéressant, puisqu’il traite du CWM, le métamodèle dédié aux entrepôts de données. Ce métamodèle, avec ses sous-ensembles est expliqué, tout comme l’est succinctement Jolap, l’interface Java-OLAP. Hélas, la transformation UML – CWM n’est pas évoquée.

En bref, un ouvrage bien décevant, où seul les 3 derniers chapitres présentent quelque intérêt. Pour ce qui est de comprendre MDA, allez voir ailleurs. Et pour ce qui est de comprendre la mise en œuvre, mieux vaut aller voir des outils qui convergent réellement vers MDA et non des AGL générant du code ! Si vous cherchez un livre en français sur MDA, celui de Xavier Blanc est bien meilleur à tous égards.

mda-kadima

Référence complète : MDA, conception orientée objet guidée par les modèles – Hubert Kadima – Dunod 2005 – ISBN : 2-10-007356-7

MDA, conception orientée objet guidée par les modèles


http://www.goodreads.com/book/add_to_books_widget_frame/2100073567?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : MDA en action : Ingénierie logicielle guidée par les modèles, par Xavier Blanc

Note : 7 ; Un très bon livre, pour comprendre les concepts clés de MDA, les métamodèles associés et leurs mécanismes de transformation.

Mon snobisme naturel m’incite généralement à préférer les livres américains à leurs équivalents français. Le fait que je m’intéresse aujourd’hui à un ouvrage bien de chez nous ne doit rien à une quelconque cabale hexagonale, mais bien aux qualités intrinsèques dudit ouvrage.

MDA est un sujet complexe, qui nécessite d’en comprendre les fondements afin de pouvoir saisir les nombreux « buzzwords » que sont OCL, Semantic Actions, et autres CIM, PIM, PSM et MOF ! C’est exactement l’approche de ce livre : après un chapitre de présentation générale de MDA, on aborde tout de suite la pierre angulaire du MDA : le MOF (méta-object facilities) encore appelé méta-métamodèle ! Si il est un sujet ardu dans MDA, c’est bien ce fameux MOF (vous l’avez probablement compris rien qu’en lisant la phrase précédente). Mais l’auteur s’en tire fort bien, de manière exemplaire devrais-je même dire car au chapitre 6, on se plonge même dans la manipulation d’un métamodèle construit à l’aide du framework EMF d’Eclipse (celui-là même qui est au cœur de Rational Software Modeler / Architect) : bravo ! Bien sûr, il vous faudra avoir le goût des métamodèles, mais dans le cas contraire, MDA n’est probablement pas pour vous. UML2 est bien entendu abordé, et si vous n’aviez pas encore compris ce que sont UML infrastructure et superstructure (on ne saurait vous en blâmer) et la fameuse dépendance « merge », l’explication est ici. Je met juste un bémol sur les explications dédiées aux classes du métamodèle UML2 qui sont un peu fastidieuses.

Les standards connexes, si ils sont traités brièvement ne le sont pas moins clairement, avec une mention spéciale pour le traitement de XMI et DI (diagram interchanges) ce dernier sujet n’étant même jamais abordé dans les autres textes. De même, si vous êtes noyés dans les problèmes d’incompatibilités de XMI, la réponse est ici. La clé de voûte de MDA, la transformation de modèles n’est pas en reste, puisque l’auteur développe les 3 approches possibles : transformation par programmation, par « templates » et par règles de programmation, la 1ère et le 3ème approche étant par la suite illustrés dans la prise en compte des plates-formes d’exécution, J2EE et PHP respectivement, la transformation entre 2 métamodèles différent (car l’auteur présente un métamodèle PHP simplifié pour l’occasion) est carrément la cerise sur le gâteau ! On est pas loin du tour de force.

Sur le fond, l’approche de l’auteur (fusion des informations de transformation avec le modèle) s’oppose avec l’approche de Kleppe & Warmer qui est de séparer les informations de transformation du modèle. Personnellement je préfère cette dernière approche. Cela ne retranche rien à la qualité de cet ouvrage, que je conseille à la condition que vous recherchiez l’approche « en profondeur » et soyez friand de métamodèles !

L’étude cas et la présentation de deux outils MDA (Rational Software Architect et Objecteering MDA Modeler) ne sont pas la meilleure partie de l’ouvrage, mais elles complètent utilement celui-ci en donnant une illustration concrète.

Voilà donc un livre solide et complet sur MDA. Il requiert un peu e motivation pour aborder le sujet sous l’angle métamodèle, mais il équilibre de façon fort heureuse les principes et la pratique, le tout dans un volume raisonnable, puisque le livre compte 260 pages.

MDA en Action

Référence complète : MDA en action : Ingénierie logicielle guidée par les modèles – Xavier Blanc – Eyrolles 2005 – ISBN : 2-212-11539-3

MDA en Action


http://www.goodreads.com/book/add_to_books_widget_frame/2212115393?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on