Escolar Documentos
Profissional Documentos
Cultura Documentos
Live Services add Value to various Stages of application Development and Use Lifecycle
Live Framework provides Runtimes, API Kits, Resource Model, Tools and Controls to Build, Deploy, Run and Update Mesh-Enabled Web Applications
Mesh Application
Timely News
Deployment to Devices
Developers
Users
Uninstall
Discover
Develop
Get Updates
Evaluate
Websites
Reach Highpoints
Access from Anywhere Instant On Updates Sandboxed to Browser Deployment & Update Discoverable via Search Shareable via URL
Client Applications
Rich Highpoints
Rich and Native User Experience Occasionally Connected (Offline) Hosted on OS
Challenges Challenges
Occasional Connection(offline) Rich & Native User Experience Scalability Deployment & Update Discoverability Ability to share Sandboxing & Access control
Sync
Websites
Sync
Client-side Web Apps Hosted on Live Services or Websites DHTML, JavaScript/Ajax, Silverlight, etc Simple Feed-based Programming APIs AtomPub/RSS/XML/HTTP Auto Deployment and Update Sync Web App Files Socially Aware and Shareable Sync Web App data with users and devices Accessed by Originating Website User controlled access of data Runs in a Sandbox Browser sandbox Online & Offline
Device
Live Website
Desktop Host
Sandbox
Client LOE
Mesh Bar
Sandbox
Mesh Bar
Synchronization
Communication
App Catalogue
Live Services Store
App Manager
Notification
Enclosure
App Host
PubSub
Identity
Live Services
Storage
Developer Portal
Build and debug application using Visual Studio (or preferred tool)
Market and publicize your app on your web site (or anywhere else)!
Application
(Catalogue)
User Installs
Installed Application
User Creates
Data Instance
Has
User Shares
App can use Live social and device context Apps can build their own control/experience
Members
Devices
public Page() { InitializeComponent(); MeshApplicationService meshApp = Application.Current.GetMeshApplicationService(); meshApp.LoadCompleted += new EventHandler(app_Load); meshApp.Load(); } void app_Load(object sender, EventArgs e) { MeshApplicationService meshApp = Application.Current.GetMeshApplicationService(); RenderContent(meshApp); } void RenderContent(MeshApplicationService meshApp) { //Accessing Mesh myMesh = meshApp.LiveOperatingEnvironment.Mesh; //Accessing the Application Mesh Object meshApp.Resources.Title = "My Title";
MeshApp.run = function MeshApp$run() { Microsoft.LiveFX.MeshApplication.loadAsync(windows.location.hostname, Delegate.create(null, function(meshApplicationContext) { if (meshApplicationContext.state !== Microsoft.LiveFX.OperationState.Success) { MeshApp._showError('MeshApplication Load Failed'); } else { var meshApplication = meshApplicationContext.resource; meshApplication.get_runtimeEndpoint().get_mesh().loadAsync (Delegate.create(null, function(meshOperationContext) { MeshApp._onLoadMesh(meshOperationContext); })); } }));
Web Apps
Request for partial access to user data (Delegated Authentication) Pass requested permissions, App ID & Secret After user consent, gets a token to use against Live Services endpoint
Client Sandbox: Shared secret and cookies isolate each application Live Desktop Sandbox: Cookies, Iframe and domain isolation
2) Consent Request
Application ID Secret Resources Roles & Offers Consent Request User Consent Delegation Token Refresh Token
Used to authenticate a third party website Permissions can be managed at Mesh Object, Profiles, Contacts and Mesh Application level
Global Store for all Mesh-Enabled Web Applications Install From Catalogue Or Website Developer View vs End-user View Application Approval Process Applications are addressable & shareable via URL Accessed via Live Desktop web site
Live Framework Provides Tools and APIs Kits for Building Live Connected Apps
2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
www.microsoft.com
10% 23%
9% 58%