The document discusses the Live Framework which provides building blocks for handling user data and connecting applications to hundreds of millions of users. It includes information on Live Services, the Live Framework resource model, and how developers can get started using Live Framework.
7. Live Services
… are a set of building blocks for handling user
data and application resources which can
connect your application to hundreds of
millions of users.
Live Services
Mesh Services
1.2B 367M 500M 30B nnPB 320M
9. …is the uniform way for programming
Live Framework Live Services from a variety of
platforms, programming languages, applications
and devices.
Libraries
.NET FX APIs Silverlight™ APIs JavaScript APIs Client Controls Web Controls Other
Resource Model
Atom Pub FeedSync Tools &
ATOM JSON POX RSS Binary XML
Services
CRUD URI-LINQ Triggers Auth/Z Introspection
Resource Scripts
Operations
Developer
Data Applications Communications Portal
Developer
Profile Groups Folders Catalog Peer-to-Peer
Sandbox
Contacts Calendars Photos Application Settings Notifications
Identity
Provisioning/
Custom Data Types Application Management Presence
Account
News
User System
Management
Geospatial Search
Analytics
Visual Studio®
Mesh
User Mesh Device Mesh Application Mesh Synchronization Tools/ Designers
Live Operating Environment
Cache Sync Engine Sync Engine
CRUD CRUD Peer-to-Peer
Analytics Auth/Z Auth/Z Cash/Local Store
Resource Script Resource Script
Files System Resource Manager
Engine Engine
Peer-to-Cloud
:Cloud_
Windows Other :Client_
Windows® Azure ™
Embedded Windows Mobile
9
10. Live Framework Resource Model
Live Operating
Environment
Scripts Mesh Profiles Contacts
Devices Applications Mesh News Notification
Objects Queue
Members Mappings Data Feeds News Subscription
Data Entry
Media
Resources
Data Entry
11. Bring exciting new devices into the Mesh, integrate with core
World of
Devices infrastructure and experience
Social and
Seamlessly integrate social applications across invites, news feeds,
Community
local devices experiences, and more
Sites
Take your web application and content to the client, enable a rich and
Web-to-
the Client seamless offline experience
Service-enable client applications, make them Mesh-aware,
Client-to-
enable multi-user sharing-based experiences
the Web
13
12. Live Services
Live Framework
Getting Started
Read up: http://dev.live.com
Get a Live Framework CTP Token and sign up at
http://developer.mesh-ctp.com
Download the bits
Live Framework SDK
Silverlight Tools for Visual Studio
Live Framework Tools for Microsoft Visual Studio*
Go forth and Meshify
Central to the Live Framework is the way we store information – this is represented in the Live Framework Resource Model. The Resource Model is a structured way to represent the data stored and all the relationships between them. The Live Framework defines an information model based on entities, collections and the relationships between them. An entity is the base unit of the model, and it is really just a resource with a set of properties. Let’s start with a single data entry – this may have a relationship to a set of media resources, and it may have a relationship to one or more additional data entries. Regardless, the data entry will be a child of a data feed. A data feed is simply a collection of data entries. For example, a data feed that you will become very familiar with is the one that is exposed by the MeshObjects entity. MeshObjects is part of the Mesh collection, which is part of the Live Operating Environment. The Live Operating Environment is the runtime that executes on all devices including the cloud and is the root of the hierarchy. Take a note of the Live Operating Environment’s four children – Scripts, Mesh, Profiles and Contacts – as we bring more Services under the Live Framework umbrella we will be seeing them alongside these.
The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: <SPECIFY THE NAME OF THE DEMO SCRIPT FILE>
The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: <SPECIFY THE NAME OF THE DEMO SCRIPT FILE>
What kinds of applications do we expect to see built using the Live Framework?World of devicesWe expect to see different kinds of devices taking advantage of the Live Framework to produce and consume data, and also to share it amongst different people and applications on different devicesSocial and Community SitesThere are some exciting scenarios that can be enabled in exiting social and community sites by getting the Live Framework engine power things like invites, news feeds and local device experiencesWeb to the ClientAlso, in the world of offline, web apps tend to fall down but with seamless offline/online apps powered by Live Framework synchronization it’s really easy to do.Client to the WebFor those developers who are creating client apps that run on any platform, Live Framework provides a great way to extend them out to the cloud with ease. By giving them knowledge of Mesh Services combined with access to the social graph, developers can unlock useful sharing scenarios across different devices.
This is the layer cake diagram you’ve seen already, showing Microsoft’s Azure Services Platform. Windows Azure provides the environment to run your code in the cloud. It provides storage and management capabilities. Built on top of the Windows Azure foundation is a broad collection of services that you can consume from both on-premise and cloud-based applications, using standard protocols such as HTTP and SOAP. In other words, developers can use these services not just from Windows Azure but from within your Enterprise, from your customers and from other clients. Live Services provides the building blocks to connect your applications, data and devices to half a billions users.
We are seeing 4 key trends emerge with software and how our customers are behaving whilst participating in their digital life.DataThere has been an explosion of data in recent years, the stuff you care about There are many more different things that produce data; like applications and devices…DevicesThese are all the things with a CPU that are a part of your Digital LifestyleThink about how many you have at home? PC, Laptop, Mobile Phone, Media Center, Mac, iPhone, BlackberryAll these devices are great, but, they are producing more data than ever beforeDevices are also consuming more data too, and they’re getting hungrier than everKeeping all this data consistent and available across all my devices is tough to doApplications Applications influence how you interact with the data on your devicesYou want to have similar experiences with the same app across different devices, with slight twists.A good example is email. In outlook you want to do email in a certain way, but on a mobile device that might change, or think about a Media Center – that would be different too.PeopleSoftware is becoming more social than ever beforeOnce you have data on your devices that maybe you have done some cool stuff with your application then you want to be able to share that with people you care about.More and more aspects of software are about sharing with people you care aboutThink about my photos, I take them with a device – it’s creating data. I bring them all together in Windows Live Photo Gallery and maybe crop/remove red eye. Then I can share them with my friends and family by either creating a photo movie or uploading them automatically to my Live Space or another service like Flickr.OverallAs you can see when you think about these four different vectors; Data, Devices, Applications and People there are many different scenarios that can be enabledMany of these scenarios are fairly complex and it’s difficult to build software that cover all four vectors of Zen easily
The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Demo Script – Live Desktop & Mesh-Enabled Web Applications.pptx
Let’s talk about some of the problems that we face when building software that is so interconnected and seamless for the userFoundationYou need something central that bridges all data, devices, people and applications together; it’s like the foundationIdentityYou can think of this in two parts:Authentication – proving who you are so we can give you the right data and apps on the right devices and share with the right group of peopleAuthorization – what can you do. This about trust and giving different people access to different pieces of dataIn this new world where we have Devices and Applications we have to think about how these have their own access to those same pieces of data – and how we handle authentication and authorization for those tooDataWe can represent data in many different ways and a universal representation of data is something that we strive for where developers from any platform can consume data in formats and standards that they are comfortable with – figuring out how to do this elegantly so we have developer equality is a tough problemDevicesDevices are difficult to manageHow does my software talk to my devices?How do I know where my devices are?It’s difficult to understand what you can do with a device too to make best use of it’s capabilitiesSyncSynchronization is often confused with “Offline” whilst related they are somewhat differentSync is about moving data closer to people on the applications and devices that they useOutlook is a great example where the sync process has been perfected over many years. Email gets to me on pretty much whichever device I am using thanks to the Exchange Server being my central and my different apps like Outlook on Windows or Outlook on the Web or Outlook on my phoneSync is a hard problem when you factor in device characteristics like networking protocols, routers and NATs, conflict resolution, the list goes on. It’s hard to do well.SharingThe ability to share not just data but also applications and the many to many trust relationships that can exist in this type of world between, devices, apps and people and their data.StateKnowing what is happening in your digital world is very important for usersThey want to know what’s going on with a device. Is it online? Is it healthy? Does it need an ink refill if it’s a printer.They also want to know what’s going on with their people. What are they up to? Are they available to chat – what’s on their minds.CommsThere are some foundational bits that you need to get right at the networking level tooIf you don’t get this right then writing software in a highly connected world is almost impossible to achieveWe consider things like peer-to-peer, NAT all those kinds of things so it’s transparent to the developer when they create their software.
To help solve those hard problems we have Live Services which help bring all those vectors of the digital lifestyle, the data, devices, apps and people together.Microsoft runs some of the largest online datacenters and services around:Our identity services do 1.2 billion authentications every dayWe have about 367 million downloads of the applications that talk to the services online. We have 500 million entries in our contacts database - imagine the world’s largest address book!In that address book we’ve got 30 billion relationships between people, like when I identify my friends onlineWe have a enormous amount of storage being used Over 300 million connections on our relay network that underpin applications like Live MessengerThat’s a great foundation but in this new world we need some new building blocks to allow me to connect data, devices, apps and people together. We call these Mesh Services.