Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist...

20
Sviluppo per Pocket Sviluppo per Pocket PC con SQL Server CE PC con SQL Server CE 2.0 2.0 Fabio Santini Fabio Santini Silvano Coriani Silvano Coriani .NET Developer Evangelist .NET Developer Evangelist Microsoft Corporation Microsoft Corporation

Transcript of Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist...

Page 1: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Sviluppo per Pocket PC Sviluppo per Pocket PC con SQL Server CE 2.0con SQL Server CE 2.0

Fabio SantiniFabio SantiniSilvano CorianiSilvano Coriani.NET Developer Evangelist.NET Developer EvangelistMicrosoft CorporationMicrosoft Corporation

Page 2: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

AgendaAgenda

Introduzione Introduzione ArchitetturaArchitettura FunzionaliàFunzionalià ADO.NETADO.NET

Accesso diretto a SQL ServerAccesso diretto a SQL Server Replica dei databaseReplica dei database Accesso remotoAccesso remoto

LicenzaLicenza SQL CE 3.0SQL CE 3.0

Page 3: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Introduzione SQL Server CEIntroduzione SQL Server CE

Scenari di utilizzoScenari di utilizzo Database disconnessiDatabase disconnessi Connettività Internet / Intranet e Connettività Internet / Intranet e

sincronizzazionesincronizzazione Differente da applicazioni Mobile Web Differente da applicazioni Mobile Web

Forms, uso dei Data Set ADO.NET Data Set Forms, uso dei Data Set ADO.NET Data Set e MSMQ CEe MSMQ CE

Supporto codice nativo e codice gestitoSupporto codice nativo e codice gestito

Applicazioni verticaliApplicazioni verticali Sanità, Forza vendita, Manutentori,etc.Sanità, Forza vendita, Manutentori,etc.

Page 4: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

OLEDB CEOLEDB CECLR / .NET CFCLR / .NET CF

QP/Cursor Engine/ES QP/Cursor Engine/ES

Architettura SQL Server CE v2.0Architettura SQL Server CE v2.0

ADOADOCE v3.1CE v3.1

Storage Engine / Repl TrackingStorage Engine / Repl Tracking

SQL Server CE v2.0SQL Server CE v2.0

eVB 3.0eVB 3.0eVC eVC 3.03.0

OLEDBOLEDB

OLEDBOLEDB

SQL Server CE 2.0 Data SQL Server CE 2.0 Data ProviderProvider

Codice nativoCodice nativo .NET Compact Framework.NET Compact Framework

ADO.NETADO.NET

