dev351 developing local and mobile data solutions with sql server everywhere steve lasker program...

28

Upload: cuthbert-price

Post on 23-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

DEV351DEV351Developing Local and Developing Local and Mobile Data Solutions with Mobile Data Solutions with SQL Server EverywhereSQL Server Everywhere

DEV351DEV351Developing Local and Developing Local and Mobile Data Solutions with Mobile Data Solutions with SQL Server EverywhereSQL Server Everywhere

Steve LaskerSteve LaskerProgram Manager / Technical LeadProgram Manager / Technical LeadMicrosoft CorporationMicrosoft CorporationUI FrameworkUI Frameworkhttp://blogs.msdn.com/SteveLaskerhttp://blogs.msdn.com/SteveLasker

AgendaAgenda

App evolutionApp evolution

Why SQL Server EverywhereWhy SQL Server Everywhere

VS Designer support VS Designer support SQL Server Everywhere enhancements over SQL Server Everywhere enhancements over SQL MobileSQL Mobile

Deployment options for SQL EvDeployment options for SQL Ev

Programming ModelProgramming ModelADO.NET, ResultSet, LINQ to Entities w/SQL EvADO.NET, ResultSet, LINQ to Entities w/SQL Ev

Securing the stolen laptopSecuring the stolen laptop

Basic Components of An AppBasic Components of An App

Interaction ModelInteraction ModelUser InterfaceUser Interface

Service (Web Service, CMD Line)Service (Web Service, CMD Line)

LogicLogicSecurity, rules, defaults, workflowSecurity, rules, defaults, workflow

PersistancePersistanceData (Database, XML, Data Device)Data (Database, XML, Data Device)

Evolving ApplicationsEvolving Applications

MicrosoftExchange

MS Expense

Bank

Accounting

Payroll

MS ExpenseMS Expense

Owned by different teams and/or companiesOwned by different teams and/or companiesVersion independently of each otherVersion independently of each otherDon’t necessarily know, or care, about each clientDon’t necessarily know, or care, about each clientDelegate responsibility to the next app / tierDelegate responsibility to the next app / tier

Fully Partitioned ApplicationsFully Partitioned Applications

OCS ServicesOCS ServicesOCS ServicesOCS Services

Create complete componentsCreate complete components

Delegate responsibilityDelegate responsibility

Empower decision making w/reference Empower decision making w/reference data & rulesdata & rules

Communicate complete operationsCommunicate complete operations

Evolving ApplicationsEvolving Applications

OCS ServicesOCS Services

OCS ServicesOCS Services

Right tool for the right jobRight tool for the right job

Local Database OptionsLocal Database Options

Server (1000’s of users)

Workgroup (Dozens of users)

Desktop (Single User)

Laptop

Tablet PC

Windows CE Device

Pocket PC

Smartphone

Win 32Win 32

SQ

L M

ob

ile S

QL

Exp

ress

SQ

LS

erv

er

SQ

L S

erve

r E

very

whe

re

Mu

ltiU

ser

Sin

gle

Use

r S

cena

rios

Which Version of SQL Server?Which Version of SQL Server?

EnterpriseServer

WorkgroupServer

Desktop, Workstation

Laptop PocketPCTabletPC

SmartPhone

Fully featured database serving dozens to thousands of users

Data as a service for small, multi-user client apps and websites requiring advanced SQL Server features

Ideal for single user client and device applications requiring a maintenance free, compact footprint

SQL Ev Notable FeaturesSQL Ev Notable Features1.4 MB runtime 1.4 MB runtime Smaller then a floppy diskSmaller then a floppy diskAdmin and Non-Admin deployment optionsAdmin and Non-Admin deployment optionsSingle file, code free format (.sdf)Single file, code free format (.sdf)In-Proc with the hosting app In-Proc with the hosting app Doesn’t run as a Doesn’t run as a serviceserviceUp to 4 gigabytes per databaseUp to 4 gigabytes per databaseMulti connections for background data Multi connections for background data operationsoperationsSimplified security with password and Simplified security with password and encryptionencryptionQuery Processor w/Transaction Query Processor w/Transaction Runs on Windows XP, Windows 2003, Vista Runs on Windows XP, Windows 2003, Vista B2B2 Windows MobileWindows MobileCommon programming model through Common programming model through ADO.NETADO.NETMultiple sync optionsMultiple sync options

