sinhronizacija podatkov - praktični vodič za izgradnjo pametnih windows 8 aplikacij

Post on 26-Jun-2015

927 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from my session on data synchronization and occasionally connected apps development for Windows 8 at NT conference 2014 autumn

TRANSCRIPT

Damir Arh, Adacta d.o.o.Arhitekt programske opremeMVP – Visual C#@DamirArh, damirscorner.com

Sinhronizacija podatkov – praktični vodič za izgradnjo pametnih Windows 8 aplikacij

2

Agenda(Občasno) povezane aplikacijeBranje podatkovUrejanje podatkovMicrosoft Sync Framework

(Občasno) povezane aplikacije

4

Današnje aplikacije

5

Izzivi vedno povezanih aplikacijStalni dostop do omrežnih virovHitrost podatkovnega prenosaKritična točka odpovedi (SPOF)Obremenitev strežnikov

6

Občasno povezane aplikacije

Aplikacija

Omrežni vir

7

Lokalna hramba podatkovNestrukturiranaSettings LocalSettings RoamingSettingsFolder LocalFolder RoamingFolder TemporaryFolder

StrukturiranaC++: Extensible Storage EngineJS: IndexedDB.NET: SQLite

Branje podatkov

9

PredpomnjenjeLokalno shranjevanje prejetih odgovorovPolitika osveževanjaOb vsaki zahteviKo so na voljo novejši podatki Ko preteče veljavnost lokalnih podatkovNa zahtevo

CiljČim bolj ažurni podatkiČim manj prenosa podatkov

10

Sledenje spremembamPrenos podatkov po potrebiInformacija o zadnji spremembiVpliv granularnosti

11

Sinhronizacija glede na datum zadnje spremembe

12

Brisanje zapisovUporaba nagrobnikovInformacija o času izbrisaKako dolgo hraniti te podatke?

Urejanje podatkov

14

KonfliktiId Vrednost Verzija

1 1 1

Id Vrednost Verzija

1 2 2

Id Vrednost Verzija

1 1 1

Id Vrednost Verzija

1 2 2

Id Vrednost Verzija

1 3 3

Id Vrednost Verzija

1 4 3A

15

Reševanje konfliktovPrevlada strežnik / prviPrevlada odjemalec / zadnjiZabeleženje konfliktaOdloženo reševanje

16

Izogibanje konfliktomSpreminjanje zgolj v povezanem načinuKreiranje novih zapisovZaklepanje zapisov pred spreminjanjem

17

Preprečevanje konfliktov s predhodnim zaklepanjem

18

Preostali izziviKljuč zaklepanjaTrajanje zaklepanjaAdministrativno odklepanjeZavrnjene spremembe

Microsoft Sync Framework

20

Osnovni gradnikiAplikacij

a

Provider Provider

Sync Framework

Sync Framework

Sync Framework

Spremembe

Shramba ShrambaSpremembe

21

Spremljanje spremembIdentifikator shrambeŠtevec spremembVerzija zapisovEvidenca izbrisanih zapisovZavedanje drugih shrambIzvedba osveževanjaSprotiPeriodično

22

Postopek sinhronizacije

Vir Cilj

Vzpostavitev seje

Vedenje o viru

Relevantni podatki o spremembah, vedenje o cilju

Spremenjeni podatki

Zahteva spremenjen podatke na podlagi vedenja in razrešenih konfliktov

23

Podpora drugim platformamMicrosoft Sync Framework Toolkit

Sync Framework Toolkit Client

Silverlight / WP HMTL 5

LocalStorageIsolated Storage

Sync Framework Toolkit Server

Mycrosoft Sync Framework

SQL Server

Sync Framework Toolkit Client Sync Framework Toolkit Server

Mycrosoft Sync Framework

SQL Server

Sync Toolkit Windows 8 WinRT Windows Phone 8

WinRT / WP8

SQLite

24

Programske zahteveInternet Information Services (IIS)Microsoft Sync Framework 2.1 SDKSync Toolkit Windows 8 WinRT Windows Phone 8SQLite for Windows Runtime

25

Uporaba Sync Toolkit

26

Definicija obsega<SyncConfiguration> <SyncScopes> <SyncScope Name="Win8Sync"> <SyncTables> <SyncTable Name="Priority"/> <SyncTable Name="Project"/> <SyncTable Name="Task"/> <SyncTable Name="User"/> </SyncTables> </SyncScope> </SyncScopes> <Databases> <TargetDatabase Name="Win8Sync" DbServer=".\SQL2012" DbName="NTK2014-Win8Sync.Toolkit" UseIntegratedAuth="true"/> </Databases></SyncConfiguration>

27

Podatkovna zbirkaDodatne tabele za sledenje spremembamAvtomatično generirane z orodjemSyncSvcUtil /mode:provision /scopeconfig:scope.config

28

StrežnikDodatne knjižniceNuGet SyncClient.SQLiteMicrosoft.SynchronizationMicrosoft.Synchronization.Data.ServerMicrosoft.Synchronization.Data.SqlServer

Avtomatsko generiranje kode z orodjemSyncSvcUtil /mode:codegen /target:server /scopeconfig:scope.config

Vključitev v projektPrilagoditev inicializacije storitve

29

OdjemalecDodatne knjižniceNuGet SyncClient.SQLiteSQLite for Windows RuntimeMicrosoft Visual C++ Runtime Package

Avtomatsko generiranje kode z orodjemSyncSvcUtil /mode:codegen /target:sqliteclient /scopeconfig:scope.config

Vključitev v projektKlic sinhronizacijeDostop do lokalne shrambe

30

Naslednji korakiAvtorizacijaŠifriranjeSprememba shemeSinhronizacija datotekKrožne reference

31

ZaključekLokalna hramba podatkov prinaša izziveIzbira zahtevam primerne rešitveMicrosoft Sync Framework lahko pomagaNadaljnjega razvoja ni pričakovati

Q&A.

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

top related