Je suis actuellement en train d'examiner plusieurs options pour créer une nouvelle application à laquelle plusieurs utilisateurs peuvent accéder à l'aide du navigateur dans un intranet fermé.
J'ai pensé à utiliser Silverlight pour sa convivialité et son design WPF si proche des clients riches auxquels les futurs utilisateurs sont habitués.
Le projet nécessite (bien sûr) l'accès à une base de données, également au sein de l'intranet. J'ai donc parcouru l'internet pour voir comment l'accès aux données était géré. J'ai été surpris de voir qu'apparemment ont d'utiliser des services web pour interagir avec les données, comme mentionné dans ce poste SO quels points ce tutoriel (une des nombreuses façons d'utiliser les webservices).
Ayant déjà créé plusieurs clients riches au sein d'un intranet, qui interagissent tous avec une base de données, j'ai été surpris d'être obligé d'utiliser des services web.
En effet, je comprends les avantages des services web, la sécurité qu'ils offrent, et toutes les autres caractéristiques de la création d'un bon DAL en général dans l'architecture logicielle. Cependant, je ne vois pas pourquoi vous ne pouvez pas simplement créer (par exemple) une bibliothèque contenant les classes Linq to SQL et utiliser cette bibliothèque comme référence dans le projet silverlight pour accéder directement aux données comme vous pouvez le faire avec une application client riche classique. Je comprends qu'en faisant cela, vous stockez les données d'accès dans la chaîne de connexion de l'application, mais je ne vois pas pourquoi cela ne pourrait pas fonctionner avec un client silverlight.
UPDATE :
Alors, deux questions :
- Est-ce que nous ont pour accéder aux données par le biais de services web ?
- Si oui, en quoi est-elle différente de l'approche classique du client riche ?
- Silverlight 5 me permettra-t-il de faire une telle chose ?