Base de données locale WP7

Abonnements, magazines... Notre catalogue complet au bas de cette page.

Aujourd’hui, les applications mobiles sont de plus en plus sophistiquées et couvrent tous les domaines d’application. Par nature, elles sont connectées dans la plupart des cas et peuvent ainsi accéder à des données localisées dans le cloud.

Néanmoins, différentes raisons rendent l’utilisation d’un espace de stockage situé sur le téléphone lui-même indispensable, par exemple : • Un cache local permet à la fois d’accélérer le démarrage puis l’exécution de l’application (les nouvelles données peuvent être téléchargées en arrière-plan), de réduire la bande passante utilisée (les données non modifiées n’ont pas à être téléchargées à chaque exécution de l’application) • Les données créées par l’utilisateur lui-même n’ont pas nécessairement vocation à être transférées ou partagées (même si en pratique, les utilisateurs sont de plus en plus demandeurs de pouvoir accéder à leurs données depuis différentes machines : PC fixe, téléphone, tablette). • Enfin, dans le cadre d’applications métier, la synchronisation vers le backoffice peut intervenir à des instants précis du processus métier (par exemple, en début et fin de journée). Pour couvrir ces différents scénarios, Windows Phone 7 offre à chaque application un espace privé, appelé « Isolated Storage » dans lequel il est possible de créer des répertoires et des fichiers. Avec la première version de Windows Phone, les développeurs stockaient ainsi typiquement des fichiers XML ou des objets .NET sérialisés lus et écrits en entier à des instants biens précis du cycle de vie des applications. Windows Phone Mango a apporté l’été dernier un mécanisme bien plus riche, hérité de son prédécesseur Windows Mobile, à savoir une vraie base de données relationnelle. Celle-ci n’est pas explicitement nommée dans la documentation officielle, on parle de « Local Database » mais il suffit de regarder d’un peu plus près cette documentation pour découvrir qu’il s’agit en fait d’une version de SQL Server Compact. La base de données relationnelle de Windows Phone se différencie des bases de données SQL Server habituelles par différentes caractéristiques, en particulier : • Il n’y a pas de processus SQL Server séparé : le code de la base est localisé dans des DLL qui seront simplement chargées dans le processus de l’application. • Il n’y a pas de procédure stockée (on verra plus loin dans cet article que le développeur n’a même pas accès au langage SQL). • Comme les fichiers constituant les bases de données sont localisés dans l’Isolated Storage, il n’y a pas de partage de données possible entre différentes applications (tout au moins sans passer par une synchronisation avec un serveur web). Contrairement aux deux points précédents qui étaient déjà une caractéristique des autres versions de SQL Compact, le dernier aspect est une nouveauté qui est liée au modèle très sécurisé de Windows Phone qui empêche les applications de perturber leurs semblables.

Alain Zanchetta

S'ABONNER
Egalement au sommaire de :
Programmez! #154