L'ajout d'une couche de service Web vous donne la possibilité de rendre votre client plus léger, à la fois en termes de puissance CPU requise et de bande passante utilisée pendant le traitement. Les deux facteurs sont extrêmement importants pour les utilisateurs finaux:
- L'utilisation de moins de CPU augmente la durée de vie de la batterie,
- L'utilisation de moins de bande passante réduit les paiements mensuels pour les utilisateurs ayant des plans avec compteur
En introduisant une couche d'application Web, vous déplacez la majeure partie du traitement d'un client portable à faible consommation d'énergie, à faible bande passante et à faible mémoire vers un serveur branché, à haute puissance et à large bande passante, qui a plus de mémoire que lui. besoins - un environnement où le traitement et les communications coûtent une fraction de ce qu'ils coûtent à un client.
Mais attendez, il y a aussi quelque chose pour vous: en divisant le système, vous obtenez plus de contrôle sur vos règles métier, la structure de votre base de données et les versions de ce qui existe. Une fois que vous laissez un client mobile se connecter directement à la base de données, votre conception est "mariée" à cette structure de base de données: presque tout changement romprait la compatibilité descendante avec un client qui hésite à mettre à niveau son application.
En revanche, l'ajout d'un service Web entre les deux vous permet de faire évoluer l'interface vers les clients mobiles de manière plus gérable: par exemple, vous pouvez conserver l'ancienne interface en place, en ajouter une nouvelle qui fonctionne "en parallèle" avec elle, puis entièrement restructurez votre base de données sans casser un seul client.
Si vous suivez certains principes de conception assez basiques lors de la conception de votre service Web, vous pouvez également obtenir des avantages significatifs en réutilisant une infrastructure côté serveur mature qui a été mise en place: par exemple, vous pouvez obtenir gratuitement des services de cache et de proxy.
Enfin, cela ouvrira la porte à d'autres développeurs exposant votre application à des plates-formes que vous ne pourriez pas entretenir vous-même, jouant finalement à l'avantage de votre entreprise.