The What, Why, and How... Nino Benvenuti MVP – Device Application Development

Slides:



Advertisements
Similar presentations
Service Oriented Architecture for Mobile Applications Swarupsingh Baran University of North Carolina Charlotte.
Advertisements

OneBridge Mobile Data Suite Product Positioning. Target Plays IT-driven enterprise mobility initiatives Extensive support for integration into existing.
Module 1: Introduction to SQL Server Reporting Services.
Eric Nelson Application Architect, Microsoft |
Module 3: Microsoft Mobility Solutions. Overview Microsoft Office Mobile Using Windows Mobile 5.0 with Exchange Server 2003 Using Windows Mobile 5.0 with.
Technical Architectures
Microsoft.Net Technology Sachin Shetty Vimal Amin Thomas Mullasaril Vinutna Pulavarti Software Engineering CS616 Instructor:Dr.Tappert.
DiscoverFollow Node.js Express ASP.NET Web API SQL Table Storage Blob Storage WNS APNS GCM Mongo DB Notification Hubs Source Control Facebook.
Server Roles and Features.NET Framework 3.51.NET Framework 4.5 IIS Web Server IIS Default Document IIS Directory Browsing IIS HTTP Errors.
Jeremy Boyd Director – Mindscape MSDN Regional Director
What’s new for Rich Clients? Martin Parry Developer & Platform Group Microsoft Ltd
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
Data Access with SQL Server 2005 Mobile Edition and the.NET Compact Framework v2.0 Scott Colestock.
Passage Three Introduction to Microsoft SQL Server 2000.
SQL Server 2008 for Hosting Key Questions to Address How can SQL Server save your costs? How can SQL Server help you increase customer base? How can.
Query Processing in Mobile Databases
MBL290: Building Mobile Applications with Microsoft® SQL Server™ CE and the Microsoft.NET Compact Framework Kevin Collins Microsoft Senior Program Manager.
Discover, Master, InfluenceSlide 1 SQL Server Compact Edition and the Entity Framework Rob Sanders Readify.
Darren Shaffer Microsoft MVP Handheld Logic WMB403.
DEV351 Developing Local and Mobile Data Solutions with SQL Server Everywhere Steve Lasker Program Manager / Technical Lead Microsoft Corporation UI Framework.
Virtual techdays INDIA │ august 2010 Building ASP.NET applications using SQL Server Compact Chaitanya Solapurkar │ Partner Technical Consultant,
Mobile CRM and beyond Martin Booth Partner Technical Specialist.
Windows Mobile 5.0 Features & Functionality! Wim Verhaeghen - Erwin van Hunen -
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team
Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Overview of SQL Server Alka Arora.
AGENDA 1.Introduction 2.Course Policy 3.What is SQL 2000 Server? 4.Client-Server Architecture and Communications 5.SQL 2000 Versions 6.SQL 2000 Server.
Native Support for Web Services  Native Web services access  Enables cross platform interoperability  Reduces middle-tier dependency (no IIS)  Simplifies.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
1 SQL Server 2000 Administration Kashef Mughal MSB.
DEV363 Smart Client: Getting the Most out of Windows Forms and WPF Brad Abrams Group Program Manager.NET Framework Team
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
Module 6: Implementing SQL Server Replication in an Enterprise Environment.
1 Chapter Overview Introducing Replication Planning for Replication Implementing Replication Monitoring and Administering Replication.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Microsoft Sync Framework Content flow for the enterprise.
Azure Services Platform Update James Conard Sr. Director Developer & Platform Evangelism Microsoft Corporation.
Enabling Enterprise Applications Marcus Perryman Microsoft
Marcus Perryman Microsoft
 Replication is the process of copying database information  Replication is used for:  Backing up your database  Migrating to a new server  Mirroring.
