Note de lecture : Java Beans : Guide du programmeur, par Robert Englander

Note : 6 ; Voyage tranquille au temps des Java Beans

Les Java Beans sont un sujet des premiers temps de Java, il en est devenu désuet. Alors que JEE était en train de promettre aux oubliettes ce fier modèle de composant, Spring lui aura offert une seconde jeunesse. Par un étrange trait du destin, c’est JEE qui se sera offert son ticket pour le musée d’archéologie !

Bien que le sujet soit assez basique, Robert Englander nous aura produit un ouvrage de 260 pages ! Celui-ci compte 10 chapitres que nous allons explorer. Le premier chapitre nous propose sur une dizaine de pages un tour d’horizon des propriétés des Java Beans, mais sans réellement rentrer dans ce qu’ils sont réellement. C’est assez superficiel. Beaucoup plus sérieux, le second chapitre explore en profondeur le modèle d’évènements des Java Beans. Passé de mode (et je suis gentil), ce chapitre est l’un des intérêts de ce texte vieux de plus de 20 ans. D’autant que le sujet est traité de manière exhaustive et avec pédagogie. Je regrette juste que ne soit pas adressé la représentation interne et le mécanisme de dispatching de ces évènements. Oh nostalgie, le chapitre se termine par AWT (paix à son âme) grand consommateur d’évènements Java Beans.

On continue sur le thème des évènements au chapitre 3, avec les adaptateurs d’évènements (qui sont en fait des listeners) et une pincée de réflexion pour rendre cela générique. Et toujours la déclinaison AWT en fin de chapitre. Eh oui, en 1997, c’était important. Le chapitre n’est pas grandiose, mais bien expliqué et bien illustré. Place aux propriétés au chapitre 4. Le chapitre est assez exhaustif sur la question, avec entre autres les évènements de changement de propriétés.

Lire la suite

Publicités

Note de lecture : Les JSP, par Eric Chaber

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.

Lire la suite

Note de lecture : Camel in Action, par Claus Ibsen & Jonathan Anstey

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.

Lire la suite

Note de lecture : From Java to Ruby, par Bruce Tate

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 :

  • Un langage à typage dynamique, dont la productivité est dcuplée par rapport à Java.
  • En lieu et place d’une profusion de frameworks, un petit nombre de frameworks très en vue, dont le vaisseau amiral : le très remarqué Ruby on Rails.
  • Une réponse simple aux problèmes les plus fréquents, au lieu d’une solution complexe et généraliste.

Lire la suite

Note de lecture : Effective Java 3rd edt., par Joshua Bloch

Note : 7 ; Grosse prise de poids et hélas moins digeste, mais toujours une référence.

A chaque nouvelle édition, le titre phare du langage Java prends un peu plus d’embonpoint. L’édition précédente avouait 315 pages pour 78 items, nous voici avec 366 pour 90 items ! Il est vrai que cette nouvelle édition était nécessaire et attendue, essentiellement pour couvrir les nouveautés de Java 8, mais Java 9 n’est pas en reste bien que les modules ne soient pas abordés.

La pertinence du propos reste de mise. Mais il s’agit bien d’une édition augmentée et mise à jour, à l’exception de l’item 73 de la seconde édition qui a disparu. Mise à jour, elle l’est indubitablement. Chaque item et chaque exemple de code a été scrupuleusement revu afin de prendre en compte les évolutions de la librairie standard et du langage, aussi minimes soient-elles. Augmentée, elle l’est aussi des items touchant essentiellement les lambdas et les streams.

Le premier chapitre (en fait le second, car je n’ai pas compté l’introduction) n’a que peu changé, à part un nouvel item sur l’injection de dépendance (en fait le RAII) qui illustre un focus renforcé sur l’immutabilité des objets. Aucune modification au chapitre 3, hormis les quelques rafraichissements qui mettent les exemples au goût du jour.

Lire la suite

Note de lecture : Kotlin in Action, par Dmitry Jemerov & Svetlana Isakova

Note : 5 ; Fait le boulot.

Kotlin est un langage de la JVM que je classe dans la catégorie des « better Java », aux côtés de Ceylon (qui hélas n’a pas encore d’ouvrage). Le parti-pris du langage est celui d’une très bonne intégration avec Java (le langage), la manière dont chaque concept se traduit et peut être utilisé de ce côté est un fil rouge du livre. Ce n’est pas celui qui m’intéresse le plus, mais c’est une fonctionnalité forte (et limitante) du langage, donc… L’autre parti-pris est de s’adosser à une version déjà ancienne de la JVM : Java 6, mais ce dernier point n’a pas d’influence sur le texte.

Il y a fort peu à dire de ce texte, ni en bien ni en mal. Il est plutôt sans surprise. Le texte est raisonnablement clair et les extraits de code font le boulot. D’un autre côté, pas de « waouh effect ». Avec 310 pages sur 11 chapitres regroupés en deux parties, on reste également dans le standard, bien que dans la partie haute.

