Note de lecture : Convaincre pour urbaniser le SI, par Jean-Christophe Bonne & Aldo Maddaloni

Note : 2 ; Décousu et peu engageant, malgré quelques bonnes idées…

Les ouvrages couvrant le domaine de l’urbanisation des SI sont traditionnellement (et à l’exception de quelques uns) de qualité médiocre, du moins de mon point de vue. Nous en avons encore un bel exemple ici.

Cet ouvrage est résolument orienté vers le management décisionnaire. Donc, de fait, il est très peu technique, un choix que je saluerai, car au moins il est clair, le livre n’essaie pas d’arroser en vain un public hétéroclite.

L’expérience phare des auteurs est l’urbanisme du SI de Renault, auquel le dernier chapitre est d’ailleurs spécifiquement consacré. Il est bien dommage que le propos soit si décousu, en suivre le fil est difficile, sinon vain. Comme je le fais parfois remarquer, les 213 pages du livre auraient pu tenir en 90 environ. Voyons un peu le contenu par le menu, c’est à dire en en survolant les 11 chapitres.

Le premier chapitre sur les enjeux est long de 24 pages. La prose est franchement ampoulée et très ciblée « DSI ». On navigue plutôt à haute altitude dans des généralités et hélas cela donne le ton du livre. Le chapitre se résume à dire que le SI de l’entreprise est guidé par 3 axes : métier, stratégie de l’entreprise, stratégie DSI (i.e. technique).

Continuer à lire « Note de lecture : Convaincre pour urbaniser le SI, par Jean-Christophe Bonne & Aldo Maddaloni »

Note de lecture : Building Web Applications with UML 2nd edition, par Jim Conallen

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.

Continuer à lire « Note de lecture : Building Web Applications with UML 2nd edition, par Jim Conallen »

Note de lecture : The Java Developer’s Guide to Eclipse, 2nd edition, par Jim D’Anjou, Scott Fairbrother, Dan Kehn, John Kellerman & Pat McCarthy

Note : 6 ; De l’Eclipse au kilo !

Voici un pavé, du vrai, du gros, du 1000 pages ! Ce gros pavé, justement, se veut la bible du développement avec et pour Eclipse. Honnêtement, cet ouvrage semble venir d’un autre temps, celui où l’on payait les livres au kilo ! Celui-ci n’est plus tout neuf, mais il me semble que même à cette époque cette tendance s’estompait. Et plus encore chez Addison Wesley. Le livre compte 34 chapitres et je n’ai franchement pas l’envie de tous les passer en revue. Heureusement, ceux-ci sont regroupés en 6 parties, ce qui rend plus huain le survol du texte.

La première partie couvre près de 200 pages et est consacrée à l’utilisation d’Eclipse. Les 6 chapitres qui la compose noircissent beaucoup de papier pour dire en grande partie ce que l’on sait ou a déjà deviné. Il y a bien quelques informations à grapillé dans les coins, mais c’est majoritairement un gâchis de temps et d’espace.

La seconde partie est consacrée aux fondamentaux de l’extensibilité d’Eclipse. Le but ici est de comprendre les points d’extensions, les notions de base des frameworks fondamentaux (SWT, JFace) et d’être en mesure de créer un plugin. On en prends pour 130 pages et 7 chapitres, et c’est curieusement plus intéressant et plus instructif que la première partie.

Continuer à lire « Note de lecture : The Java Developer’s Guide to Eclipse, 2nd edition, par Jim D’Anjou, Scott Fairbrother, Dan Kehn, John Kellerman & Pat McCarthy »

Note de lecture : Applied C++, par Philip Romanik & Amy Muntz

Note: 4 ; Tutorial pour C++

A l’origine, j’avais classé cet ouvrage dans la partie « C++ avancé », à l’image de la plupart des ouvrages de cette série. Toutefois, au final cet ouvrage s’adresse d’avantage aux développeurs peu expérimentés, ce qui justifie ce classement.