Extending the Enterprise using.NET CF and SQL CE Marcus Perryman Principal Consultant Microsoft.
SQL Mobile 2005: Overview Gaurav Khanna, Developer Evangelist Developer & Platform Evangelism Microsoft Corporation (India)
Mobile Applications and SQL Server Mobile v3.0 (Laguna) Kevin Collins Senior Program Manager Microsoft Corporation.
Module 3: Working with Local Data. Overview Using DataSets Using XML Using SQL Server CE.
Introducing Microsoft SQL Server 2000 Reporting Services Brian Welcker Group Program Manager SQL Server Reporting Services Microsoft Corporation.
The Mobile Architect Morgan Skinner. Agenda Common Patterns and Designs Common Patterns and Designs Architecting Mobile Applications Architecting Mobile.
Features Of SQL Server 2000: 1. Internet Integration: SQL Server 2000 works with other products to form a stable and secure data store for internet and.
SVR201 SQL Server 2005 Mobile Edition: The Evolution Of SQL Server CE Scott Smith Program Manager Visual Studio for Devices Microsoft Corporation.
Migrating Data to SQL Azure Arunraj Chandrasekaran Twitter June 21, 2011.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Gowtham Prasad K N Partner Technical Consultant | Microsoft Corporation |
SQL Server 2012 Session: 1 Session: 4 SQL Azure Data Management Using Microsoft SQL Server.
Exploring Networked Data and Data Stores Lesson 3.
Comprehensive Flexible Global Storage and Search Responsive Available Secure Manageable Federation Coordination Consolidation Transformation Synchronization.
Mobile Application Solution
Developing Mobile Applications
Introducing the Windows Mobile development
Couchbase Server is a NoSQL Database with a SQL-Based Query Language
Mobile Application Solution
Mobile Application Development 2005 By Sam Nasr July 25, 2006
Populating a Data Warehouse
Populating a Data Warehouse
Populating a Data Warehouse
Developing for Windows Azure
Visual Studio + SQL Server Is Better
Mark Quirk Head of Technology Developer & Platform Group
Getting Data Where and When You Want it with SQL Server 2005
Running C# in the browser
Presentation transcript:

The What, Why, and How... Nino Benvenuti MVP – Device Application Development

Device Application Development

 Why  Local store  Data store unification  Store options  What  SQL CE Introduction  Architecture  How  Deployment technologies  Replication technologies  Tools

 Local store  Server store  Connectivity-aware  Change reconciliation Connected Single data-source Database-driven Occasionally Connected Multiple data sources Data driven

 Local Store  Desktop apps have a local store?  Store unification  Benefits ▪ Architectural ▪ Data sharing ▪ Co$t  Challenges ▪ Architectural ▪ Functional

 Text file (.txt,.csv,.ini,.xml)  Registry (What?!?!)  Access  FoxPro (R.I.P.)  SQL Express  Open-source DB  Oracle, Sybase

SSQL CE SSQL Everywhere SSQL Mobile MMicrosoft SQL Server 2005 Compact Edition 33.1 SSQL CE SSQLce SSSCE

Server (1000’s of users) Workgroup (Dozens of users) Desktop (Single User) Laptop Tablet PC Windows CE Device Pocket PC Smart Phone Win 32 SQL Mobile SQL Express SQL Server SQL Server Compact Multi User Single User Scenarios Graphic courtesy Microsoft

 Fully relational in-process database  Win32 + Windows CE  Secure  OOB Sync  Tools support both Developer and DBA  Visual Studio ▪ Designer Experience, drag ‘n drop ▪ Server Explorer, Data Sources  SQL Server Management Studio ▪ DB design/creation ▪ Interactive query

 1.4 MB runtime  Admin and Non-Admin deployment options  Single-file, code-free format (.sdf)  In-Proc with the hosting app DOES NOT run as a service  Up to 4 gigabytes per database  Multi connections for background data operations  Simplified security w/password and encryption  Transaction (yes, ACID) for batch operations  Runs on mainline windows platforms (Windows Mobile/XP/2003)  Common programming model through ADO.NET  Auto re-use of empty pages  Multiple sync options  Proven, lightweight, 2-tier, scalable sync API (RDA)  Full-featured merge replication  Future investments for building occasionally-connected apps