La première partie « introducing Kotlin » compte 6 chapitres et couvre 170 pages. Le premier d’entre-eux se contente d’une quinzaine d’entre-elles. Il a pour but de faire le tour des caractéristiques principales du langage et de son positionnement. C’est bien écrit, mais on n’est en réalité pas tellement avancé. Par contraste, le chapitre 2 « Kotlin basics » et ses un peu plus de 25 pages font un bon boulot pour couvrir les bases du langage : déclaration de classes et de méthodes, les propriétés (et leurs petites particularités) ainsi que des structures de contrôle : boucles, switches, énumérations, etc. On couvre bien les base et c’est bien écrit.

Lire la suite

Middleware et Internet, par Daniel Serain

Note : 6 ; Une introduction en douceur, mais un texte malheureusement démodé !

1999, pour les technologies, c’est désormais l’ancien temps ! De fait, cet ouvrage ignore (pour des raisons d’ancienneté) les technologies EJB, .NET et web services ! Aussi regarderons-nous cet opuscule d’un oeil nostalgique.

Le premier chapitre donne une vue générale sur la problématique des middlewares, et aborde superficiellement Corba et COM.

Le second chapitre traite des middlewares d’échanges de messages. Si ce chapitre ignore JMS (là encore pour de bonnes raisons), il présente cependant une bonne introduction à cette technique, sans toutefois rentrer suffisemment dans les détails. Il en va un peu différemment pour le chapitre suivant consacré aux middlewares orientés RPC, où l’auteur détaille plus la cinématique de fonctionnement des RPCs. Il consacre même une partie importante du chapitre à DCE : si la chose est intéressante, elle est encore un peu plus démodée ! Le chapitre 4, qui lui fait directement suite traite de Corba lui-même, des invocations statiques et dynamiques, mais peu des services Corba.

Lire la suite

Note de lecture : Eclipse, par Steve Holzner

Note: 4 ; Un livre de commande, ni bon ni mauvais, mais qui date un peu!

Je profite de la période de noël pour vous asséner l’une de mes petites notes de lecture archéologiques ! Celle-ci date d’une bonne douzaine d’années, ne vous plaignez pas j’en ai de bien plus anciennes. Et que diable, il faut bien que je refourgue mes fonds de tiroir !

Il n’y a pas à dire : depuis quelques années, O’Reilly a perdu de sa superbe. Autrefois incontournables sur leurs sujets, nombre des titres de l’éditeur sont là pour occuper le terrain. C’est le cas de ce titre. De toute évidence, ce titre comble un trou dans le catalogue de l’éditeur. Mais voyons de quoi nous parlons.

Le livre est globalement divisé en 2 parties. La première présente l’IDE Java, tandis que la seconde expose le développement d’applications Java classiques, Web et plugins. La première partie est sans surprise, et l’on effectue le « tour du propriétaire » classique : fonctions de l’éditeur, debogage et profiling, réfactoring, gestion de projets avec Ant, gestion de versions avec CVS, etc… Le tout plus qu’abondamment illustrés de copies d’écran dont, si j’étais mauvaise langue, je dirais qu’elles sont là pour faire du volume. Au moins l’approche est didactique et ne requiert pas vraiment d’effort de la part du lecteur. On regrettera que l’auteur ne prenne aucun parti pris sur l’organisation du travail, des workspaces, etc.. Il se contente d’exposer (bien que clairement) les fonctions disponibles. Pas très inventif, tout ça.

La seconde partie expose en grande partie des éléments que l’on trouve ailleurs : développement d’applets ( !) et d’IHM avec Swing, ainsi que le développement d’applications Web « classiques » en JSP/Servlet, mais sans plugins avancés. La seconde moitié de cette seconde partie est plus spécifique à Eclipse avec SWT et les plugins. J’en conclus que cet assemblage un peu large a pour objet de mettre entre les mains du lecteur un ouvrage « tout en un » où l’on trouvera de quoi démarrer sur la plupart des sujets courants en Java.

Lire la suite

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.

Lire la suite

Waiting for the Storm…

Le Storm User Group, c’est une initiative de quelques collègues autour du « big data temps réel ». Aujourd’hui, nous parlons de Storm et quelques infrastructures qui peuvent s’y connecter. Demain, il s’agira peut-être de Spark ou d’autres…

Halte là ! Je vais peut-être un peu vite ? Et d’abord, Storm, qu’est-ce que c’est ? Voilà une question à laquelle une partie de cette première rencontre va être consacrée.

Oui, Storm, qu’est-ce que c’est ?

C’est Florian Hussonois qui va répondre à cette question. Nous pourrions résumer la chose en déclarant simplement qu’il s’agit d’un Hadoop « temps réel ». Il s’agit en quelque sorte d’un middleware permettant le traitement d’évènements en mode flux.

Un (petit) peu d’historique

Storm a été développé par Nathan Marz chez BackType en 2011. La société est rachetée ensuite par Twitter qui promeut le projet et le passe en Open-Source. La première release officielle date de 2011. En Septembre 2014, le projet devient officiellement « Apache Top Level Project » alors même qu’il n’a pas encore atteint la release 1.0 !

Ecrit principalement en Clojure et en Java, ce « processeur d’évènements » est conçu pour traiter un flux de très nombreux évènements (des tuples dans la terminologie Storm), à savoir 1 millions de tuples par seconde et par noeud (1 seul coeur processeur), avec tolérance aux fautes, gestion de la scalabilité et garantie de traitement !

image

Lire la suite