Note : 6 ; Pas les progrès espérés de cette seconde édition considérablement étoffée, mais avec une notation qui continue à se rapprocher de Rational plus que de UML / MDA
Seconde édition d’un ouvrage paru en 2000, ce volume considérable (450 pages), dont un tiers est consacré aux annexes. La première édition montrait une ébauche de profile UML pour les applications Web. Depuis un certain nombre de spécialisations ont vu le jour, notamment dans le monde JEE. Voyons ce qu’il en est.
Comme je l’ai dit, le corps principal du livre compte 300 pages, repartis en 2 parties et découpé en 12 chapitres. La première partie est consacrée à la modélisation des technologies relatives au Web et rassemble les 5 premiers chapitres. Le premier chapitre sert d’introduction et couvre 3 pages, n’en parlons pas. Le chapitre 2 est en fait la réelle introduction. Sur 20 pages, il fait le point sur les principales technologies et protocoles qui sont le quotidien des applications Web à la date de l’ouvrage. C’est plutôt bien écrit mais on y apprend pas grand chose.
Le chapitre 3 s’intitule « dynamic client ». On y évoque tout ce qui tourne autour du DOM, et ce n’est pas particulièrement superficiel. Il y a quelques tentatives timides de modélisation. Il est dommage qu’elles soient timides, car elles sont plutôt originales et bien pensées. C’est un chapitre court de 10 pages.
Les 20 pages du chapitre 4 s’intéressent à ce qu’il y a au-delà de http et HTML. En l’occurrence RMI, DCOM et SOAP. Plus de focus sur la technologie que sur la modélisation. Mais l’auteur nous gratifie quand même de quelques schémas d’architecture à la sauce UML.
Enfin, le chapitre 5 clôt cette première partie. C’est de sécurité qu’il est question sur 22 pages, avec à la clé encryptions, firewalls, etc. Là encore le soutiens UML est éparse. Pourtant Jim Conallen est le seul auteur que j’ai vu faire usage des collaborations paramétrées, intelligemment qui plus est !
La seconde partie est consacrée à la modélisation d’applications Web. Elle débute par le chapitre 6, probablement celui que je juge le plus hors-sujet. On en prend quand même pour pas loin de 40 pages. On y parle de processus de développement, et de métamodèle de processus. Le tout très emprunt d’Unfied Process. Guère passionnant.
La définition de l’architecture, sujet du chapitre 7 qui accuse un peu plus de 25 pages, utilise la représentation 4+1 vue de Philippe Kruchten. On y est moins hors sujet qu’au chapitre précédent. Mais le sujet aurait pu être mieux traité. D’autant qu’il révèle peu de spécificités Web.
C’est de requirements et donc de cas d’utilisation qu’il est question au chapitre 8. Les 25 pages de ce chapitre nous permette d’asseoir l’étude de cas, mais n’offrent aucun élément nouveau par rapport aux approches classiques. A contrario, on ne peut reprocher au chapitre 9 consacré à l’UX d’être classique ! Ce sont 25 pages également qui traitent essentiellement de « navigational maps » représentées en UML !
La vingtaine de pages du chapitre 10 consacrées à l’analyse font le pendant du chapitre 8. Là non plus rien de neuf sous le soleil. Ce qui est dit ici se retrouve dans la prose de Doug Rosenberg. Les 30 pages du chapitre 11 dédié à la conception montrent bien d’avantage de créativité dans l’utilisation d’UML dans un contexte Web, notamment dans l’usage de composants stéréotypés. Le chapitre « conception avancée » qui lui fait suite est de la même veine.
Le corps de l’ouvrage se termine sur un chapitre « implémentation » qui apporte bien peu au paysage UML dressé par l’auteur.
Enfin, les annexes forment un solide manuel de référence au profil développé par l’auteur.
J’attendais donc de cette nouvelle édition qu’elle converge d’avantage vers le métamodèle UML et qu’elle fédère la notation Web commune aux différentes technologies Web (HTML, XML, .Net et J2EE, notamment, mais aussi PHP et autres technologies spécifiques). Au lieu de cela, l’auteur a choisi de se rapprocher d’une notation orientée analyse s’appuyant sur Rational Rose et convergeant graduellement vers le processus « Iconix » de Doug Rosenberg, même si cela reste inavoué. Cela signifie bien sûr que l’on ne voit ni le signe d’une approche fédératrice des annotations UML pour le Web, ni d’un support MDA pour les applications Web.
Dix ans après, l’ouvrage mériterait un 3ème édition. Tout d’abord, le talent de Jim Conallen pour développer un profil UML créatif et pertinent est réel. Cet ouvrage pourrait laisser tomber l’aspect process qui apporte bien peu et se pencher sur les nouveaux aspects des architectures Web modernes : si le MVC reste important de nouvelles approches existent, utilisant les approches réactives, le REST et les librairies JavaScript avec HTML 5 !

Référence complète : Building Web Applications with UML, second edition – Jim Conallen – Addison Wesley 2002 – ISBN: 0-201-73038-3; EAN: 978-0-201-73038-8