Smart Client Offline Data Caching and Synchronization

Similar documents
Smart Client Offline Data Caching and Synchronization

NET237: Deploying Smart Client Apps with ClickOnce

APP301: Implement a Data Access Layer with Enterprise Library

Thinking and Processing in Parallel Wrap Your Head Around WF 4.0 Concurrency. Brian Noyes IDesign Inc (

Data Binding in ASP.NET 2.0

Tackle Complex Data Binding in WinForms 2.0

VS10 WCF of Many Flavors When do I use which?

Drive Application Behavior with Application and User Configuration Settings. Brian Noyes IDesign Inc (

Build Custom Data Bound Objects and Collections

Data Binding with Windows Forms 2.0

Drive Application Behavior with Application and User Configuration Settings Brian Noyes IDesign Inc (

Introduction to.net Deployment. Brian Noyes IDesign, Inc. (

VWC02 Build N-Tier Silverlight Data Applications Easily with WCF RIA Services

Building Extensible XAML Client Apps

WCF RIA Services. About Brian 8/10/2011. Brian Noyes Chief Architect IDesign Inc. (

AR.04 Composite Application Guidance for WPF (aka Prism ) Brian Noyes IDesign Inc (

VSC01 Securing WPF Client Applications

LVL08 Black Belt Silverlight Business Data Validation

Build Loosely Coupled Silverlight Business Applications

VS08 This One Goes to Going Parallel with PFX, PLINQ, TPL and Async Keywords

Build Testable Client and Service Applications

Build Process Driven Applications with WF

Prism Composite Application Guidance

Composite Application Guidance for WPF and Silverlight (AKA Prism 2 )

NE.15 Data Binding In Windows Presentation Foundation

Blissful Separation of Concerns with Model-View-ViewModel (MVVM)

Learn to Behave Extend Your XAML with Behaviors

Building Extensible XAML Client Apps

Windows Presentation Foundation In Windows Forms And Vice Versa

Building Loosely Coupled XAML Client Apps with Prism

Microsoft TechEd US, Europe, Malaysia, Visual Studio Connections, DevTeach, INETA Speakers Bureau, MSDN Webcasts

Extending ASP.NET. Brian Noyes Principal Software Architect IDesign, Inc. ( (

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Learn Well Technocraft

<Insert Picture Here> Getting Started with Oracle and.net

Course Outline. Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led

[MS20487]: Developing Windows Azure and Web Services

COPYRIGHTED MATERIAL. Introducing the Project: The SmartCA Application. The Problem

10265: Developing Data Access Solutions with Microsoft Visual Studio 2010 Duration: 5 Days Method: Instructor-Led

MS-20487: Developing Windows Azure and Web Services

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

--Microsoft-- --Windows Phone--

Developing Data Access Solutions with Microsoft Visual Studio 2010

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

<Insert Picture Here> What's New for.net Developers for Oracle Database

Developing Windows Azure and Web Services

"Charting the Course... MOC A Developing Data Access Solutions with Microsoft Visual Studio Course Summary

Visual Studio for SQL Developers

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led

Migrate Your Skills to Microsoft.NET Framework 2.0 and 3.0 using Visual Studio 2005 (C#)

PDSA. Developer's Guide to Reporting Services 2008 R2. design» architecture» security» training» best practices:pdsa.com

Oracle 10g and IPv6 IPv6 Summit 11 December 2003

Mastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500

Today: Distributed Objects. Distributed Objects

17 Roberts St #2 Brookline, MA

Distributed Computing

Microsoft Developing Windows Azure and Web Services

10267 Introduction to Web Development with Microsoft Visual Studio 2010

Microsoft.CerTkiller v by.SANDRA.65q

70-487: Developing Windows Azure and Web Services

SHAREPOINT 2013 DEVELOPMENT

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

DE Introduction to Web Development with Microsoft Visual Studio 2010

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Third Teaching Hour: 80(32+48)

Architecting C++ apps

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

Connecting ESRI to Anything: EAI Solutions

Introduction. Introduction. JavaScript 1.8: Web and Objects Copyright by LearnNow, LLC All rights reserved. Reproduction is strictly prohibited.

Upgrading to Windows Server 2008

Implementing ArcGIS Mobile Applications for the Enterprise

DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE

SERVICE-ORIENTED COMPUTING

Exploring.Net Orcas. Contents. By Punit Ganshani

Conception of Information Systems Lecture 1: Basics

Xiaoying Guo Program Manager Microsoft Server and Tools China Session Code: DEV377

Developing Microsoft Azure Solutions

Pro Business Applications with Silverlight 4

Programming and Design Patterns for the ArcGIS Mobile SDK

Distributed Middleware. Distributed Objects

Programming Windows Azure

ASP.NET Using C# (VS2017)

Course Outline. Introduction to Azure for Developers Course 10978A: 5 days Instructor Led

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days

10267A CS: Developing Web Applications Using Microsoft Visual Studio 2010

Introduction. Introduction

COURSE OUTLINE: OD10267A Introduction to Web Development with Microsoft Visual Studio 2010

Getting Started with Oracle and.net

Integrating Oracle Databases with NoSQL Databases for Linux on IBM LinuxONE and z System Servers

Missing link in the automated development process DevOps Integrating TFS and SCOM. Ognjen Bajic, MVP for VS ALM, PMP, MCSD, MCTS:TFS Ekobit

Azure Development Course

Introduction. Introduction. Copyright by LearnNow, LLC All rights reserved. Reproduction is strictly prohibited.

NET 3.0 and NET 3.0 contains four building blocks, shown in the figure below:

ASP.NET Using C# (VS2013)

Data Consistency Management for Hybrid Scenarios

Chapter 1: Introducing SQL Server

Microsoft MB Microsoft CRM Installation and Configuration V

Modern App Architecture

Developing Microsoft Azure Solutions: Course Agenda

Introduction. Introduction

Transcription:

Smart Client Offline Data Caching and Brian Noyes Principal Software Architect IDesign, Inc.(www.idesign.net) About Brian Principal Software Architect, IDesign Inc. (www.idesign.net) Microsoft MVP in ASP.NET Writing MSDN Magazine, MSDN Online, The Server Side.NET, CoDe Magazine, asp.netpro, Visual Studio Magazine Data Binding in Windows Forms 2.0, Addison-Wesley, expected release fall 2005 Speaking Microsoft TechEd US, Europe, Malaysia, SDC, Visual Studio Connections, DevTeach, VSLive!, INETA Speakers Bureau Participate in Microsoft design reviews E-mail: brian.noyes@idesign.net Blog: http://www.softinsight.com/bnoyes 1

Agenda What is a Smart Client? Offline Operations Challenges Data Communications Strategies Connection Management Client Side Data Caching and Offline Application Block What is a Smart Client Rich user interface (Windows Forms) Connects to back-end services Runs securely on the client Supports auto-deployment and update over the network Supports disconnected operations 2

Agenda What is a Smart Client? Offline Operations Challenges Data Communications Strategies Connection Management Client Side Data Caching and Offline Application Block Offline Operations Challenges Offline use case identification Online communications transport Connection management Client-side caching approach Offline data synchronization Security 3

The Big Picture Client Server Data Cache Communications Layer? Communications Layer Business Layer Data Access Layer Data Tier Database Agenda What is a Smart Client? Disconnected Operations Challenges Data Communications Strategies Connection Management Client Side Data Caching and Offline Application Block 4

Communications Strategies Database.NET Remoting Enterprise Services (COM+) MSMQ Web Services Indigo Data Transfer Strategies Object-Oriented Pass a Data Transfer Object via a method call or property DataSet or custom business entity Service-Oriented Invoke operation, passing or receiving parameters Deliver message containing data Data-Oriented Query execution / Replication / Queues 5

Agenda What is a Smart Client? Disconnected Operations Challenges Data Communications Strategies Connection Management Client Side Data Caching and Offline Application Block Connection Management Detect and control online vs. offline operations Modify UI / Functionality Detection techniques Try connected operation handle failure WinInet API Offline Block Connection Management NetworkChange/NetworkInterface classes (.NET 2.0) 6

Demo: Connection Detection Brian Noyes IDesign, Inc. www.idesign.net Agenda What is a Smart Client? Disconnected Operations Challenges Data Communications Strategies Connection Management Client Side Data Caching and Offline Application Block 7

Client Data Caching Memory Saved Data Transfer Object Database MSDE, SQL Express, SQL Mobile Message Queues MSMQ Database Custom, SQL Service Broker Enterprise Services Data Reference data vs. operational data Data oriented Merge replication Service oriented Remote method invocation Message delivery Confirmation return message Poll for completion 8

Data Concurrency resolution ADO.NET detection / exception propogation Distributed transactions Enterprise Services Indigo Demo: Client Data Caching and Options Brian Noyes IDesign, Inc. www.idesign.net 9

Agenda What is a Smart Client? Disconnected Operations Challenges Data Communications Strategies Connection Management Client Side Data Caching and Offline Application Block Offline Application Block Connection State Detection / Control Download / Upload Data Queued data requests Reference Data Caching Asynchronous request processing Encryption / signing of stored data Provider model for connection detection, data request queuing, data caching, service agents 10

Offline Application Block Application Connection Manager Service Agent Manager Data Loader Manager Connection Detection Strategy Service Agent Application Service Agent Queue Manager Application Code Queue Manager Block Components Block provides some components Executor Online Proxy Reference Data Cache Cache Block Demo: Offline Application Block Client Brian Noyes IDesign, Inc. www.idesign.net 11

Summary Design for disconnected operations early Identify offline use cases Pick data communications technology Select caching and synchronization mechanism Prefer decoupled, service oriented approaches for enterprise applications Simplest option: Isolated Storage caching of DataSets passed through Web Services Explore the Offline Application Block for maximum flexibility Email: brian.noyes@idesign.net Blog: http://www.softinsight.com/bnoyes Resources COM and.net Component Services, Juval Lowy, O Reilly & Assoc: http://www.oreilly.com/catalog/comdotnetsvs/ Smart Client Architecture and Design Guide: http://www.msdn.microsoft.com/smartclient/default.aspx?pull=/li brary/en-us/dnpag/html/scag.asp Smart Client Offline Application Block: http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnpag/html/offline.asp SQL Express: http://msdn.microsoft.com/express/sql/ 12