Skip to content

Étiquette : agilité

Vers une nouvelle architecture?

Posted in tendances

L’objet de ce billet est d’évoquer certaines évolutions récentes des architectures informatiques qui me paraissent assez structurantes. Ces évolutions sont issues d’acteurs innovants qui ne pratiquent pas la course à la puissance et envisagent des plateformes techniques en rupture. Elles devraient intéresser les entreprises qui réfléchissent sur l’évolution de leur Système d’Information.
(Attention : ce billet est assez technique)

Nouvelles architectures serveurs

Comme je l’ai évoqué dans mon dernier livre, les acteurs du cloud computing gèrent des datacenters de grande envergure avec des approches assez spécifiques :

  • Une panne machine est considérée comme un évènement normal et quotidien et il est géré de manière automatique
  • Les données sont répliquées en continu sur plusieurs continents.

De fait, leur approche architecturale est atypique et ils respectent un principe appelé le théorème de CAP. CAP signifie Consistency, Availability and Partition-Tolerant, c’est à dire consistance, disponibilité et tolérance aux pannes.

Le théorème dit la chose suivante : « dans une architecture distribuée de grand envergure, il n’est possible d’assurer que deux des trois propriétés CAP ». Les datacenters du cloud computing peuvent donc assurer la haute disponibilité et la tolérance aux pannes, mais pas la consistance des données. Résumé en 2 mots, cela signifie que ces architectures ne sont pas transactionnelles, et qu’elles remettent en cause les vieux principes du « Two-phase commit. »

Par ailleurs, pour des raisons de performance, leurs bases de données sont souvent éclatées sur plusieurs serveurs, et structurées de manière non relationnelle. Elles remettent dont en cause les principes de normalisation de Merise.

Enfin, toujours pour des raisons de performance, elles mettent l’accent sur l’exécution en mode asynchrone, au travers de queues de messages simplifiées.

Nouvelles architectures de postes de travail

Côté utilisateur, le cas de l’iPhone me paraît très intéressant car c’est le premier système moderne à interdire le multitâche. Cette approche est très en rupture avec les évolutions classiques de l’informatique. Elle privilégie la fluidité de l’expérience utilisateur sur la sophistication technique que l’on peut trouver dans les dernières versions de Windows.
Dans le même ordre d’idée, je pense aux netbooks exécutant des systèmes simplifiés basés sur Linux comme Moblin ou JoliCloud (cf. ce billet de Fred Cavazza). Ces systèmes me paraissent très pertinent pour des besoins de simple navigation sur le Web.

Enfin, les navigateurs de dernière génération comme Firefox ou Chrome ont réécrit leurs moteurs JavaScript pour offrir une expérience utilisateur très fluide dans un environnement technologique assez frustre : les pages Web.

En conclusion ?

Je terminerai en disant que nous sommes face à un changement de paradigme.

Ces nouvelles architectures remettent en cause des principes souvent considérés comme gravé dans le marbre par les architectes IT.
Cette nouvelle approche privilégie le pragmatisme et la fluidité de l’expérience utilisateur sur le « plaisir intellectuel d’une belle architecture« .

Qu’en pensez vous?

.NET va-t-il rattraper JEE ?

Posted in tendances

La version finale du framework .NET 3.0 est sortie tout récemment. Elle apporte un lot de nouveautés tout à fait remarquables :

C’est l’occasion de faire un point sur la pénétration de .NET dans les entreprises françaises.
Pendant longtemps chez SQLI, la proportion de projet de développement était de l’ordre de 60% de projets en Java, 20% de projets .NET, et 20% de projets Open Source (principalement PHP).
La proportion de projets .NET suit une croissance constante depuis 1 à 2 ans aux dépends des projets JEE, chez SQLI comme chez les autres sociétés de services, à tel point que les compétences .NET commencent à manquer sur le marché. Microsoft a d’ailleurs constitué un centre de formation en France pour résorber cette carence.

Les raisons de la montée en puissance de .NET semblent être les suivantes :

  • La technologie Microsoft a su tirer parti des erreurs de JEE : elle est plus simple à prendre, plus pragmatique. Par exemple, JEE s’est longuement embourbé dans les problématiques de persistance avec les EJB 1 et 2. On peut aussi citer la complexité de prise en main de Java Cryptographic Extension avec les notions de providers JCE. .NET adopte une approche plus simple avec laquelle on évite des abstractions pas toujours indispensables. .NET semble ainsi bénéficier de toute la force de l’objet sans la complexité de la norme JEE.
  • L’ergonomie et la productivité de Visual Studio sont reconnues par tous : des études indépendantes ont montré un gain de productivité de 15%
  • Avec .NET, de nombreux besoins sont adressés par une solution simple et clairement identifiée : par exemple, un Client Riche .NET se développe avec des Winforms, là ou le développeur Java devra faire son choix parmi les offres AWT, SWING, RCP et JDNC. La complexité de l’écosystème des frameworks JEE est parfois excessive pour adresser des besoins simples.
  • Les interfaces Client Riche .NET restent plus stables que sous Java

Il existe actuellement un regain d’intérêt autour des méthodes de programmation agiles comme l’Extreme Programming. Cette tendance a fait naitre de nouveaux langages extrêmement productifs comme Ruby On Rails. Il semble que .NET soit aujourd’hui plus en phase avec cette tendance que JEE.

Le monde Java est tout à fait conscient de ses lourdeurs et des progrès sont en cours, en particulier sur la simplification des EJB ou sur la performance des interfaces riches.

Mais, il est difficile de concilier la complexité de la norme JEE, la richesse de son écosystème avec un objectif d’agilité.
Néanmoins, des initiatives récentes vont dans la bonne direction: chez SQLI, nous nous intéressons tout particulièrement à Groovy un langage agile capable de s’exécuter sur une plate-forme Java.

Malgré tout, le poids de JEE devrais lui faire perdre des parts de marché face aux innovations du monde Microsoft d’ici la fin de la décennie.

Qu’en pensez-vous ?