Contrer la pauvreté des interfaces HTML et les difficultés de déploiement et de mise à jour des clients lourds traditionnels, tels sont les objectifs de l'architecture à base de client riche, qui prend la relève du
client-serveur traditionnel dans les nouveaux développements. Un client riche - on parle également de
« smart client »
ou de
« rich internet
application »
- possède les mêmes qualités ergonomiques qu'un client lourd, tout en se déployant aussi facilement qu'une page web. Il répond aux besoins les plus avancés : utilisation de l'application en mode
déconnecté - dans le train, par exemple -, génération de graphiques à la volée, validation des entrées et calculs côté client, onglets, glisser/déplacer, mise à jour automatique en ligne, etc.
Les différentes technologies peuvent être classées en deux groupes. XUL, de la fondation Mozilla, et Flex, d'Adobe, reposent sur des descriptions d'écran en XML. Les
« smart
clients »
de Microsoft, Eclipse RCP, ainsi que Swing (et le projet open source SwingLabs) dans le monde Java n'utilisent pas ce paradigme. Ils exploitent l'apparence graphique des environnements sous-jacents. Swing propose,
entre autres, ceux de Windows ou KDE. De leur côté, XUL et Flex assurent une personnalisation plus en profondeur de l'interface.
Une programmation événementielle
Quelle que soit la technologie utilisée, le client repose toujours sur les mêmes principes architecturaux. Un socle d'exécution est déployé sur le PC de l'utilisateur. Ce
« runtime »
contient les contrôles graphiques utilisés pour construire l'application, un cache de données, et un moteur de synchronisation pour gérer le mode déconnecté - tout le nécessaire pour
dialoguer avec le serveur en utilisant des protocoles internet standards -, et, selon la technologie, un interpréteur d'écran XML.
Le client riche remet peu en cause les compétences existantes en matière de code. Il repose en effet sur une programmation événementielle, bien connue des développeurs Swing et Visual Basic. Avec Workplace Managed Client, IBM
propose l'approche la plus innovante, puisqu'elle redéfinit complètement le concept de poste utilisateur. Son bureau de nouvelle génération intègre des outils de collaboration (courrier électronique, messagerie instantanée...), une suite
bureautique limitée et, surtout, un container autorisant l'ajout d'applications métier par un simple clic. Workplace Managed Client s'exécutant grâce à une machine virtuelle Java (JVM), ce bureau peut être utilisé sur Linux ou MacOS en remplacement
d'un bureau Windows traditionnel.
IBM : un nouveau bureau orienté métier
Avec Workplace Managed Client, IBM redéfinit la notion de bureau métier en déportant l'infrastructure de portail côté client. Ce socle permet d'assembler des applications à la demande au sein d'une interface utilisateur
homogène, qui inclut par défaut les outils de collaboration, un navigateur et une minisuite bureautique.