Tag Archives: architecture

TheServerSide VS InfoQ

Il m’arrive de faire passer des entretiens d’embauche, j’aime bien demander aux candidats quelles sont leurs sources d’information pour faire de la veille techno. 90% des candidats me citent theServerSide. C’est longtemps resté une référence dans le monde java, mais ça va longtemps que ce n’est plus qu’un nid à Trolls. Et je crois qu’ils viennent de franchement dépasser les bornes: allez un flu rss de moins à suivre.

La news qui m’a décidé:
“Tim Bray: Java is less scalable than PHP”

Un titre bien accrocheur, une citation lapidaire d’une personne connue,  un lien vers un blog qui contient 2 graphiques d’une présentation de Tim Bray où au dessus scaling php a une barre plus importante que java. Ajouter à celà un article qui met un peu d’huile sur le feu pour lancer la  polémique… Le résultat: une flamewar infernale et inintéressante dans les commentaires.

A l’opposé sur infoQ  Floyd Marinescu (ex-fondateur de TheServerSide) fait une vrai news avec la même information:

“Tim Bray compares intrinsic qualities of Java, Rails, PHP”

Pas de polémique, des faits et un lien vers la vraie source et une interview de Tim Bray lui-même avec l’essentiel:

Why is PHP more scalable than Java?

It isn’t, but in the Web-app space, it’s a little easier to scale (shared-nothing by default); Java requires you to think.

Et si vous allez directement sur le blog de Tim Bray il vous expliquera que la monté en charge n’est pas un problème de langage mais , encore une fois, d’architecture.
Si ce n’est pas encore fait, remplacez TheServerSide par infoQ.

Xml content management system

W. Eliot Kimber a consacré la majorité de sa carrière à la mise en place de systèmes de gestion/publication/édition de documents.

Dans la série de billets ci-dessous ils nous livre sa vision d’un système de gestion de contenu xml idéal. Si vous travaillez sur un tel système, c’est une véritable mine d’or. C’est une longue lecture, plutôt ardue, mais avec ce qu’il faut d’humour. Dans la citation ci-dessous remplacez “Innodata Isogen” par le nom de votre SSII et avouez que vous y avez déjà pensez plus d’une fois:

The last thing you want to have to do is call Innodata Isogen to help you figure out how to get your stuff into and out of the tool you’ve already bought. Not that we’re not happy to help but we’d rather not see you be in that position at all. We’d rather you hired us to quickly implement the exact functionality you need, cleanly and efficiently, rather than bang our heads against some product that resists all our efforts to bend it to our will. We like to have fun in our jobs too.

Et voici la liste non exhaustive des billets à lire…

XML Content Management: Where to Start?

XML Content Management the Dr. Macro Way: Simple Is Good

XCMTDMW: Characteristics of an XML CMS

XCMTDMW: Subversion Cooler Than Realized

XCMTDMW: XIRUSS Demonstration XML-Aware CMS

XCMTDMW: Characteristics of an XML CMS, Part 2

XCMTDMW: Why You Use A CMS

XCMTDMW: Re-Use and Not Really Re-Use

XCMTDMW: Import is Everything

XCMTDMW: Has it Really Been 11 Years?

XCMTDMW: Import is Everything, Part 2

XCMTDMW: Import is Everything, Part 3

XCMTDMW: Import is Everything, Part 4

XCMTDMW: Element to Element Linking: Overview

Multicouches et stacktrace

Voici ce qui effraient le plus les personnes qui débutent en java :

Java call stack – from HTTP upto JDBC as a picture

Pourtant si les exceptions et les logs sont correctement gérée, ça peut être très utile une stack trace.

Pour les exceptions:

– Une exception doit porter une information, le plus important c’est le message de l’exception, il doit être utile.
– Si on ne peut pas traiter une exception, l’encapsuler (pour ne pas perdre la stack) et la renvoyer à la couche du dessus.

– Mettre les exceptions techniques (la base est par terre il n’y a rien à faire) en RuntimeException.

Pour les logs

– Ne pas logguer 36 fois la même chose

– Se servir des différents niveau de logs: debug, warning, error…

Intégration SOA avec Google reader et SimplePie

