raymond endres development manager microsoft corporation bb05

32
Live Services: Building Applications With The Live Framework Raymond Endres Development Manager Microsoft Corporation BB0 5

Post on 15-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Raymond Endres Development Manager Microsoft Corporation BB05

Live Services: Building Applications With The Live Framework

Raymond EndresDevelopment ManagerMicrosoft Corporation

BB05

Page 2: Raymond Endres Development Manager Microsoft Corporation BB05

Agenda

Live Framework (Live fx) Overview Live Framework API Kits Live Framework .NET Kit

Page 3: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 4: Raymond Endres Development Manager Microsoft Corporation BB05

Introducing AzureA comprehensive hosted platform for your applications and services

Azure™ Services Platform

Page 5: Raymond Endres Development Manager Microsoft Corporation BB05

Live ServicesM

esh

Serv

ices

Identity Directory Storage Communications and Presence

Search & Geospatial

Users Devices SynchronizationApplications

Page 6: Raymond Endres Development Manager Microsoft Corporation BB05

Live Framework gives developers…

Cloud/Client/Device reach Access to user-data Application ecosystem Easy to get started

Page 7: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 8: Raymond Endres Development Manager Microsoft Corporation BB05

Live Framework

App ModelCommunicationsData

Tool

s an

d Se

rvic

es

Resource Model

Core

Open formats, protocols and operations

Libraries

Live Operating Environment

Page 9: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 10: Raymond Endres Development Manager Microsoft Corporation BB05

Showing the Mesh Board application

demo

Page 11: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 12: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 13: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 14: Raymond Endres Development Manager Microsoft Corporation BB05

Understanding Feeds

demo

Page 15: Raymond Endres Development Manager Microsoft Corporation BB05

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)}

Page 16: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 17: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 18: Raymond Endres Development Manager Microsoft Corporation BB05

Connecting to Live fx

demo

Page 19: Raymond Endres Development Manager Microsoft Corporation BB05

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; } }

Page 20: Raymond Endres Development Manager Microsoft Corporation BB05

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);

Page 21: Raymond Endres Development Manager Microsoft Corporation BB05

Creating Mesh Board

demo

Page 22: Raymond Endres Development Manager Microsoft Corporation BB05

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);}

Page 23: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 24: Raymond Endres Development Manager Microsoft Corporation BB05

Inviting Users

demo

Page 25: Raymond Endres Development Manager Microsoft Corporation BB05

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();}

Page 26: Raymond Endres Development Manager Microsoft Corporation BB05

Rich Client Application

demo

Page 27: Raymond Endres Development Manager Microsoft Corporation BB05

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 !!

Page 28: Raymond Endres Development Manager Microsoft Corporation BB05

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

Page 29: Raymond Endres Development Manager Microsoft Corporation BB05

Evals & Recordings

Please fill

out your

evaluation for

this session at:

This session will be available as a recording at:

www.microsoftpdc.com

Page 30: Raymond Endres Development Manager Microsoft Corporation BB05

Please use the microphones provided

Q&A

Page 31: Raymond Endres Development Manager Microsoft Corporation BB05

© 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.

Page 32: Raymond Endres Development Manager Microsoft Corporation BB05