Le livre compte un peu plus de 300 pages et presque 20 pour les annexes. Il n’est découpé qu’en 8 chapitres. Passons rapidement sur l’introduction de 7 pages nous dispensant quelques rudiments de traitement d’image et de principes de conception de système. Le second chapitre est à peine plus long avec 11 pages. Mais on commence à écrire quelques classes simples et à aborder les conseils proposés par les auteurs, essentiellement concernant les questions de constructeur, destructeur et opérateur d’affectation.

Les choses sérieuses commencent au chapitre 3 qui comprend 48 pages. On commence par une idée curieuse : réécrire l’allocation mémoire ! Rapidement, on y mélange beaucoup d’aspects : les templates, les destructeurs virtuels, etc… Difficile de s’y retrouver. On finit même par perdre de vue l’étude de cas !

Continuer à lire « Note de lecture : Applied C++, par Philip Romanik & Amy Muntz »

Note de lecture : Activity in Action, par Tijs Rademakers

Note : 7 ; Un bon ouvrage au standard « in action » pour accompagner une immersion dans Activity, malgré quelques frustrations.

Activity, c’est le « spin off » de JBPM par ses créateurs. Mais, ainsi qu’il est expliqué en introduction, ce n’est pas un fork mais une réécriture complète, avec les choix de conception que l’équipe aurait voulu prendre à l’époque !

Mais revenons au livre. L’auteur est un des comiters principaux du projet, ce n’est pas non plus un auteur débutant. Tout ce présente donc sous les meilleurs auspices pour commencer. La prose est conséquente : 400 pages sur 15 chapitres distribués en 4 parties inégales. Il est temps de rentrer plus en profondeur.

Les quelques 80 pages de la première partie regroupent 4 chapitres et sont une introduction à BPMN 2.0 et Activity. On commence par une présentation générale d’activity, de son architecture et l’incontournable « hello world » précédé d’une installation basique. C’est réussi. Le chapitre suivant a pour but de nous présenter BPMN 2.0. C’est fait avec pédagogie et bien illustré, mais aussi assez superficiel et on sort de là un peu frustré. La présentation de l’outillage Activity est un peu touffue, probablement parce que cet environnement l’est aussi un peu : il manque d’homogénéité et est un peu de pièces rapportées. Espérons que cela s’améliore à l’avenir.

Continuer à lire « Note de lecture : Activity in Action, par Tijs Rademakers »

Note de lecture : Specification by Example, par Gojko Adzic

Note : 8 ; La référence sur le développement guidé par les tests. Book of the year 2014 !

Régulièrement, je retarde le moment d’ouvrir un livre que je sais excellent (de réputation) et qui prend la poussière sur une de mes étagères. Ce livre est de ceux-là ! Bien que Manning nous gratifie de temps en temps de titres non-techniques, il est assez étonnant de trouver celui-ci chez cet éditeur, probablement parce que ce n’est pas un livre pour remplir un vide thématique.

Il s’agit bel et bien d’un texte nous proposant un regard novateur sur les tests d’acceptance, même si l’auteur rappelle régulièrement au fil des pages qu’il fait suite à son ouvrage précédent « The Communication Gap ». Ce n’est pas non plus un livre très facile à lire, non qu’il soit volumineux car il ne compte que 250 pages, mais il s’appuie essentiellement sur de nombreux témoignages qui transforment le fil conducteur en une sorte de patchwork. Evidemment, ces nombreux témoignages qui sont autant de cas d’étude font beaucoup pour la crédibilité du texte qui est ainsi à la fois un travail digne d’un universitaire et l’œuvre d’un praticien de terrain. Venons-en au contenu.