La lecture de ce retour d’expérience m’a ouvert les yeux: SOA integration with Flickr and del.icio.us. Comme Mr Jourdain fait de la prose, je fais de la SOA sans le savoir avec ce blog!!

En effet, le comité de pilotage exécutif de ce site de gestion personnelle du savoir et de la connaissance a récemment décidé d’intégrer à cette application des informations à haute valeur ajouté en provenance de notre application d’agrégation de nouvelles. Cette évolution nous permet d’enrichir l’expérience utilisateur afin de créer de la valeur, de développer notre part de marché et d’asseoir notre position de leader dans notre secteur d’activité.

Cet article détaille le travail de nos équipes ayant permit de relever ce défi. Après 10800 secondes/homme d’effort, l’utilisation d’une architecture SOA on demand et d’outils innovants à la pointe de la technologie nous ont permit d’obtenir une qualité de service optimale pour un coût de gestion réduit. Le retour sur investissement a été immédiat avec une croissance de +50% de notre trafic.

Le défi a relever:
Dans l’optique de minimiser les coûts et d’assurer une qualité de service irréprochable l’ensemble de notre système d’information est outsourcé sur la plateforme mutualisé du leader de l’hébergement haute performance: textdrive. Afin de fournir à nos utilisateurs cette application de gestion personnelle du savoir et de la connaissance nous avons déployé l’application open source de gestion de contenu WordPress qui a été enrichie des extensions fournie par K2.

Dans un marché en pleine expansion nous avons sélectionné l’aggrégateur/lecteur de news le plus adapté à notre besoin: Google reader. Extrêmement bien positionné dans les quadrants magique du Gartnerr, la commercialisation gratuite de cette offre en mode ASP en a fait un choix incontournable.

Nous avons fait appel à une équipe de consultants experts pour faire apparaître dans notre application de gestion du savoir et de la connaissance des informations à haute valeur ajouté sélectionné dans notre lecteur de news.

La solution
Pour répondre aux attentes du marché nous nous sommes naturellement orienté vers une solution de type SOA. Suivant les best pratices de la profession un système intermédiaire d’intégration d’application a été mis en place pour faire communiquer les deux systèmes entre eux, ce choix permet d’atteindre les objectifs de couplage lâche de toute architecture SOA.
Nous avons sélectionné l’EAI de type ESB-lite: SimplePie. Bien qu’en bêta le produit de cette startup en forte croissance propose déjà des fonctionnalité de niveau entreprise et le support des tout derniers standards du W3C: ATOM, WS-HTTP et WS-BLOG.
SimplePie fournit “out of the box” l’ensemble des fonctionnalités requises pour l’intégration d’application dans les entreprises conçue pour répondre au changement. Dans le même temps SimplePie est facilement customizable pour s’adapter aux besoins spécifiques de chaque client.
La preuve par les faits: notre directeur de la publication a pu lui même customizer et paramétrer SimplePie pour réaliser l’intégration de googleReader dans WordPress comme vous pouvez le constater sur la droite dans la section: “Dernières lectures en direct”.
Dans un premier temps, en raison de l’afflu de visiteur, le site a connu quelques problèmes de performance. Heureusement grâce à notre un contrat de support on-site 24/7 +1 un expert a depuis chez lui et en caleçon pu activer une fonction tout a fait innovante de SimplePie permettant de régler ces problèmes de performance. Il s’agit de la fonction: “cache”. SimplePie est le premier produit du marché à implémenter cette technologie ultra sophistiqué issue des travaux du MIT.

L’utilisation de l’architecture SOA et de produits à la pointe de la technologie participent pleinement à la réalisation de nos objectifs et nous donne une longueur d’avance sur la concurrence.

Le futur:
Nous prévoyons aussi l’intégration d’image en provenance de Flickr. Mais le cas Labnotes nous a mis en garde concernant les difficultés relatives aux différente tailles d’images. Nous avons donc commandé une étude à notre réseau de partenaires/consultants à valeur ajouté. Ils ont immédiatement identifié une difficulté supplémentaire: les images peuvent nous parvenir en noir et blanc mais aussi en 256 couleurs, voir en plusieurs millier ou million de couleurs! Au moment où j’écris ces lignes, nos experts ont encore des doutent sur la capacité de notre solution initiale à supporter une telle monté en charge.