|
ANALYSE
17/12/2008
Par Eric Choppe (Magic Software) : Développer et déployer en RIA et SaaS sans peser sur les coûts
La plupart des analystes pensent que, dans les quelques années à venir, 60% des projets de développement porteront sur des applications RIA (Rich Client Applications). Plus nous avançons, plus nos applications métier deviennent complexes et chères à déployer, maintenir et faire évoluer. L'essentiel, pour les fournisseurs est de conserver leur avance technologique et concurrentielle. Client passif, client lourd, client léger, client juste : la spirale de l'évolution Le client léger n'est cependant pas exempt de contraintes et donc de limites. Ce sont ces limites qui conduisent aujourd'hui l'industrie vers un nouveau mode de développement, RIA et le "client juste", qui conjugue le meilleur des deux mondes : la richesse bureautique du client lourd et les coûts opérationnels bien plus faibles du client léger. Il s'agit d'applications métier totalement interactives (comme le client bureautique), installées dans un lieu unique (le serveur) et accédées via Internet. Ces applications ont des avantages nombreux et extrêmement attractives, par l'augmentation de leur potentiel d'usage - clients fixes et mobiles, par leur interactivité et leur richesse fonctionnelle, leur architecture centralisée plus facile et économique à déployer et maintenir, leur architecture multi-niveaux, garantes de sécurité et de "scalabilité".
Adopter les solutions RIA et SaaS sans alourdir les coûts d'infrastructure Le choix doit être fait en termes de coûts, d'adaptation à la problématique, de scalabilité et de flexibilité, de cycle de vie, de niveaux de contrôle, et d'un SLA qui garantit que la mise à disposition de l'application correspond à la demande des utilisateurs. Pour résumer, les applications en local sont très personnalisables, mais très chères. Les applications SaaS sont beaucoup plus économiques, mais leur personnalisation pointue est difficile à réaliser. L'entreprise aujourd'hui : un mix d'applications Ces allers-retours entre à la demande et en local poussent les entreprises à réaliser un "mix" d'applications hétérogènes, pour servir des populations différentes dont les besoins se recouvrent parfois. Elles doivent aussi posséder l'éventail des performances nécessaires pour les servir toutes. Combien d'entreprises peuvent-elles s'offrir autant de compétences aussi différentes, pour garantir le fonctionnement optimal de toutes leurs applications ? Problèmes d'usage Les clients de type Citrix installent une application complète distante. Leurs capacités d'évolution étant limitées, l'infrastructure applicative est chère, et les applications n'ont aucune conscience du poste client sur lequel elles fonctionnent. Il faut alors faire face à de nombreux problèmes relatifs à l'usage des écrans RIA et des fonctions du poste local. A l'étage au-dessus, les RIA de type HTML dynamique et Ajax sont des tentatives d'insertion d'éléments dynamiques dans la page Web, y compris les rafraichissements partiels de la page et autres interactions particulières au niveau des champs. Il faut pourtant se souvenir que le navigateur n'a pas été conçu pour ce niveau d'usage, et qu'il n'est pas l'environnement idéal pour les opérations 'Rich'.
Les applications de type Ajax posent de nombreux problèmes aux "power users", ceux qui utilisent des applications comme par exemple SAP ou Salesforce.com, qui contiennent des écrans affichant simultanément des dizaines de champs de données différents. L'implémentation d'Ajax rend ces écrans très lourds et lents, et le développement devient difficile. Lorsque les besoins d'usage augmentent, il devient plus raisonnable de quitter les clients navigateurs pour se diriger vers ce que l'on appelle le Client "Juste". Ce client "juste" a été inventé pour tenter de contourner les limitations de l'environnement navigateur, en implémentant un client Internet hors du cadre de ce navigateur. Les clients sans navigateur, dont Microsoft Silverlight et Adobe Air, suivent le principe du client "juste". Ils ne sont pas orienté page et, dans cette optique, ils se comportent à la manière d'une station de travail. Ils sont légers, ne travaillent pas de manière indépendante et sont plutôt une extension des capacités du serveur, en apportant un meilleur partitionnement entre ce dernier et le client. Donc, seule la juste quantité des capacités de calcul passent du serveur vers le client, pour activer des fonctions complexes d'interaction tout en maintenant les opérations de back-end (qui ne sont pas interactives) sur ce serveur. Mais les "rich" clients utilisant un navigateur, et les clients "justes" sans navigateur suivent les uns comme les autres les mêmes principes et exigent de manière implicite la planification et la programmation de serveurs et de clients distincts, ce qui, comme nous allons le voir, n'est pas sans poser un certain nombre de questions complexes. Un développement jalonné d'obstacles Donc, un effort normal de développement exige la constitution et la maintenance de plusieurs équipes qui travaillent sur les différents aspects de l'application. Ce qui fait courir des risques sur la conception, la planification et la gestion d'un projet plus complexe donc plus cher. Comme pour tout système, plus il y a d'éléments mouvants, plus on rencontre des chances de panne.
Un client RIA ajoute une autre difficulté : vous devez programmer de manière explicite les réponses au sein de l'application, puisque ce client est désormais une entité fonctionnant de manière indépendante et qui doit être gérée à un niveau champ par champ.Aussi, lorsqu'elles se lancent dans le développement et le déploiement d'une solution RIA ou SaaS, les entreprises doivent d'abord acheter puis intégrer plusieurs plateformes, avec plusieurs paradigmes serveur et client. Le temps du choix
Tribune réalisée par Eric Choppe de Magic Software.
|
||||||||||||||||||||||||||||||