vendredi 18 décembre 2009

La boucle est bouclée

Il y 40 ans, à l'age d'or des mainframes (les jeunes ingénieurs ne savent même pas ce que cela veut dire), les applications sont toutes centralisées sur une machine unique. On y accéde depuis un terminal banalisé.
L'ensemble des fonctionnalités, des droits d'accès, les mécanismes de getion des transactions sont fournies par le serveur "mainframe".

Puis les PCs apparaissent, suivis par une interface graphique plus ou moins ergonomique, mais avec des couleurs, ce qui plait beaucoup aux utilisateurs qui veulent en profiter pour leurs applications quotidiennes.
Un énorme chantier d'environ 10 ans se déroule alors, permettant de redévelopper l'ensemble du parc applicatif des entreprises dans des environnements dits de "nouvelle technologie".
C'est d'abord l'avènement du "client/serveur" (outillé petit à petit par des outils "L4G" tels que PowerBuilder et les premièrs versions de Microsoft VB). Ce qui se traduit par l'éclatement de l'intelligence des logiciels sur les postes des utilisateurs et de multiples serveurs de bases de données.
Ce premier modèle étant ruineux en termes de déploiement et de coûts de maintenance, vient le règne des premiers outils "multi-tiers", ancêtres du fameux modèle MVC (Model - View - Controller). Les outils Natstar et Forté, déjà équipés de frameworks, sont les plus productifs que l'industrie du logiciel ait connu. On commence à rappatrier l'intelligence des logiciels sur les serveurs.

Puis Sun a la bonne idée de concevoir Java, une architecture multi plate-forme, censer unifier les développements. On fait un bond de 10 ans en arrière en termes de productivité des développements.
Microsoft prend le train en marche et construit son architecture .Net.
On jette donc à la poubelle le parc applicatif et on le redéveloppe, ce qui prend encore environ 10 ans.

Pendant ce temps, internet monte en puissance et le système d'information des entreprises s'ouvre de plus ne plus vers l'extérieur : partenaires, fournisseurs, clients et grand public.
On commence par bricoler des couches web par dessus les architectures existantes, on fait évoluer tant bien que mal HTML (+ CSS + Javascript) pour essayer d'être le plus proche possible des interfaces "riches" (en bugs ?).
Les navigateurs internet (les terminaux de demain) se font la guerre et Microsoft fait de la résistance face à la standardisation des technologies Web.
Adobe en profite pour faire évoluer son plugin Flash et en faire un outil (une plate-forme ?) de développement web.

Coté serveurs, on les virtualise pour essayer de diminuer leur coût et maîtriser leur multiplication. On commence sérieusement à envisager d'externaliser les logiciels de l'entreprise sur le web, dans une sorte de nébuleuse : le "cloud". Ces fameux clouds (privés ou publics) se traduisent par des nuées de serveurs. Les applications s'affichent dans les navigateurs sur nos PCs, laptops, netbooks, smartphones et autres smartbooks.
Google est le visionnaire actuel et le moteur de ces nouvelles architectures.

On peut imaginer que le chantier des 10 prochaines années va être de migrer les applications des entreprises vers un mode web natif.
Les applications qui n'ont pas été conçues selon le modèle MVC (Model - View - Controller) sont condamnées à plus ou moins long terme à être jetées à la poubelle et redéveloppées pour supporter ce nouveau mode de déploiement (rapide) et d'utilisation (massive).

Si on résume :
  • Années 1970 - 1980 : mainframes
    1 serveur - des terminaux
  • Années 1990 : "nouvelles technologies"
    des serveurs - des PCs
  • Années 2000 : Java / .Net / Internet
    des serveurs - des PCs - des navigateurs
  • Années 2010 : Web
    le cloud (boite noire qui remplace le mainframe d'antan) et des navigateurs (nos nouveaux terminaux)

On a donc bouclé la boucle.
L'histoire ne s'arrétant pas dans 10 ans, je vous laisse imaginer la suite ....

Aucun commentaire:

Enregistrer un commentaire