Proven, Lightweight, 2 Tier, Scalable Sync API Proven, Lightweight, 2 Tier, Scalable Sync API (RDA)(RDA)Full Featured Merge ReplicationFull Featured Merge ReplicationFuture investments for Occasionally Connected Future investments for Occasionally Connected AppsApps

SQL Server Everywhere Non SQL Server Everywhere Non FeaturesFeatures

Sprocs, Views, FunctionsSprocs, Views, FunctionsDatabase is in-proc with the appDatabase is in-proc with the app

Why limit yourself to TSQLWhy limit yourself to TSQL

Write your functions in full managed codeWrite your functions in full managed code

TriggersTriggersInteresting scenarios, but triggers are limited Interesting scenarios, but triggers are limited to TSQL Codeto TSQL Code

How about event notifications? (Future)How about event notifications? (Future)

Complex user role managementComplex user role managementData is pre-partitioned per userData is pre-partitioned per user

Network connectivityNetwork connectivity

Not supported for IIS/ASP.net data Not supported for IIS/ASP.net data scenariosscenarios

Microsoft Visual Studio 2005 Designer Support

Microsoft Visual Studio 2005 Designer Support

Additional Features of SQL EvAdditional Features of SQL Ev

Runtime enhancementsRuntime enhancements

No longer desktop restrictedNo longer desktop restricted

|DataDirectory| |DataDirectory| macromacroDynamically handles location of data filesDynamically handles location of data files

.\Northwind.sdf becomes |DataDirectory|\Northwind.sdf.\Northwind.sdf becomes |DataDirectory|\Northwind.sdf

VS Designer enhancementsVS Designer enhancements

ClickOnce bootstrapper for central ClickOnce bootstrapper for central installationsinstallations

Deployment OptionsDeployment Options

Single Central Install (MSI)Single Central Install (MSI)Servicing via Microsoft Update Servicing via Microsoft Update

Requires Admin RightsRequires Admin Rights

ClickOnce BootstrapperClickOnce Bootstrapper

Private Deployment (ISV Option)Private Deployment (ISV Option)Privately deploy the dlls with your applicationPrivately deploy the dlls with your application

Doesn’t require admin rightsDoesn’t require admin rights

No direct servicing by MicrosoftNo direct servicing by Microsoft

App author assumes servicing responsibilities App author assumes servicing responsibilities as part of their applicationas part of their application

Deployment OptionsClickOnce with SQL Everywhere

BootstrapperClickOnce with Private DLL Deployment

Deployment OptionsClickOnce with SQL Everywhere

BootstrapperClickOnce with Private DLL Deployment

Privately deploying SQL EvPrivately deploying SQL Ev

Central install of SQL Ev will Central install of SQL Ev will override private version override private version

Enables painless deployment Enables painless deployment ‘till IT rolls out broadly‘till IT rolls out broadly

Change System.Data.SqlServer.dll Change System.Data.SqlServer.dll refernce Copy Local refernce Copy Local Copy sqlce*.dll’s from Copy sqlce*.dll’s from %ProgramFiles%\Microsoft SQL Server %ProgramFiles%\Microsoft SQL Server Everywhere\v3.1Everywhere\v3.1

Not supported by Microsoft UpdateNot supported by Microsoft Update

Must be serviced by the hosting applicationMust be serviced by the hosting application

Programming OptionsProgramming Options

ADO.NET w/DataSets & Typed DataSetsADO.NET w/DataSets & Typed DataSetsSystem.Data.SqlServerCe.SqlCeSystem.Data.SqlServerCe.SqlCeDataAdapterDataAdapter