L’ouvrage se découpe en 3 parties inégales. La première d’entre-elles ne compte que 60 pages réparties en 4 chapitres. Le premier chapitre nous laisse un peu dans le flou, il s’agit surtout d’un argumentaire étayé de témoignages sur la raison de s’intéresser à la spécification par l’exemple. On rentre dans le dur au chapitre suivant qui aborde la manière dont Gojko Adzic voit s’articuler le besoin depuis les « business goals » jusqu’à la « documentation vivante ». Les aspects amont sont par ailleurs l’objet de son ouvrage suivant « impact mapping ». On y apprend incidemment pourquoi l’auteur préfère « spécification par l’exemple » à « développement guidé par les tests d’acceptance ». Un chapitre à ne rater sous aucun prétexte ! Le chapitre 3 « living documentation » offre pour moi peu d’intérêt, sauf peut-être celui de couvrir le schéma de processus que l’auteur nous a exposé au chapitre 2 ? La spécification par l’exemple ne se veut pas une pratique spécifique aux projets agile, bien que ce soit un terrain de jeu naturel. Au chapitre 4, l’auteur aborde différentes façon de basculer d’un projet classique à l’écriture des tests en amont sous forme de patterns (bien qu’ils n’en empruntent malheureusement pas la forme).

Continuer à lire « Note de lecture : Specification by Example, par Gojko Adzic »

Note de lecture : iWOZ, par Steve Wozniak avec Gina Smith

Note : 5 ; Mémoires d’un ingénieur.

Bien sûr, ce livre est un peu le contrepoint de la biographie de Steve Jobs. Comprendre la naissance d’Apple, c’est comprendre aussi la relation entre ces deux hommes, tout comme comprendre les Beatles, c’est (en partie) comprendre la relation entre McCartney et Lennon ! D’une certaine manière la façon dont chaque biographie est faite est elle-même symptomatique : Steve Jobs a choisi le meilleur biographe afin d’obtenir un ouvrage définitif et mémorable. Steve Wozniak a choisi l’autobiographie, plus modeste mais projetant son propre point de vue sur cette aventure.

Le début du livre, celui où l’on croise Woz enfant, puis adolescent peut nous laisser penser que le personnage est particulièrement prétentieux ! Ces 4 ou 5 premiers chapitres nous permettent non seulement de découvrir le jeune Wozniak, mais aussi de découvrir l’aspect « ingénieur » de Woz : ce qui semble de la vantardise ne l’est pas, il s’agit simplement d’une règle d’analyse objective qui fait partie intégrante de son attitude d’ingénieur.

Un autre sujet revient aussi régulièrement au long de l’ouvrage, un aspect moins connu de la personnalité du co-fondateur d’Apple : le plaisantin. J’avais trouvé la chose évoquée par ailleurs, mais Woz est littéralement prêt à tout pour une bonne blague, même dans les moments les plus importants ou les plus dramatiques !

Continuer à lire « Note de lecture : iWOZ, par Steve Wozniak avec Gina Smith »

Note de lecture : The Definitive Guide to SWT and JFace, par Rob Warner & Robert Harris

Note : 3 ; Quand même un peu mieux que la Javadoc. Mais pas tellement plus…

Voilà un pavé à 800 pages qui fleure bon le livre de commande. Pourtant le périmètre de l’ouvrage est volontairement limité aux frameworks de base d’Eclipse : SWT et JFace. On ne parle pas de développer des plugins et encore moins une application RCP. Aucunement question de s’appuyer sur les points d’extension du Workbench ni autre plaisanterie du même acabit… Voyons comment on en arrive là.

Le livre est découpé en deux parties (trois en fait) de taille inégales :
La première partie « Getting Ready » couvre le setup de votre projet applicatif au bout de 2 chapitres. Cela dit, on ne s’étale pas et c’est bouclé en 25 pages en tout.

Dès la seconde partie, on passe aux choses sérieuses avec SWT. En fait, c’est le gros du bouquin : 10 chapitre sur un peu plus de 500 pages. Tout est abordé de façon logique et je dirais même classique. On se rend vite compte qu’il y a principalement 3 choses que noircissent la papier : de grosses copies d’écran, des listing de codes un peu trop extensifs et une reformulation de la javadoc ! C’est un peu dommage, car les explications qu’il y a entre sont plutôt claires.

