David Goon Senior Consultant Microsoft Limited SQL Server 2005 Compact Edition Mobile Client Software Factory Microsoft Dynamics AX Mobile User Interface
Configuration
Synchronization RDBMS in a 1.4MB footprint In-process with Application Single SDF code-free file format 4GB storage limit Password Protection Data Encryption Multiple Connections Transacted Operations Common ADO.NET programming SQL Server 2000 Version 2.0 Windows CE Edition 2.0
Version 3.0
Version 3.?
Version 3.1 Embedded Embedded ScenariosMobile/Desktop
to all the SQL Server SKUs Embedded desktop /mobile client SQL Server Compact Device
Tablet, Laptop, Desktop Scenarios
SQL SQL ExpressServer Tablet, Laptop, Data Service Scenarios Desktop Hardware SQL ServerWorkgroup SQL ServerStandard
Enterprise SQL Server Server Remote Data Access Pull operation from table or stored procedure Tracking off - return results of SQL statement Tracking on - pull directly from a table Push Changes Back to Server System.Data.SqlServerCe.SqlCeRemoteDataAccess Merge Replication Initial snapshot from SQL Server 2005 Data can be modified on device and at server Changes reconciled on next synchronization More intensive as changes need to be tracked System.Data.SqlServerCe.SqlCeReplication HTTP/S Server Agent
Storage Engine Client SQL Server Agent Provider David Goon Senior Consultant Microsoft Limited ADO.NET DataSets & Typed DataSets System.Data.SqlServerCe.SqlCeDataAdapter Resources to hold duplicate data in memory Avoid if possible ADO.NET DataReaders System.Data.SqlServerCe.SqlCeDataReader Better but forward-only read-only cursor ADO.NET Updatable Result Sets System.Data.SqlServerCe.SqlCeResultSet Preferred David Goon Senior Consultant Microsoft Limited Reusable libraries called Application Blocks Implemented using design patterns Guidance package Integrates with Visual Studio 2005 Documentation and recipes Code generation tools and templates Reference Implementation included Community supported http://www.codeplex.com/smartclient Orientation Aware User Interface Control
Configuration
Synchronization
•Multi Orientation •Multi Resolution 3 Strategies to adapt display Design for Square Docking and anchoring Changing the layout entirely ...Practices.Mobile.UI.OrientationAware Integrated with the Visual Studio 2005 IDE Implemented as a User Control base class To support the CAB plug-in ability Each layout has its own resx file Can only add controls to the default layout David Goon Senior Consultant Microsoft Limited Orientation Aware Control
Configuration Block Configuration App.Config Password Block
Synchronization
•Data Encryption •Key Encryption •Password Hashing Compact Framework No System.Configuration so no *.config Configuration Application Block Subset of desktop functionality Access to xml configuration files Read-only but able to read encrypted sections Encrypt settings with ConfigSectionEncrypt Custom section handlers to be written Microsoft.Practices.Mobile.Configuration Sections, Element Collections and Elements Tool provides example encryption Store tokens instead of passwords Secrets are stored with the user On login Generate a new token from credentials Compare with stored token Authenticated when tokens match Use to Protect User credentials Connection strings Encryption Keys Encrypted Configuration
Configuration
Encrypted Master Key Master Key
User Credential Hash David Goon Senior Consultant Microsoft Limited Orientation Aware Control
Configuration Block App.Config Password Block
SubscriptionSynchronization Manager
Progress Bar Encapsulates Merge Replication Moves data between SQL Server 2005 Compact Edition SQL Server on the backend Provides events to monitor progress TableDownloadStarted TableUploadStarted SyncProgress SyncCompleted David Goon Senior Consultant Microsoft Limited Composite UI Application Block Disconnected Service Agent Connection Monitor Data Access Mobile Updater Microsoft DynamicsTM ISV & Partner AX Mobile Sales Applications
Microsoft DynamicsTM Mobile Development Tools