1. LIVE MESH & LIVE FRAMEWORK
Alexander Deguffroy & Bart Lannoeye
2. 2
PROBLEM?
• Photos
• Movies
• Office documents
• Colleagues
• Friends
• Family
• PC/Mac
• Mobile
• Media Center
• Gaming Devices
• Flickr
• Facebook
• NYTimes Reader
• Outlook
Data
Devices Applications
People
?
6. 6
LIVE SERVICES
• Live Services is already reality.
– Hotmail, Live Messenger, ...
Live Services
Devices Applications Synchronization
Mesh Services
User
7. 7
LIVE FRAMEWORK IN DETAIL
Visual Studio®
Tools/ Designers
Tools &
Services
Developer
Portal
Provisioning/
Account
Management
Analytics
Developer
Sandbox
.NET FX APIs Silverlight™ APIs JavaScript APIs Client Controls Web Controls Other
Libraries
Live Operating Environment (used to be MOE)
Windows® Azure ™
Windows Other
Embedded Windows Mobile
:Cloud_
:Client_
CRUD
Resource Script
Engine
Cache
Analytics
Sync Engine
Auth/Z
CRUD
Resource Script
Engine
Sync Engine
Auth/Z
Files System
Peer-to-Peer
Cash/Local Store
Resource Manager
Peer-to-Cloud
Catalog
Application Settings
Application Management
Peer-to-Peer
Notifications
Presence
Profile Groups Folders
Contacts Calendars Photos
Custom Data Types
Geospatial Search
Resource Model
Atom Pub FeedSync ATOM JSON RSS Binary XMLPOX
CRUD URI-LINQ Resource Scripts Triggers Auth/Z Introspection
Mesh
User Mesh Device Mesh Application Mesh Synchronization
Data Applications Communications
User System
Identity
News
Operations
8. 8
RESOURCE MODEL
Devices
Data Entry
Members Mappings Data Feeds News Subscription
Applications News Notification
Queue
Mesh
Objects
Scripts ProfilesMesh Contacts
LiveOperating
Environment
Data Entry
Media
Resources
9. 9
RESOURCE MODEL BROWSER
• Comes with Live Framework SDK
• Examine local & cloud Mesh Resource Model
– ATOM, JSON, POX, RSS
DEMO
RESOURCE MODEL
BROWSER
11. 1
1
MESH SERVICES
• Live Fx API = your “CLR” for Cloud Services
• Visual Studio tools or Javascript Library
DEMO
MESH SERVICES
12. 1
2
GET STARTED
• Go to: http://dev.live.com/liveframework/sdk/
• Click on “Microsoft Connect” link to sign-up
for CTP
• While waiting for access: learn more about
Live fx on:
– http://dev.live.com/
– http://channel9.msdn.com/pdc2008/
– ...
13. LIVE MESH & LIVE FRAMEWORK
Alexander Deguffroy & Bart Lannoeye
QUESTIONS?
14. LIVE MESH & LIVE FRAMEWORK
Alexander Deguffroy & Bart Lannoeye
THANK YOU FOR YOUR ATTENTION.
Notas do Editor
rise of “social computing”, intrinsic to the user’s data is the notion of sharing
Hard to manage data, devices, people, apps
-> Framework to solve problem
-> connecting devices, data & apps through a consistent, approachable framework
The notion of “my computer” -> a user’s “mesh-- where a mesh is the sum total of a user’s data and data shared with the user’s friends and family, all stored on a set of related devices (including cloud devices).
Client & Desktop built on top of Live fx, no hidden API’s
Client supports:
PC (XP, Vista)
Mac
Windows Mobile 6
General picture:
MS Vision of Cloud Computing
Windows Azure as Cloud OS
Services on the cloud to support their applications and allow us to make applications
Live Services:
Identity services: manage person, device & app identities with associated services like Delegate Authentication
-> at center of everything (Live ID, sign-in/up, app key management, ...)
Directory services: manage association & relationships between identities, data, devices & apps
Storage: manage persistence and retention of user-centric info as contacts, files and extensible data types
Communication & presence services: provide transport infrastructure for transient & persistent state management between apps & devices
Search: set of technologies for building/enhancing search on websites & apps
Geospatial: geocoding/reverse geocoding features, routing, search, road/aerial image mapping for visualizing geospatial data
Mesh services = underlying core services of Live fx (added/targetted for the mesh)
Users: managing a user’s Mesh (dev, app, data) + sharing these resources across multiple users.
Devices: managing collection of dev (including relationships, status, security, ...) in a user’s Mesh
Application Management Services facilitate configuration, deployment and versioning of apps (including Mesh apps)
Synchronization: ensure a seamless synchronization of data and metadata between apps, devices & the cloud (open protocols)
Live Operating Environment
Symmetric Cloud & Client Service Composition Engine
Integrated Synchronization & offline operations
Communications, device management, presence & notification services
The HTTP Endpoint can be accessed using protocols such as Atom Pub, JSON, RSS, etc
Resource Model
Served from the Live Framework runtime environment. (Live Operating Environment)
Core Services like Identity, Devices and applications.
Specific user data: Photos, files, contacts, calendar events
Communication Infrastructure: Device to device or application to application communication and synchronization
Application Model: To help you distribute your applications
Library
Entry points into the Live Framework using API kits. .NET, Silverlight and JavaScript
= User-centric data store
API = REST
Model = Feeds (rss/atom)
Set of Properties (relationships, type, ...) + Entity (resource) + Collection of new entities
Resource Model: This consists of user resources and relationships between resources. Each resource exposes specific user information such as Contacts, Profiles, Mesh Objects, Devices, and News, and they are all represented in terms of URL addressable endpoints. These resources can be projected to various type systems.
Data Entry
Base unit of extensible storage. Think of it as an item in the grocery list, or a blob
Multiple data entries can loosely associate together
Media related: in MediaResources
Data Feed
Collection of Data Entries, unit of synchronization
Things are the same level:
Members: Who is this data being shared with and what role do they have
Mappings: Which devices does this data appear on. Both users and applications can select that
News: What events are happening, user or application generated
Subscription: What events are happening to this mesh object
Mesh Objects
Container for data that is replicated across devices
Also a unit of permissioning
Mesh (owned/controlled by user)
This is the Mesh Resource Under it are:
All the devices in the Mesh:
A MeshDeviceResource represents a physical device claimed by a user.
All the Applications in the Mesh:
The ApplicationResource represents a provisioned and registered application entity in the application catalog. The ApplicationResource optionally contains a packaged form of the application binaries.
All the mesh objects in the Mesh:
A MeshObjectResource is the container for user-defined metadata. The MeshObjectResource is a fundamental unit of extensibility, sharing, and synchronization. The resource can be replicated across a set of devices and shared among a set of identities.
All the News happening in the Mesh:
NewsItemResource resources represent user news streams. A NewsItemResource is a collection of aggregated news items corresponding to the activities across the user’s MeshResource resources, spanning all federated storage service instances, members, and devices. Each news item is a unit of publication and subscription.
All the events occurring in the Mesh:
A NotificationQueueResource contains notifications associated with resources. A pointer to the notification queue is added as part of the subscription to a particular resource. Notification queues are polled by client applications to get updates on the resource.
Very usefull to LEARN + Debug
Winform/WPF/ASP.NET/MVC -> .NET 3.5 FX API library
Silverlight -> Silverlight API
3rd Party -> Javascript library
Examples:
Live Mesh Client = 3.5
Live Mesh Destkop = Javascript