mercredi, novembre 21, 2012

Devoxx 2012 : Versionner son service dans une architecture SOA et/ou Cloud

0 commentaires
Ça y est... Devoxx est fini... :'(
Comme je l'ai dit dans un article précédent, je ne ferai pas de compte-rendu exhaustif de présentations auxquelles j'ai pu assisté à Devoxx.

Cependant, je tenais à revenir sur la présentation "Service Versioning in SOA and Cloud" par Ignaz Wanders (@ignazw) dont le synopsis était :

Keeping versioning under control is essential in the success of a SOA. However, there are no industry standards for service versioning, thus leaving the responsibility of implementing a service versioning system up to the architects and developers within the IT enterprise.

We often see design-type versioning, resulting in Big Bang governance strategies. A runtime versioning strategy may be, in fact, be preferable.

Every change must be built, and every change must be governed. A "cheap" build may lead to a large governance impact. But conversely, a small governance cost may lead to a large build impact. Both build and governance costs need to be taken into account and carefully balanced when choosing and implementing a service versioning strategy.

Dans cet article, je me contenterai de montrer quelques-uns des slides de la présentation de Ignaz Wanders qui définissent et synthétisent très bien les différentes stratégies possibles en partant de comment numéroter ses services pour arriver à une proposition qu'il aimerait avoir du coté du consortium OASIS avec un WS-Versioning. Les slides étant suffisant en eux-mêmes et n'ayant pas envie de répéter/déformer leur contenu, je ne mettrai donc que les photos prises pendant la conférence...

D'ailleurs, une version pdf dont le contenu est similaire (identique?) est accessible ici.

Enjoy! ;-)

lundi, novembre 19, 2012

Devoxx 2012 : c'est fini...

0 commentaires
Ça y est... Devoxx est fini... :'(

Pour ceux qui ne le sauraient pas encore, Devoxx est L’évènement à ne pas manquer.

Pour faire court, Devoxx est une conférence Java indépendante qui en est à sa 11ième édition et qui a lieu à Anvers (Belgique). Elle a également fait récemment de nombreux petits avec Devoxx France qui en est à sa 2ième édition et qui aura lieu cette année du 27 au 29 mars 2013 à Paris mais également avec le petit nouveau : Devoxx UK (du 25 au 26 mars 2013 à Londres).

Elle a regroupé cette année prêt de 3400 participants venant de tous les pays dont environ 200 français.

mardi, novembre 06, 2012

Indépendance, me voici ;-)

3 commentaires
Une fois n'est pas coutume (quoique...)... cet article ne sert à rien... mais a juste pour objectif d'annoncer que je quitte la société de service que j'ai rejoint il y a déjà 3 ans pour me lancer dans le vaste monde de l'indépendance...

lundi, novembre 05, 2012

Précompiler ses jsp

0 commentaires
Parce qu'il est parfois nécessaire de valider ses jsp, cet article fera un petit retour sur comment cela peut être mis en oeuvre.

Oui, je sais, les jsp c'est has been me diront certains... Cependant, il ne faut pas oublier que dans le monde Java, cela reste une des technologies indispensables quelle que soit le framework utilisé (j'entends par là dans le cas où les pages sont rendus dynamiquement par une technologie java).

Ayant eu récemment à intégrer une phase de validation des jsp maintenus principalement par des équipes "front" n'ayant que peu de connaissance en Java, ce rapide retour d'expérience tentera d'exposer les quelques points qui ont pu me poser problème et en l'occurrence les quelques-unes des différentes solutions possibles pour traiter ce point.


Aussi, dans une première partie, je présenterai le contexte, pour ensuite aborder trois des solutions possibles (et relativement récentes car il en existe plusieurs dans différentes versions...) pour valider les jsp.

mercredi, octobre 17, 2012

Test de charge : mode d'emploi

1 commentaires
Au cours de la vie d'un projet, il est courant d'avoir recours à des tests de charge.

Cependant, je me suis rendu compte que, trop souvent, le sujet est mal maîtrisé et donc malheureusement mal traité.

En effet, combien de fois n'ai-je pas vu un test de charge effectué avec la méthodologie "clic clic partout", l'utilisation de Selenium, la commande curl, ou, dans le meilleur des cas, avec quelques scénarii JMeter issus de l'utilisation du recorder de ce dernier.

Cela ayant la facheuse tendance à m'énerver (pour ceux qui me connaisse, cela se traduit par une certaine agitation de ma part consistant à me mettre à tourner sur la chaise en regardant le plafond ;-) ), je vais tenter dans cet article de redéfinir certains des concepts qui me semblent primordiaux pour effectuer un test de charge qui se veut un minimum bien conçu, c'est à dire se voulant représentatif de la charge réelle que peut supporter le SUT (System Under Test) mais surtout qui permettra d'obtenir des métriques exploitables et représentatives du comportement du SUT.

mardi, août 28, 2012

