dev351 developing local and mobile data solutions with sql server everywhere steve lasker program...
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)
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
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
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)
Securing SQL Server Securing SQL Server EverywhereEverywhere
Password ProtectionPassword Protection
Database level encryptionDatabase level encryption
File system encryptionFile system encryption
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.