Durant cette session, nous aborderons le mode offline sous Windows 8.1 Modern UI et sous Windows Phone 8. De la sérialisation simple à l'utilisation d'une base de données relationnelles comme SQLite. Nous verrons ensuite comment résoudre les problèmes de synchronisation de données On Premises avec vos devices Windows 8.1 / Windows Phone 8 et toutes les problématiques que cela peut générer.
Speakers : Sébastien Pertus (Microsoft), Guillaume Brout (Itelios)
Mode offline et Synchronisation avec Windows Phone et Windows 8.1
2. Mode offline et
Synchronisation avec
Windows Phone et Windows
Sébastien PERTUS
Guillaume BROUT
8.1
Technical Evangelist
Microsoft France
Pôle Expertise
Itelios
spertus@microsoft.com
http://blogs.msdn.com/b/mim/
@sebastienpertus
guillaume.brout@itelios.com
http://www.guillaumebrout.fr
@gbrout
Bases de données/Data management
3. Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !
#mstechdays
Bases de données/ Data management
4. STOCKAGE DE DONNÉES LOCALES
Rappel Windows Phone 8 et Windows 8.1
#mstechdays
Bases de données/ Data management
5. Stockage de données locales
Windows.Storage
LocalFolder, TemporaryFolder
et Roamingfolder
#mstechdays
Bases de données/ Data management
6. Stockage de données locales : exemple
StorageFolder folder =
Windows.Storage.ApplicationData.Current.LocalFolder;
var fileStream = await
folder.OpenStreamForWriteAsync("rssItems.xml",
CreationCollisionOption.ReplaceExisting);
XmlSerializer serializer = new
XmlSerializer(typeof(List<RSSItem>));
serializer.Serialize(fileStream, rss);
#mstechdays
Bases de données/ Data management
9. SQLite
Présentation
Bibliothèque écrite en C offrant un moteur de base de données
accessible en langage SQL sans aucune configuration.
Installation
Téléchargement depuis le site http://www.sqlite.org/ ou depuis
Extensions and Updates de Visual Studio.
Configuration
Référence à SQLite et au Runtime C++.
Mode de compilation x86, x64 ou ARM.
#mstechdays
Bases de données/ Data management
10. Les Frameworks SQLite
SQLite-net
Fournit deux classes d’accès à SQLite : SQLite.cs et
SQLiteAsync.cs. Utilisation similaire à Linq to Object.
Attention : Pour WP8, ajouter un wrapper C++/CX au projet
(sqlite.dll) et la directive USE_WP8_NATIVE_SQLITE.
SQLite-winrt
Wrapper SQLite sous la forme d’un composant à ajouter au projet
et offrant un approche similaire à ADO.NET (instructions SQL).
#mstechdays
Bases de données/ Data management
11. SQLite-net : exemple
var db = new SQLite.SQLiteAsyncConnection(DbPath);
var _customer = await (from c in db.Table<Customer>()
where c.Id == customerId
select c).FirstOrDefaultAsync();
if (customer != null) {
var Id = _customer.Id;
var Name = _customer.Name;
}
#mstechdays
Bases de données/ Data management
12. SQLite-winrt : exemple
using (var db = new SQLiteWinRTPhone.Database(
ApplicationData.Current.LocalFolder, "demo.db"))
{
await db.OpenAsync();
using (var stmt = await db.PrepareStatementAsync("SELECT name
FROM people"))
{
while (await stmt.StepAsync())
{
var name = stmt.GetTextAt(0);
}
}
}
#mstechdays
Bases de données/ Data management
15. Synchronisation de données
Sync Framework 2.1
Permet de synchroniser n'importe quelle source de données
d'un serveur à une application de bureau qui exécute SQL
Server, SQL Server CE, SQL Server Express.
#mstechdays
Bases de données/ Data management
16. Synchronisation de données
Sync Framework Toolkit
Etend les fonctionnalités à Silverlight, Windows Phone 7, et
Windows Mobile, mais aussi iPhone, Android, Blackberry....
Protocole et format de données
Sync Framework Toolkit utilise le protocole OData et les
formats JSON ou ATOM.
#mstechdays
Bases de données/ Data management
17. Synchronisation de données
Sync Framework Toolkit for WinRT
Il existe également une implémentation de ce toolkit pour les clients
WinRT et Windows Phone 8 (https://syncwinrt.codeplex.com/) et
basé sur l'utilisation de SQLite.
#mstechdays
Bases de données/ Data management
19. MERCI DE VOTRE ATTENTION
Retrouvez nous
STAND
47
https://www.facebook.com/Itelios
http://twitter.com/itelios
contact@itelios.com
http://www.itelios.com
#mstechdays
Bases de données/ Data management
SQLite est une bibliothèque écrite en C qui propose un moteur de base de données relationnelle accessible par le langage SQL. SQLite implémente en grande partie le standard SQL-92 et des propriétés ACID. Contrairement aux serveurs de bases de données traditionnels, comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire le schéma habituel client-serveur mais d'être directement intégrée aux programmes. L'intégralité de la base de données (déclarations, tables, index et données) est stockée dans un fichier indépendant de la plateforme.D. Richard Hipp, le créateur de SQLite, a choisi de mettre cette bibliothèque ainsi que son code source dans le domaine public, ce qui permet son utilisation sans restriction aussi bien dans les projets open source que dans les projets propriétaires. Le créateur ainsi qu'une partie des développeurs principaux de SQLite sont employés par la société américaine Hwaci. SQLite est le moteur de base de données le plus distribué au monde, grâce à son utilisation dans de nombreux logiciels grand public comme Firefox, Skype, Google Gears, dans certains produits d'Apple, d'Adobe et de McAfee et dans les bibliothèques standards de nombreux langages comme PHP ou Python. De par son extrême légèreté (moins de 300 Kio), elle est également très populaire sur les systèmes embarqués, notamment sur la plupart des smartphones modernes : l'iPhone ainsi que les systèmes d'exploitation mobiles Symbian et Android l'utilisent comme base de données embarquée. Au total, on peut dénombrer plus d'un milliard de copies connues et déclarées de la bibliothèque.