ADO.NET w/DataReadersADO.NET w/DataReadersSystem.Data.SqlServerCe.SqlCeSystem.Data.SqlServerCe.SqlCeDataReaderDataReader

ADO.NET w/Updatable Result SetsADO.NET w/Updatable Result SetsSystem.Data.SqlServerCe.SqlCeSystem.Data.SqlServerCe.SqlCeResultSetResultSet

ADO.NET Entity Framework (Orcas)ADO.NET Entity Framework (Orcas)

SqlCeResultSetSqlCeResultSet

No memory cachingNo memory caching

Think properties w/backing fields as the Think properties w/backing fields as the databasedatabase

Implements Databinding interfacesImplements Databinding interfacesDim cmd As New SqlCeCommand()cmd.CommandText = _ "SELECT EmployeeID, LastName, FirstName, " & _ "FROM Employees"cmd.Connection = New SqlCeConnection("Data source = |DataDirectory|\Northwind.sdf")Me.EmployeesBindingSource.DataSource = _ cmd.ExecuteResultSet(ResultSetOptions.Scrollable Or ResultSetOptions.Updatable)

SQLCeResultSetADO.net V3 (Entity Data Model)

SQLCeResultSetADO.net V3 (Entity Data Model)

Securing SQL Server Securing SQL Server EverywhereEverywhere

Password ProtectionPassword Protection

Database level encryptionDatabase level encryption

File system encryptionFile system encryption

Securing SQL Server EverywhereSecuring SQL Server Everywhere

SummarySummary

SQL Server Everywhere is your killer FREE SQL Server Everywhere is your killer FREE local databaselocal database

Consistent database from device to Consistent database from device to desktopdesktop

Consistent data & programming model Consistent data & programming model from device to serverfrom device to server

Best for synching with SQL ServerBest for synching with SQL Server

Base for building Occasionally Connected Base for building Occasionally Connected SystemsSystems

Start today with Visual Studio 2005Start today with Visual Studio 2005

Is the focus for future client database Is the focus for future client database investmentsinvestments

ResourcesResourcesProduct Information & CTP DownloadProduct Information & CTP Download

www.Microsoft.com/Sql/Everywherewww.Microsoft.com/Sql/EverywhereRuntime engineRuntime engine

ClickOnce bootstrapperClickOnce bootstrapper

SQL Server Everywhere Q&ASQL Server Everywhere Q&A

Blogs.msdn.com/SqlMobileBlogs.msdn.com/SqlMobile

Blogs.msdn.com/SteveLaskerBlogs.msdn.com/SteveLasker

User GroupsUser Groups

forums.microsoft.com/MSDN/forums.microsoft.com/MSDN/ShowForum.aspx?ShowForum.aspx?ForumID=152&SiteID=1ForumID=152&SiteID=1

ResourcesResourcesMondayMicrosoft's Data Platform Vision

Dave Campbell, 9:00-10:15 AM, Room 254 AB

SQL Server Everywhere - the Lightweight Smart Client Database Steve Lasker, 10:45-12:00 DEV booth

SQL Server Everywhere Roadmap Anil Nori, 3:15-4:30 PM, DAT booth

WednesdayDesign Preview - Building

Occasionally Connected Systems with SQL Server Everywhere Steve Lasker and Durga Gudipati, 10:00-11:00 AM, Room 158

ThursdaySQL Server 2005: Replication,

Gopal Ashok and Vijay Sistla, 9:45-11:00 AM, Room 157 ABC

Smart Client: Offline Data Synchronization and Caching with SQL Server Everywhere Steve Lasker, 4:30-5:45 PM, Room 109 AB

FridaySQL Server Everywhere Edition:

A new light weight database from Microsoft Durga Gudipati, 9:00-10:15 AM, DAT booth

Hands On Lab (All Days): Developing a SQL Mobile Application with Visual Studio 2005 and SQL Server 2005 (SQL Server Mobile is the precursor to SQL Server Everywhere)

Fill out a session Fill out a session evaluation on evaluation on

CommNet andCommNet and Win an XBOX Win an XBOX

360!360!

© 2006 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.