Project Description
Application demoed during the 2011 TechEd North America presentation on creating "Occasionally Disconnected" applications. Click HERE to download the slides shown at
the presentation.
PreReqs:
- Visual Studio 2010 SP1
- SQL Express install and accessible as “.\sqlexpress”
- You can also edit the database setup scripts and web config files
- Silverlight 5 Beta
- Silverlight Toolkit April 2010 Installed
- RIA Services Toolkit April 2011 Installed
Setup Steps:
- Go to \Lib\DatabaseSetup and run ResetDatabase.bat
- Load the Solution, InsuranceAdjuster.sln
- Set your startup project to be InsuranceAdjuster.Web
- Right-click on the project and select “Set as Startup Project”
- Set your start page to be Default.aspx
- Right-click on the file and select “Set as Start Page”
- Start the application (F5)
If there are any bugs, questions, or comments, please let me know via the
Discussions page.
Jason R. Shaver
Silverlight Program Manager
Core Features:
Below lists some of the core features demoed at TechEd and some files you can look at to see how we did it.
The main design goals of our architecture is:
- Developers should code the same way without regard to being online or offline
- Developers should not have to worry about the current 'state' of an object (is it dirty, syncing, downloading)
- Developers should be able to choose how to handle data changes and conflicts
- The system should support any data layer such as POCO, CLSA, RIA Services, etc.
Local Entity Storage
InsuranceAdjuster\OccasionallyConnected\ObjectStores\IObjectStore.cs
InsuranceAdjuster\OccasionallyConnected\ObjectStores\SterlingObjectStore.cs
Entity Syncing
InsuranceAdjuster\OccasionallyConnected\CacheMonitors\ICacheMonitor.cs
InsuranceAdjuster\OccasionallyConnected\CacheMonitors\PollingCacheMonitor.cs
InsuranceAdjuster\OccasionallyConnected\Messages\SyncMessageBase.cs
InsuranceAdjuster\OccasionallyConnected\Messages\SyncClaimsMessage.cs
Message based Communication
InsuranceAdjuster\OccasionallyConnected\Message.cs
InsuranceAdjuster\OccasionallyConnected\Message.static.cs
InsuranceAdjuster\OccasionallyConnected\Messages\SyncMessageBase.cs
InsuranceAdjuster\OccasionallyConnected\Messages\GetClaimMessage.cs
Durable Messaging
InsuranceAdjuster\OccasionallyConnected\Messages\SaveClaimMessage.cs
InsuranceAdjuster\OccasionallyConnected\ObjectStores\IObjectStore.cs
MVVM Light ViewModel Base Classes
InsuranceAdjuster\ViewModels\ViewModelBase.cs
InsuranceAdjuster\ViewModels\ViewModelBaseOfT.cs
Loading an Entity Via Messages
InsuranceAdjuster\ViewModels\ClaimViewModel.cs
InsuranceAdjuster\ViewModels\ViewModelBaseOfT.cs
InsuranceAdjuster\OccasionallyConnected\Messages\GetClaimMessage.cs