Continuer à lire « Note de lecture : The Definitive Guide to SWT and JFace, par Rob Warner & Robert Harris »

Note de lecture : Loosely Coupled, par Doug Kaye

Note: 7 ; Du Web Service à l’ESB

Tout d’abord une précision: si vous cherchez un ouvrage sur la mise en oeuvre technique des Web Services, ce n’est pas le bon livre. Cela dit, il en existe plein et celui-ci viendra en complément, car ce livre ne traite pas de mise en œuvre technique, mais d’aspect architecturaux liés à l’utilisation des Web Services dans un contexte SOA. Les grandes questions que pose cet ouvrage sont : comment puis-je utiliser les Web Services pour effectuer l’intégration de systèmes ? Quels sont les briques technologiques qui manquent et comment les compenser ? Bien sûr, ayant lu ce livre presque 5 ans après sa parution, j’en ai raté l’approche novatrice en bonne partie car ce sont ni plus ni moins que les bases de l’ESB que l’auteur pose ici ! Mais même en arrivant après la bataille, le texte éclaire l’approche Web Service proposée ici (attachement + couplage faible + asynchronisme) qui a été emmprunté par l’ESB et peut nous permettre de mieux exploiter ceux-ci correctement. Allons voir plus en détail le contenu des 320 pages de l’ouvrage.

Le livre est intelligemment découpés en 20 chapitres dont la longueur varie de 10 à 25 pages. Le format du livre étant également plus petit qu’à l’accoutumée, chaque chapitre se lit donc aisément, ce qui est une bonne chose.

La première partie, intitulée « perspectives » est composée de 5 chapitres. Elle campe les besoins d’infrastructures d’une architecture d’intégration de services, d’abord en rappelant l’historique au chapitre 1 (Corba, COM, DCE, EAI, etc…), ce qui est synthétique et bien fait. Ensuite le chapitre 2 met en perspective les Web Services avec les technologies vues précédemment et les avantages relatifs de cette technologie. Le chapitre 3 nous projette dans l’extrapolation, l’évolution des technologies « en devenir » et des « mainstream » pour stigmatiser l’importance des Web Services. Les chapitres 4 et 5 sont complémentaires et servent de charnière pour le reste du livre : que manque-t-il à la technologie Web Services pour être une pièce maîtrise du SOA et de l’intégration de services.

Aux 58 pages de cette première partie succède une seconde partie longue de 82 pages et intitulée « concepts ». les 5 chapitres qui la compose détaillent les paradigmes que l’auteur juge importants par rapport au SOA. Le chapitre 6 développe la volet intégration et poursuit une discussion commencée au chapitre 2. Les chapitres 7 et 8 nous aident à comprendre les corollaires d’une architecture d’intégration basée sur les Web Services et pourquoi le style orienté document doit être favorisé par rapport au style RPC. Les chapitres 8 et 9 sont dédiés à l’architecture asynchrone et pourquoi ce style doit être favorisé en intégration de services.

La troisième partie « technologies » est consacrée … eh bien au volet technologique ! Ce sont de nouveau 5 chapitres et 90 pages qui sont dédiés à cette avant-dernière partie. Le volet « sécurité » s’y taille la part du lion, avec 2 chapitres et 46 pages. Le premier chapitres met en évidence les besoins (intégrité, authentification, non-répudiation, etc…) rien de bien original mais fort bien expliqué. Le second chapitre propose des solutions, bien que celles-ci soient souvent, disons originales (comme le XML firewall). Un chapitre est consacré aux transactions et plus précisément aux transactions applicatives. La surcouche orchestration n’est évoquée que brièvement car elle sort du cadre de cet ouvrage, tout comme l’aspect déploiement qui est traité assez légèrement.