Découpage de projets : projet vs. modules

0 commentaires
Lorsqu'un projet débute, il est important (à mon avis) de se poser la question sur la façon dont celui-ci sera découpé. Pour être plus précis, il existe deux types d'approches :
  • le découper fonctionnellement,
  • le découper techniquement.
En outre, en plus de ce type de découpage, il est également important de s'interroger sur la façon dont il sera représenté dans le SCM : faut-il tout mettre dans le même projet (au sens SVN ou git du terme) en utilisant éventuellement des sous modules maven si c'est ce dernier qui est utilisé, ou faut-il en créer plusieurs?

C'est de ce dernier point dont il sera question dans ce court article qui présentera l'avis que j'ai pu me faire concernant le découpage technique du projet ie. s'il vaut mieux le découper en projets séparés ou en module (au sens maven du terme).

lundi, août 13, 2012

Maven : créer une branche - Mode d'emploi

0 commentaires
Il y a un moment déjà, j'avais fait un article sur le plugin release oh combien pratique dans notre utilisation de maven. J'y avais mentionné les 2 goals prepare et perform qui sont les plus connus et qui, pour rappel, permettent de :
  • vérifier que lors du lancement du processus de génération du livrable, le code est bien conforme à ce qui se trouve sur le SCM,
  • tagger le code source à partir duquel le livrable est produit et permettant ainsi sa reproductivité,
  • incrémenter le numéro de version des poms,
  • générer le livrable,
  • et le déployer sur le remote proxy repository.
Dans cet article, je me concentrerai sur un goal du plugin release malheureusement assez méconnu mais qui est tout aussi pratique et important (à mon sens) que ses 2 comparses prepare et perform. Il s'agit du plugin branch.

mardi, mai 22, 2012

Devoxx 2012 - ElasticSearch : moteur de recherche NoSQL/REST/JSON taillé pour le cloud

0 commentaires
Pour ceux qui l'aurait loupé, du 18 au 20 avril 2012 dernier a eu lieu la toute première édition de Devoxx France.

L'annonce avait été faite pendant la dernière édition de Devoxx "l'originale" à Anvers en Belgique qui fêtait pour l'occasion ses 10 ans.

Ayant eu l'opportunité d'y assister (chose que je conseille vivement à tous les développeurs), j'ai écrit un petit compte rendu d'une des moultes conférences qui m'ont marquées aussi bien par sa qualité scénique que par son contenu.


Cette conférence était une présentation d'ElasticSearch faite par David Pilato (@dadoonet) qui a, alors, abordé les points suivants :
  • Définition d’un moteur de recherche
  • Concepts d’ElasticSearch
  • Utilisation d’ElasticSearch
  • Architecture d’ElasticSearch
Ce petit compte rendu a été écrit pour le compte du site developpez.com et peut se trouver ici.

Merci à Developpez.com et aux différents relecteurs!
Bonne lecture ;-)

    mardi, mars 13, 2012

    Petits retours sur Cassandra

    5 commentaires
    Suite à de nombreuses présentations de Cassandra (faites, entre autre, par Michaël Figuière) et à une opportunité de regarder plus précisément ce qui se cachait réellement derrière cette implémentation d'une solution de la famille des produits NoSQL orienté colonnes, je vais, dans cet article, tenter de décrire ce que j'ai aimé et ce que je n'ai pas aimé sur Apache Cassandra.
    Je tiens toutefois à préciser que je n'ai aucune expérience réelle sur le produit et que je ne m'appuierai donc que sur sa documentation officielle en version 1.0 qui date du 2 mars 2012.
    En outre, je ne m'attarderai que sur les points qui m'ont semblé intéressants et marquants.
    Pour ceux qui sont coutumiés de ce blog, je ne changerai pas mes habitudes et je me contenterai seulement de traduire de manière libre les passages qui m'ont intéressés ;-). A noter que de nombreux points sont rappelés à différents endroits dans ce document mais c'est également le cas dans la documentation officielle.

    mardi, février 28, 2012

    Petit focus sur 2 plugins Maven

    0 commentaires
    Bon, ça fait un moment que je n'ai rien écrit... je n'ai pas foncièrement d'excuses si ce n'est que j'ai été pas mal occupé sur un projet sur lequel j'essaierai de faire un petit retour dans un futur proche...

    En fait, dans ce rapide post, je tenais à faire partager 2 "petits" plugins maven que j'ai eu l'opportunité de découvrir récemment par le biais de 2 Olivier :
    Les deux plugins sont les suivants :
    En fait, je ne rentrerai pas en détail dans les 2 plugins Maven qui, pour un, est assez connu mais je me contenterai juste de décrire les fonctionnalités que j'ai appréciées.
    N'étant pas expert sur ces derniers et n'ayant pas creusé dans tous les paramétrages, j'espère que la présentation qui suit ne dira pas trop de bêtises... ;-)