There is a huge diversity of devices
Change of seasons…Computing used to be about My Computer
Now digital life spans multiple devices –>My Mesh
Data is everywhere, in the cloud, on devices
Data is shared
Applications now Span Devices
They are now more social
10:34 Challenges of today’s applications
Composing data across cloud services and devices is complex
Creating an ‘uber’ schema…relating information across disparate applications
Making data AVAILABLE everywhere
Keeping it synchronized
Writing communication code that can span these devices
Dealing with async updates and managing state
Different programming models
Resource management across the different devices.
10:39 An approach Live Operating Environment
Schema in the Cloud
Takes care of the plumbing
In the cloud and on all devices
Unified Programming Model
10:40 10k foot view of framework
10:41 Demo…it’s all http!
No one wants to make all the models the same, just a unified way of using them.
Using HttpRequest to interact with Live Mesh (as demoed at Don/Chris keynote yesterday.
More benefits using the Live Operating Environment
10:48 Live Mesh supports Always online and Occasionally connected scenarios
Talking to the Live Operating Environment handles both scenarios seamlessly.
10:51 Demo same code talking to Live Operating Environment
Can request from the environment whether you are currently connected
10:53 Inside the Live Operating Environment
Is host independent
Service proxies – provide abstraction layer between LOE and service providers
Pluggable Synchronization Engines
10:56 Services Provided by the Framework
10:58 Programming model layered over it all
Resources & Relationships
Naming and Addressing
11:00 Everything is a Resource
They are addressable by standard URI methods
All HTTP Methods are Supported
11:01 Resource Scripts
DSL for AtomPub and FeedSync
Grammar includes statements for CRUD, sync, control flow and data binding
Powerful batching model
Pre/Post triggers associated with resources
Programs serialized in JSON and POX
Native XAML and DLR bindings coming up
11:03 Control Flow
Sequence…statements executed in order
11:05 Authoring Scripts
Build statement DOM
Can store named scripts for later execution
11:06 Resource Script Demo
Script select random images from flickr create a live mesh folder and store the images in the folder
Programming resource script very similar to programming CodeDOM
Compile the script, gives multiple output formats (JSON, POX)
Because it’s a DOM based language…almost any modeling tool can be used to create a Resource Script
Loaded Resource Script in python sent the request over http and was able to run as is without any special conversion.
11:19 Data Extensibility Demo
People want the ability to take their data where ever they want.
Need to decide what data is a competitive advantage for your app vs. what’s useful to make available to other apps
Think of Geographic Location with Mesh enabled car
Data definition done using attributes DataContract
Stored geolocation and retrieved using mesh.
Viewing information using Live Framework Resource Browser.
Viewing data in XML Format
Viewing data in JSON format
11:35 Tips n’ tricks
Blow away local store to start fresh
Metadata Store in SQLCE
RMB helps debug client/app problems
Monitor size of Assembler vs MR directory is lightweight way to measure progress of synch
Collecting logs will help you send issues. Mesh team looks at all logs!