raymond endres development manager microsoft corporation bb05
Post on 15-Jan-2016
219 views
TRANSCRIPT
Live Services: Building Applications With The Live Framework
Raymond EndresDevelopment ManagerMicrosoft Corporation
BB05
Agenda
Live Framework (Live fx) Overview Live Framework API Kits Live Framework .NET Kit
Key Concepts
Live fx is the uniform way to program Live Services Any platform, Any programming language Any application or device
Live fx makes it easy to build software + service applications
.NET developers can use the Live fx API kit to build applications
Introducing AzureA comprehensive hosted platform for your applications and services
Azure™ Services Platform
Live ServicesM
esh
Serv
ices
Identity Directory Storage Communications and Presence
Search & Geospatial
Users Devices SynchronizationApplications
Live Framework gives developers…
Cloud/Client/Device reach Access to user-data Application ecosystem Easy to get started
Live Framework Scenarios
Integrate Live Services into your applications
Opt in to as much of the Live Framework as you like
Expose your application as Mesh Applications
Rich Applications
Reach applications
Live Framework
App ModelCommunicationsData
Tool
s an
d Se
rvic
es
Resource Model
Core
Open formats, protocols and operations
Libraries
Live Operating Environment
Live Framework
App Model
Catalog
Hosting
Mesh Applications
App Data & Settings
Application Management
P2P
Notifications
Presence
Communications
Folders
Photos
Contacts
Data
News
Favorites
Lists
Profile Calendar
Mapping
Search
System
User Mesh
WindowsWindows® Azure™
Cloud
CRUD Sync App Hosting
Resource Script Engine Auth/Z Analytics
Cache …
Client
CRUD Sync Hosting
Resource Script Engine Auth/Z Local Store
P2P File Sys …
Tools & Services
Developer Portal
Provisioning / Account
Management
Visual Studio Tools /
Designers
Analytics
Developer Sandbox
Live Operating Environment
Resource Model
Identity
Device Mesh
Applications
Core
ATOM JSON POX RSS Binary XMLAtomPub FeedSync
CRUD Sync URI-LINQ Resource Scripts Triggers Auth/Z IntrospectionHosting
.NET FX 3.5 APIs Silverlight APIs JavaScript APIs Client Controls …Web Controls
Libraries
Embedded Windows Mobile Other
Showing the Mesh Board application
demo
Live Framework API Kits
A set of libraries which can be used to program Live fx
.NET, Silverlight and JavaScript Libraries available today
Work on various platforms and programming languages
.NET FX 3.5 APIs
Silverlight APIs
JavaScript APIs
Client Controls …Web
Controls
Live Framework .NET KitDesign goals
Expose the core Live Services in a cohesive and consistent way
Make it easy and natural for .NET developers to consume Live Services
Offer a symmetrical programming model between client and server
Resource Model
Devices
Media Resources
Data Entry
Members Mappings Data Feeds News Subscription
Applications News Notification Queue
Mesh Objects
Scripts ProfilesMesh Contacts
LOEEnd-Point
Data Entry
Understanding Feeds
demo
Live Framework .NET KitAccessing Live Data
LiveOperatingEnvironment class Main entry point to all the Live Services Connect your application to the runtime endpoint
Sync and asynchronous patterns available Local or remote connections available
Set pre-fetch policy at connect time
foreach (Contact contact in loe.Contacts.Entries){ Console.WriteLine(contact.Resource.DisplayName);}
public static void Connect (NetworkCredentials creds){ Uri uri = new Uri(“https://user-ctp.windows.net”); LiveOperatingEnvironment loe = new LiveOperatingEnvironment(); loe.Connect(creds)}
Live Framework .NET Kit Accessing Live Data
Users control their data Rich applications work on behalf of users Web applications require
delegated authentication Mesh enabled web apps are sandboxed
Cloud LOE APIs
User
(1) Visits
(2) Consent Request to Access a Live FolderThird Party
Website/Application
Live Desktop
(4) Del Auth Token
(3) Views Request and Gives Consent
(5) API call with Del Auth Token
Live Framework .NET Kit Accessing Live Data
Connecting to Live fx
demo
Live Framework .NET KitManaging application data
Mesh Object Container of application defined data Fundamental unit of extensibility, sync and sharing Can be replicated across a set of devices Can be shared among a set of users
and applications Contains:
DataFeeds , Members, Mappings, News, Activities
MeshObject pokerObj = new MeshObject("PokerInfo");PokerChip chip = new PokerChip();pokerObj.Resource.SetUserData<PokerChip>(chip);loe.Mesh.MeshObjects.Add(ref pokerObj); public class PokerChip{ public int NumberOfChips { get; internal set; } }
Live Framework .NET KitManaging application data
DataFeed Stores application information
Metadata and blobs Has replication and sync capabilities An application may CRUD feeds at any time Receives update information A mesh object can have
any number of data feeds
DataFeed feed = new DataFeed();feed.Resource.Type = “LiveMeshFolder”;feed.Resource.HandlerType = “FileSystem”; meshObject.DataFeeds.Add(ref feed);
Creating Mesh Board
demo
Live Framework .NET KitSharing data
Members Represents a Live ID’s
membership in the MeshObject New members have to be
invited to be part of the Resource Has a role based within the object
Full, Writer, Reader
foreach (Member member in meshObject.Members.Entries){ Console.WriteLine(member.Resource.Title); Console.WriteLine(member.Resource.InvitationAccepted); Console.WriteLine(member.Resource.Role);}
Live Framework .NET KitSharing data
FeedSync Synchronization via RSS and Atom feeds Lightweight and extensible Supports multi-master Delivers same result at all endpoints Protocol independent Preserves conflicting data Diverse implementations encouraged Creative Commons Microsoft Open Specification Promise
Inviting Users
demo
Live Framework .NET KitTaking applications offline
Local endpoint Leverage the Symmetrical APIS
Same APIs are used in the local and cloud end point Change the target URL to be local Mesh Service takes care of the
data synchronization
public static void Connect (NetworkCredentials creds){ LiveOperatingEnvironment loe = new LiveOperatingEnvironment(); //loe.Connect(creds) loe.ConnectLocal();}
Rich Client Application
demo
Summary
Live fx is the uniform way to program Live Services Any platform, Any programming language Any application or device
Live fx makes it easy to build software + service applications
.NET developers can use the Live fx API kit to build applications
START USING THE PREVIEW TODAY,
WE WANT YOUR FEEDBACK !!
Related Sessions (Live Services)
BB04 - A Lap Around the Live Framework and Mesh BB41 - What I Learned Building My First Mesh App BB19 - Live Framework Architecture and Insights BB51 - Programming Live Services Using
Non-Microsoft Technologies BB06 - Mesh Services Architecture BB30 - Building Mesh-Enabled Web Apps BB31 - FeedSync and Mesh Synchronization Services BB35 - The Future of the Device Mesh BB34 - Notifications, Awareness, and Communications
Evals & Recordings
Please fill
out your
evaluation for
this session at:
This session will be available as a recording at:
www.microsoftpdc.com
Please use the microphones provided
Q&A
© 2008 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.