It’s tough to make predictions, especially about the future.

It’s tough to make predictions, especially about the future.

Note : 2 ; Pratiquement le désappointement annoncé !
Autant prévenir tout de suite, ce livre est une compilation d’articles parus dans « Software Development », ce qui peut expliquer l’aspect quelque peu hétéroclite de l’opuscule. L’intérêt des textes eux-mêmes est assez variable et va de passable à intéressant.
Les 280 pages de ce volume sont structurées en 7 chapitres qui sont autant de thèmes. Chaque chapitre rassemble lui-même plusieurs articles. Aucune originalité dans le premier d’entre-eux qui s’intitule sobrement « introduction ». Pour me faire mentir, ce chapitre-ci n’est pas une compilation d’article, mais une introduction, à Unified Process d’abord et à la phase d’inception ensuite. Ce n’est pas mal du tout en fait.
On rentre dans le dur au second chapitre « Best practices for business modeling » qui rassemble 5 articles sur 45 pages. A part peut être l’article consacré aux cartes CRC, les autres donnent vraiment l’impression d’être rentrés aux forceps dans ce thème. Le pire étant je pense la présentation d’UML par Scott Ambler qui n’a pas grand-chose à voir avec la choucroute. Si les contributeurs ont du mal à comprendre ce qu’est la modélisation métier, cela s’arrange au chapitre 3 consacré aux exigences. Et cela commence même très bien avec l’article d’Ellen Gottesdiener dédié au décodage des besoins métier. J’approuve aussi l’article suivant qui clame les droits du client, signé par Karl Wieger. L’article sur le JAD et les règles métiers méritent aussi une mention. Finalement seul le papier de Scott Ambler (encore lui) finira dans la corbeille du même nom.
Note : 2 ; Un peu d’arnaque à l’horizon
Eh bien oui : je cherchais un texte assez simple et facile d’accès pour écrire quelques pages JSPs, juste de quoi me faire de l’auto-formation. Un livre ne français m’était apparu être un bon choix. Ce ne fut pas le cas, nous allons voir pourquoi.
L’ouvrage est assez modeste avec ses 190 pages sur 10 chapitres. Cela commence vraiment très bas avec les deux premiers chapitres. Certes ils sont courts, mais je ne m’attendais pas à ce que moi lecteur je sois pris aussi bas qu’une explication sur le langage java s’impose… Par comparaison, les 20 pages du troisième chapitre paraissent costauds, surtout que l’on passe en un clin d’œil de la présentation de Java EE aux JSP. Au moins, même s’il ne fait pas rêver, ce chapitre nous montre-t-il les fondements des JSP !
Place au chapitre 4 … et à la connexion aux bases de données. Car l’auteur fait tout depuis les pages JSP, y compris du code JDBC. La mise en tableau des résultats fait partie du package, on s’interrogera juste sur la pertinence du design… Le chapitre 5 est court et nous permet de reprendre notre souffle. Il traite exclusivement des cookies. Au chapitre 6 on attaque du lourd avec les Java Serveur Tags. Malheureusement, ce chapitre ressemble surtout à un manuel de référence où l’auteur nous dispense de temps à autre (visiblement à contrecœur) quelques exemples. Bref, passons.
Continuer à lire « Note de lecture : Les JSP, par Eric Chaber »
It’s pointless to look for evil people; look instead for evil systems.