CLR (.NET /.NET CF) Client Agent: Replication And RDA OLEDB / Replication API IIS CLIENT SERVER Storage Engine / Replication Tracking Server Agent: Replication and RDA HTTP b/a/g, CDPD, GSM, GPRS, CDMA, TDMA, etc. Data Provider SQL Server CE Data Provider SQL Server Client Data Provider ADO.NET Visual Studio 2005 (Visual Basic 2005 & C#) Managed Stack TDS Ethernet Well Connected Occasionally Connected OLEDB Visual Studio 2005 (C++) Native Stack OLEDB Provider QP/Cursor Engine SQL Server CE OLEDB SQL Server 2000 SQL Server 2005 Graphic courtesy Microsoft

SELECT IMEI, ProductCode, Quantity FROM (SELECT NULL AS IMEI, product AS ProductCode, (physicalqty - allocatedqty) AS Quantity FROM importstock WHERE (NOT mpstype IN(N'U', N'C', N'M', N'X', N'Y', N'P')) AND product IN (SELECT ProductCode FROM (SELECT importstock.product AS ProductCode FROM StockCountSchedule INNER JOIN StockCountProductCategories ON (StockCountSchedule.ID = StockCountProductCategories.ID) INNER JOIN importstock ON (StockCountProductCategories.Product_Type = importstock.product_type) WHERE (StockCountSchedule.IsRecount = 0) AND (StockCountSchedule.ID = ) UNION SELECT ProductCode FROM StockCountSchedule INNER JOIN CrossDevice_ProductsToRecount ON (StockCountSchedule.ID = CrossDevice_ProductsToRecount.StockCountID) WHERE (StockCountSchedule.IsRecount = 1) AND (StockCountSchedule.ID = )) AS StockCountProducts) UNION SELECT IMEI.imei AS IMEI, NULL AS ProductCode, NULL AS Quantity FROM importstock INNER JOIN IMEI ON importstock.product = IMEI.product WHERE (mpstype IN(N'U', N'C', N'M', N'X', N'Y', N'P')) AND importstock.product IN (SELECT ProductCode FROM (SELECT StockCountSchedule.ID AS StockCountID, importstock. product AS ProductCode FROM StockCountSchedule INNER JOIN StockCountProductCategories ON (StockCountSchedule.ID = StockCountProductCategories.ID) INNER JOIN importstock ON (StockCountProductCategories.Product_Type = importstock.product_type) WHERE (StockCountSchedule.IsRecount = 0) UNION SELECT StockCountSchedule.ID AS StockCountID, ProductCode FROM StockCountSchedule INNER JOIN CrossDevice_ProductsToRecount ON (StockCountSchedule.ID = CrossDevice_ProductsToRecount.StockCountID) WHERE (StockCountSchedule.IsRecount = 1)) AS StockCountProducts)) AS StockCountItems

 Merge Replication  True bidirectional data reconciliation  Fullest-featured synchronization option  Remote Data Access  Unidirectional change tracking (device)  Lightweight option  Can be complimentary (like chocolate & peanut butter)

 Client/server configuration  Leveraged by both RDA & MR  Client -> ActiveX ▪ SSCE via OLEDB ▪ Communication via HTTP(S)  Server -> IIS / ISAPI extension ▪ Handles interaction with SQL Server

HTTP (S) OLE DB IIS SQL CE Server Agent SQL Server SQL CE Client Agent SQL CE Database SSCE Engine OLE DB Application SQL Server Provider

 Server  Mobile-aware data ▪ Specific ▪ Easily partitioned (time/date, geo)  Filter column indexes  Segregate data ▪ R-O vs R-W

 Device-only change tracking  Pull data from server ▪ No calculated columns  Push changes  Not much change from 3.0  Can now push/pull while db is in use  Identity columns still problematic ▪ ALTER TABLE / manage range

 True synchronization  SSCE is the sub ▪ Gets initial snapshot from Server  SQL Server is the pub  Data changes on both ends reconciled during synchronization ▪ Server-managed, customizable conflict resolution

 SQL Server 2005 now ‘mobile-aware’ ▪ Download-only tables ▪ Progress notification ▪ Partitioned groups

 Multi-user access  Multiple subscriptions / same db  Background sync support  Sends only changed columns  Synchronization cancellation support  Progress updates

 SSMS  Create pub / Define subs  VS  Define sub  Initialize sub / Init sync

 Sync Framework  “Microsoft Sync Framework (MSF) is a comprehensive synchronization platform enabling collaboration and offline for applications, services and devices. Developers can build sync ecosystems that integrate any application, any data from any store using any protocol over any network. MSF features technologies and tools that enable roaming, sharing, and taking data offline.“ 

Since SQLce will run on the ‘desktop’, can I use it to back-end my ASP.NET website ? No. (but..) AppDomain.CurrentDomain.SetData(“SQLServerEver ywhereUnderWebHosting”,true)

 Ships with Orcas (VS2008 /.NET (CF) 3.5)  Can work w/.NET CF 2.0 & 3.5  90RTM publication compatible subscriber  Will work (sync) with Yukon (2005) and Katmai (2008), but not Shiloh (2000)  Support Synchronization Services for ADO.NET (desktop)  LINQ support

 VS2005 SP1  SQL Server 2005 SP2  SQL Server 2005 Compact Edition Tools for Visual Studio 2005  SQL Server 2005 Compact Edition Developer SDK  SQL Server 2005 Compact Edition Books Online (May 2007)  SQL Server 2005 Compact Edition Runtime  SQL Server 2005 Compact Edition Server Tools

   nologies/sqlcompact.mspx nologies/sqlcompact.mspx  