VS .NET (VB.NET, C#)VS .NET (VB.NET, C#)

Page 5: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

OLEDB CEOLEDB CE

CLR / .NET CFCLR / .NET CF

QP/Cursor Engine/ES QP/Cursor Engine/ES

Windows CEWindows CEAccesso ai datiAccesso ai dati

Client Client Agent: Agent:

ReplicationReplicationandandRDARDA

ADO ADO CE CE v3.1v3.1

OLEDB / OLEDB / Replication APIReplication API

IISIIS

CLIENTCLIENT SERVERSERVER

Storage Engine / Repl Storage Engine / Repl TrackingTracking

SQL CE Edition v2.0SQL CE Edition v2.0

eVB eVB 3.03.0 eVC eVC

3.03.0

OLEDBOLEDB

OLEDBOLEDB

Server Server Agent: Agent:

ReplicationReplicationandand

Remote Remote Data Data

AccessAccess

HTTPHTTP

XML/BizTalkXML/BizTalk

802.11b, 802.11b, CDPD, CDPD, GSM, GSM,

CDMA, CDMA, TDMA, etc.TDMA, etc.

Enterprise BackendEnterprise Backend

Oracle / db2 / etcOracle / db2 / etc

SQL Server SQL Server CE Data CE Data ProviderProvider

Native/UnmanagedNative/Unmanaged StackStack

Data ProviderData Provider

SQL Server SQL Server Client Data Client Data Provider Provider

ADO.NETADO.NET

VS .NET (VB.NET, C#)VS .NET (VB.NET, C#)..NET CF / ManagedNET CF / Managed StackStack

TDSTDS

EthernetEthernet

Connesione Connesione continuacontinua

Connessione Connessione occasionaleoccasionale

Page 6: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

ConnettivitàConnettività Utilizza tecnologia webUtilizza tecnologia web

Comunicazione HTTPComunicazione HTTP Internet and IntranetInternet and Intranet

Sicurezza tramite IISSicurezza tramite IIS Autenticazione (anonymous, basic, Autenticazione (anonymous, basic,

NTLM)NTLM) AutorizzazioniAutorizzazioni Encryption (SSL)Encryption (SSL)

Accesso tramite firewallAccesso tramite firewall

Page 7: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Accesso ai datiAccesso ai dati

Windows CEWindows CE

SQL Server CESQL Server CE

.NET Compact .NET Compact FrameworkFramework

Windows ServerWindows Server

SQL ServerSQL Server

1. Web1. Webserviceservice

2. Synchronization2. Synchronization(http)(http)

4. ADO.NET4. ADO.NETLocal DataLocal Data

Web ServiceWeb ServiceWeb ServiceWeb Service

3. Direct SQL Server access3. Direct SQL Server access

ASP.NET, ASP.NET, Mobile ControlsMobile Controls

Presentation LayerPresentation LayerMobile BrowserMobile BrowserWAP, HTML WAP, HTML etc.etc.

Page 8: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Funzionalità databaseFunzionalità database

Indici multi colonnaIndici multi colonna Integrità referenzialeIntegrità referenziale SELECT INSELECT IN DefaultsDefaults Inner/outer joinsInner/outer joins Un file per ogni Un file per ogni

databasedatabase Supporto di NullSupporto di Null Supporto UnicodeSupporto Unicode TransazioniTransazioni

Page 9: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Nuove funzionalità della Nuove funzionalità della versione 2.0versione 2.0 UnionUnion

SELECT * FROM A UNION SELECT * FROM BSELECT * FROM A UNION SELECT * FROM B

Funzioni (CASE, @IDENTITY)Funzioni (CASE, @IDENTITY) Query parametricheQuery parametriche

INSERT INTO mytable (col1, col2) VALUES (?, ?);INSERT INTO mytable (col1, col2) VALUES (?, ?);

Index PullIndex Pull Recupero degli indici via RDA PullRecupero degli indici via RDA Pull

Connectivity Setup WizardsConnectivity Setup Wizards Installazione semplificata delle componenti SQL CEInstallazione semplificata delle componenti SQL CE

ISQLWCEISQLWCE

Page 10: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

ISQLW CEISQLW CE

Page 11: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Accesso diretto a SQL ServerAccesso diretto a SQL ServerAccesso a SQL CEAccesso a SQL CE

Page 12: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Remote Data AccessRemote Data Access

Accesso a SQL Server 7.0 e SQL Server Accesso a SQL Server 7.0 e SQL Server 20002000

Download sul dispositivo per un utilizzo Download sul dispositivo per un utilizzo disconnessodisconnesso

Traking delle modificheTraking delle modifiche Semplice da impostare e utilizzareSemplice da impostare e utilizzare Soluzione scalabileSoluzione scalabile

Page 13: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Remote Data AccessRemote Data Access

Page 14: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

ReplicaReplica

SQL Server 2000 features crucial for SQL Server 2000 features crucial for SQL Server CE:SQL Server CE: Vertical and horizontal partitioningVertical and horizontal partitioning Dynamic horizontal filtersDynamic horizontal filters Auto ranged identity columnsAuto ranged identity columns Standard/custom conflict resolversStandard/custom conflict resolvers

Page 15: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Replica SQL Server 2000 – Replica SQL Server 2000 – SQL CE 2.0SQL CE 2.0

Page 16: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Licenza SQL Server CE 2.0Licenza SQL Server CE 2.0

Licenza CAL/CPU necessaria per la Licenza CAL/CPU necessaria per la connettività verso SQL Serverconnettività verso SQL Server

Distribuzione gratuita sui dispositiviDistribuzione gratuita sui dispositivi

Page 17: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Funzionalità di LagunaFunzionalità di LagunaStorage EngineStorage Engine Supporto MultiutenzaSupporto Multiutenza

Lock di rigaLock di riga Lock di paginaLock di pagina Lock EscalationLock Escalation

Improved stabilityImproved stability Supporto transazioni ACIDSupporto transazioni ACID

Riutilizzo delle pagine vuoteRiutilizzo delle pagine vuote Riduzione delle compattazioniRiduzione delle compattazioni

Page 18: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Funzionalità Laguna QPFunzionalità Laguna QP

ShowplanShowplan Supporto degli Istogram per Supporto degli Istogram per

l’incremento della velocità delle queryl’incremento della velocità delle query Cursore aggiornabile - SQLCECursorCursore aggiornabile - SQLCECursor Parametri nominaliParametri nominali

Page 19: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.

Funzionalità Laguna - ToolsFunzionalità Laguna - Tools Integrazione con SQL WorkbenchIntegrazione con SQL Workbench

La stessa interfaccia utilizzata per connettersi a SQLLa stessa interfaccia utilizzata per connettersi a SQLServer o a SQL Server CEServer o a SQL Server CE

Interfaccia del WorkbenchInterfaccia del Workbench La maggior parte delle differenze sono la disabilitazioneLa maggior parte delle differenze sono la disabilitazione

di opzioni non presenti in SQL Server CEdi opzioni non presenti in SQL Server CE FunzionalitàFunzionalità

Object ExplorerObject Explorer Editor di QueryEditor di Query Dialog per la gestione del databaseDialog per la gestione del database

Integrazione con WhidbeyIntegrazione con Whidbey Data designer in WhidbeyData designer in Whidbey

Supporto per i DTSSupporto per i DTS

Page 20: Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.