Note : 7 ; La qualité des grands classiques “in action”
La série « in action » chez Manning est en principe une recette éprouvée. Elle doit permettre de rencontrer des ouvrages solides, dont les sujets sont bien abordés de manière progressive et illustrée en se salissant les mains. Malheureusement trop de titres échouent aux portes des critères qualité. Rien de tout cela ici. Le texte est solide, abondement pourvu d’illustrations (parfois trop, certaines ne servent à rien) et d’exemples de code.
Camel est un framework recelant de nombreuses facettes, parfois insoupçonnées. Les auteurs les abordent de manière systématique avec un bon niveau de profondeur. Voyons cela. D’abord ce volume nous assène 460 pages hors annexes. Sérieux me direz-vous ? La seconde édition sortie depuis accuse elle dans les 900 pages ! Revenons à celle-ci. L’ensemble est structuré en 3 parties pour un total de 14 chapitres. Oui, cela signifie donc des chapitres plutôt conséquents.
La première partie « first steps » est aussi la plus courte : moins de 60 pages avec seulement deux chapitres. La première partie « Meeting Camel » nous permet de faire le tour du propriétaire et de découvrir notre premier « hello world » de manière très agréable. C’est aussi l’occasion de faire connaissance avec les concepts de base de Camel. Les Enterprise Intégration Patterns (EIP) sont même évoqués mais sans plus. Coup de zoom au second chapitre « Routing with Camel » qui va en fait assez loin dans les différents concepts de routage, allant jusqu’au multicast ! L’étude de cas abordée ici n’est pas utilisée au fil de l’ouvrage de façon mortelle, mais au moins sert-elle de point d’ancrage. Les auteurs switchent aussi beaucoup entre le « Java DSL » et le « Spring DSL » allant jusqu’à utiliser le Java DSL avec Spring (en fait leur cocktail préféré ». Cette bascule permanente permet certes d’aborder de manière exhaustive les deux manières de faire sur tous les sujets mais est aussi assez fatigante.
Continuer à lire « Note de lecture : Camel in Action, par Claus Ibsen & Jonathan Anstey »
Note : 5 ; Un pamphlet pour la transition vers Ruby.
Ou comment l’un des chefs de file du monde Java prend le virage vers Ruby ! Ce livre est à la fois un argumentaire et une base de construction de stratégie de passage à Ruby. Un objectif limité en 8 chapitres seulement et 150 pages. Certes, l’enthousiasme de l’auteur éveille pour le moins l’intérêt et l’argumentaire est bien construit :
Continuer à lire « Note de lecture : From Java to Ruby, par Bruce Tate »
Doing things you don’t enjoy reduces your effectiveness.
Jim Benson

Note : 6 ; Très pertinent sur la stratégie et la mise en œuvre des tests, souvent moins sur la clarté des explications.
Voici un livre qui s’est fait attendre plusieurs années. Au début, il s’agissait de produire un texte consacré à Arquilian. Finalement, le contexte s’est élargi aux tests de microservices de manière plus générale, Arquilian continuant à se tailler la part du lion, mais d’autres outils de test complétant le paysage, comme nous le verrons.
L’ouvrage totalise 260 pages réparties en 10 chapitres. Cela donne une moyenne de taille par chapitre relativement raisonnable mais quand même un peu plus élevée que ce que j’apprécie généralement. On démarre fort logiquement par un premier chapitre très court pour introduire les microservices. Il s’agit de présenter l’architecture microservices au niveau conceptuel. Une présentation pas vraiment fameuse, avec une représentation qui ne me parle guère et une architecture s’éloignant un peu de celle de Newman et où j’aurais aimé une pincée d’architecture hexagonale.
Le second chapitre présente l’application de test, ou plutôt l’architecture de test, sur une petite trentaine de pages. En fait, les auteurs ont fait le choix de rassembler des architectures techniques différentes : Spring Boot, TomEE et WildFly Swarm. A l’exception du vidéo service sur Spring Boot, le reste s’adosse à Java EE 7 ! Un choix dépassé depuis longtemps, peut-être justifié par le fait que les auteurs sont employés de JBoss ou parce qu’initialement Arquilian était dédié à JEE ? Quoi qu’il en soit, ce choix aurait dû être abandonné, il y avait déjà fort à faire en se contentant de Spring Boot et cette multiplicité introduit une regrettable complexité et de la confusion.
Note : 4 ; Attention, lecture difficile !
Ce livre est un grand classique, peut-être pas en littérature informatique, mais au moins en histoire des sciences et peut-être en philosophie des sciences. Je m’y suis intéressé car il a été évoqué par Craig Larman lors d’une de ses conférences.
Le texte de Kuhn s’articule autour d’une idée forte et novatrice en ce qui concerne l’évolution des sciences les avancées dues aux grandes découvertes sont en fait des changements de paradigmes « non cumulatifs » par rapport aux périodes dites « normales » précédentes. Lors de ces périodes « normales », une communauté de scientifiques se reconnaissant autour d’un paradigme emploie celui-ci pour résoudre des énigmes proposées par la nature en améliorant les lois s’appuyant sur ce paradigme. La sciences « extraordinaire » est précédée de crises où le paradigme précédent s’avère impuissant à résoudre de nouvelles énigmes et où le nouveau paradigme propose des solutions plus simples tout en adressant les problèmes déjà résolus.
Dans les premiers chapitres, l’auteur s’efforce de définir la notion de science de normale et de revisiter la notion de paradigme. Ce dernier définit aussi le groupe et les protocoles qui entoure celui-ci : règles admises non-écrites et processus d’adoption des membres.
First you learn the value of abstraction, then you learn the cost of abstraction, then you’re ready to engineer.
Kent Beck
