Avec Silverlight 4, vient le temps des applications riches d’entreprise. Le
développeur a tout pour développer des applications fiables, évolutives,
sécurisées et réactives. Identiques en tous points à des applications desktop
ou web classiques, elles sont surtout beaucoup plus ergonomiques.
Métier et riche en même temps
Avec les performances d’internet aujourd’hui, plus rien ne justifie d’avoir
des applications complètement portées par le client, base de données comprise.
C’est encore plus vrai quand la collaboration est un critère important. On veut
pouvoir profiter du potentiel et de la puissance des data-centers du cloud.
Il peut pourtant être intéressant de pouvoir continuer de travailler en mode
déconnecté. Quoi de plus frustrant en effet que de perdre le fruit de son
travail lorsque le train passe sous un tunnel. C’est une vision partagée depuis
un moment par Google (Gears), Adobe (Air) et Microsoft : avoir les avantages
d’internet sans les inconvénients.
Les RIA intéressaient jusqu’ici surtout les sites de vente ou de médias en
ligne. La consolidation de Silverlight (sécurité, performance, composants,
interaction) offre de nouvelles perspectives.
Mais en quoi Silverlight peut-il rejoindre les pré-requis spécifiques d’une
application métier et au fond, qu’est-ce qui fait une bonne application métier
?

L’application CRM en SaaS de CAS® (www.cas.de)
Productivité
Le premier aspect d’une application métier est la productivité. Elle doit
répondre exactement au besoin de l’utilisateur (sans fioritures mais aussi sans
lacunes). Elle doit aussi être facile à maintenir et à faire évoluer. Exit donc
les technologies de pointe, qu’un développeur sur dix seulement est capable de
comprendre. Et la disponibilité devient primordiale elle aussi.
Avec la découverte de composants au runtime, l’IoC (Inversion de Contrôle)
et l’injection de dépendance avec MEF (Managed Extensibility Framework), le
modèle MVVM (idéal pour Silverlight), les patterns les plus reconnus sont
adoptés pour le bonheur de la maintenabilité et de la réutilisabilité de vos
applications. Avec le développement unifié pour toutes les plateformes (Common
Runtime .Net), le partage des fichiers entre développeur et designer, le
partage des services sur le cloud, la productivité du développement n’a jamais
été aussi forte. Avec le mode déconnecté, la présence sur le pc ou le
smartphone, le mode out-of-browser (OOB), la productivité de l’utilisateur est
maximale.
Interaction
L’interaction est elle aussi un critère essentiel. Une application en
plug-in, complètement isolée, c’est bien mais ça limite le service rendu. Dans
Silverlight 4, l’interaction avec l’utilisateur et ses applicatifs est plus
grande.
Il y a d’abord l’interaction avec l’utilisateur :
-
Le support du texte riche (RichTextArea).
-
L’API de Notification pour les alertes.
-
Le support complet du clavier en mode plein écran.
-
La gestion de la souris (molette, click droit).
-
Le presse-papier, enfin géré.
-
La géo-localisation qui permet de lier l’action à la situation de
l’utilisateur.
-
La Webcam et le microphone supportés (indispensable pour les meetings).
-
Les nouveaux événements pour les transitions sur ItemsControl (BeforeLoaded,
Loaded, Unloaded).
Il y a ensuite l’interaction avec le reste du système :
-
Le stockage avec l’accès aux répertoires du compte utilisateur où se
trouvent les documents.
-
Le partage grâce à l’interaction avec les logiciels qui exposent une API COM
sous Windows.
-
L’import avec le support du glisser-coller depuis une source extérieure, par
exemple depuis l’explorateur, très pratique pour l’upload de fichier, l’ajout
de pièces jointes.
-
La gestion de l’impression, complète et offrant un contrôle intégral des
éléments à imprimer.
-
La confiance avec la sandbox et l’isolated storage.
-
Le mode Trusted pour aller plus loin dans l’interaction.
Il y a enfin l’interaction avec le reste du monde, mais en toute sécurité
:
-
Les WCF RIA Services qui font la glue avec le tiers métier.
-
La validation des entrées.
-
La cryptographie et le support du SSL.
-
La prévention des risques de Cross Site Scripting (XSS).
-
Les fichiers de politique cross-domain pour l’extension des ressources.
-
Le temps réel (WCF RIA Services) qui apporte un vrai confort et une
réactivité maximale.
Workflows
Dans les applications métier, les processus sont indispensables et souvent
complexes. Une étape de workflow peut intervenir à tout moment pour
l’utilisateur, nécessitant son intervention. Si son application métier n’est
pas lancée, il peut être prévenu par mail, par exemple mais cela ne palie pas
tout : finalement, on n’a pas les yeux rivés sur sa messagerie en permanence.
Quoi de mieux alors, que d’avoir un statut affiché en bas de l’écran, comme
pour l’arrivée de mail dans Outlook. L’utilisateur n’a plus qu’à cliquer sur le
statut pour lancer l’application et valider sa phase de workflow.
Et sur mobile ?
Pouvoir travailler sur la même application depuis son poste fixe au bureau,
continuer sur le smartphone dans le train, et revenir dessus sur son portable
chez soi ou dans la chambre d’hôtel, voilà la vraie mobilité. Silverlight 4 est
opérationnel sur windows mobile et avec le multitouch, on palie aisément
l’absence de souris. Votre application vous suit partout, vous n’êtes plus
jamais pris de court. C’est vraisemblablement l’avenir des applications
métier.
Horizons
La technologie Silverlight se rapproche plus que jamais des technologies
desktop classiques en termes de productivité (utilisateur et développeur),
comme en termes de sécurité ou de fonctionnalités. On peut donc enfin
réinventer toutes ces applications métiers que nous pratiquons au jour le jour,
en beaucoup plus ergonomiques et pratiques. Les utilisateurs ne seront pas trop
durs à convaincre et la maturité certaine de cette dernière version devrait
rassurer les responsables informatiques. On peut s’attendre à une déferlante
d’applications métier sous Silverlight dans les années qui viennent, notamment
sur Codeplex ou le Showcase Silverlight (http://www.silverlight.net/showcase/).