La dernière partie « stratégie » interpelle les managers. Quid de la qualité de service (chapitre 16) ? Qu’en est-il des SLA et de l’externalisation de services (chapitres 19 et 20). Enfin la gestion de projets d’intégration est traitée aux chapitres 17 et 18.

Bref, voilà un ouvrage qui vaut le détour. Il n’est pas purement technique et ne vous apprendra pas à développer ou utiliser des Web Services mais donne des clés pour créer une architecture intelligente basée sur cette technologie.

image

Référence complète : Loosely Coupled, the missing pieces of web services – Doug Kaye – RDS press 2003 – ISBN : 1-881378-24-1 ; EAN : 9 781881 378242

Loosely Coupled: The Missing Pieces of Web Services

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

Note de lecture : Deal with It, par Gavin Davies

Note 6 ; L’attitude avant l’aptitude et l’hygiène de vie du développeur

Ce livre est plutôt un « mini livre » car il ne totalise que 60 pages ! Cet essai se lit donc rapidement, il m’a pris moins de 2 heures. Car non seulement le nombre de pages est compté mais il n’est constitué que d’articles (qui ressemblent plutôt à des blog post qui tiennent tous sur une page, titre compris ! Et encore, on parle là d’une page pas bien grande.

C’est aussi la qualité de cet opuscule car il s’agit là en fait d’une contrainte de taille que s’est donné l’auteur lui-même. Chaque sujet devant alors être exposé avec le maximum d’efficacité. Une sorte de « lean » de l’écriture, si on veut bien.
Intéressons-nous maintenant au contenu. Ce mini-livre est découpé en 5 parties.

La première partie « overall attitude » regroupe 11 essais. L’auteur développe ici les question d’état d’esprit : être courageux, ne pas avoir honte de son ignorance, être curieux et savoir chercher, etc…

La seconde partie « tools, learning et techniques » concerne plus un savoir « tactique pour faire face aux différentes situations. On y parle tests, déploiement et … lire des livres ! Par exemple… Ce sont 13 essais qui forment cette partie

La troisième partie « wisdom for the Long Haul » comporte 7 essais. Il évoque les questions de relations entre personnes et d’hygiène de vie. En fait : comment tenir la distance !

La quatrième partie « communication is key » comporte juste 7 essais. Zut, justement un des essais nous apprend à ne pas utiliser le mot « juste » ! On y évoque la documentation, les emails et les relations entre les managers, mais finalement peu de choses sur les relations entre collègues. Donc c’est un peu décevant.

La cinquième partie « closing advices » ne compte que 5 essais. C’est un peu dans le style « allez en paix ».

L’auteur m’avait prévenu : je ne serais pas d’accord avec tout et ce serait même curieux que je le sois. Cela a bien été le cas, mais j’avoue être en accord avec une grande partie de ses positions. Ce livre s’adresse sans ambiguïté aux développeurs. Et pourtant, l’auteur focalise son propos sur les « savoir être » plutôt que sur les « savoir faire » ! A ce titre, il me rappelle un peu le « pragmatic programmeur » d’Andrew Hunt et Dave Thomas. Rappel justifié, car l’auteur y fait référence vers la fin de son texte.

Au final, il ne s’agit pas d’une lecture indispensable. Elle est juste intéressante : la concision de l’expression de l’auteur et la rapidité avec laquelle on avale le texte sont des plus. Je la classerais en lecture d’agrément en sus de textes plus solides tels que le Pragmatic Programmer suscité, ou encore les Clean Code / Clean Coder de Robert Martin et quelques autres.

image

Référence complète : Deal with It, attitude for coders – Gavin Davies – Leanpub 2012

Deal With It Attitude for Coders

https://www.goodreads.com/book/add_to_books_widget_frame/16190992?atmb_widget%5Bbutton%5D=atmb_widget_1.png