Top Banner
Accessing Windows Live Services via AtomPub Pablo Castro Software Architect Microsoft Corporation
17

Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Dec 30, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Accessing Windows Live Services via AtomPubPablo CastroSoftware ArchitectMicrosoft Corporation

Page 2: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Agenda

Service InterfacesAtom & AtomPubAtom-Enabled Data ServicesDrill Down: Windows Live Spaces PhotosData Services FrameworkWrap-up

Page 3: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Service Interfaces

Operation-centric vs data-centric interface style depending on the nature of the service

Data Centric

• Spaces Photos, …• Application-Based Storage• SQL Data Services• …

Operations Centric

• Messenger• Live ID• Alerts• …

Existing interfaces work well

New Atom interfaces

Page 4: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Data Services & AtomPub

AtomPub

Unified Development Story

Visual Studio

.NET and Silverlight

2

ASP.NET Integration

AJAX library

3rd party component

s

Consumer Services

e.g.:• Windows Live Spaces (Photos)

Infrastructure Services

e.g.:• Application- Based Storage• SQL Server Data Services

On-Premises Services

e.g.:• Data Services framework against local SQL Server

Page 5: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

The Atom Syndication Format

IETF RFC 4287

XML format

Organized in feeds, entries and links

Extensible data and metadata

<feed xmlns="…/Atom">

<id>…/Folders</id> <title>Folders</title> <updated>…</updated> <author> <name>John Doe</name> </author>

<entry> <id>…/Folders(123)</id> <title>Cool Pics</title> <updated>…</updated> <link rel="self" … /> <link rel="related" … /> <content type="app/xml"> < … content … > </content> </entry>

</feed>

Page 6: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

The Atom Publishing Protocol

IETF RFC 5023

Protocol for publishing and editing resources

Atom representations over HTTP

Simple RESTful interaction model

DE

LETE

PU

T

PO

ST

GE

T

Server w/ AtomPub interface

Page 7: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Photos is part of Windows Live Spaces

New experimental AtomPub interfacehttps://cumulus.services.live.com/{id}/

AtomSpacesPhotos

Authorization via LiveIDMore information at http://dev.live.com/liveidCheck out the delegated authentication SDK

Browse and create folders and photosFolders/Photos as Atom feeds and entriesPhotos are Atom “media link entries”

Drill Down: Photos

Page 8: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

URL Conventions

AtomPub does not specify URL formatWe follow a predictable, uniform pattern

Description Example URL

Top-level container /Folders

Address single entry by ID /Folders(123)

Traverse a link /Folders(123)/Photos

Addressing can nest as appropriate

/Folders(123)/Photos(456)/ImageStreams

Access primary value /Folders(123)/Photos(456)/$value

Presentation control ** $orderby, $filter, $top, $skip, $expand

Service metadata /$metadata

Page 9: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Accessing AtomPub Services

Any HTTP stack

• Minimal barrier of entry, retain full control• Manually deal with content and interaction

AtomPub libraries

• .NET: WCF Syndication• Many available for other environments

ADO.NET Data Services Framework

• Services that follow the ‘Astoria’ conventions• First-class support in client-stack

Page 10: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

ADO.NET Data Services Framework

aka “Project Astoria”

Rich framework for data servicesConsume existing servicesExpose your own data as a serviceModel-driven, uses the Entity Data Model

Follows the same patterns as Live services

Same HTTP AtomPub-based interface

Page 11: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Clients for Data Services

ADO.NET Data Services tools apply across all data services

.NET & Silverlight librariesObject-based API, LINQ query supportASP.NET integration

AJAX libraryTools driven by Entity Data model

3rd party control vendors for even richer toolbox

Page 12: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

AD

O.N

ET D

ata

S

erv

ices

Fram

ew

ork

Your Own Data Services

ADO.NET Data Services Framework

Data-centric servicesAtomPub interface‘Astoria’ conventionsVarious data sourcesOnline or on-premises

Data Access LayerEntity

Framework

Custom LINQ

provider

Relational database Other

sources

Service Runtime

Hosting/HTTP listener

HTTP

IQueryable [+ IUpdatable]

Page 13: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Summary

Service alignment We’re aligning our services on AtomPubFirst experimental interfaces available

Windows Live Spaces PhotosApplication-Based Storage (experimental service)SQL Server Data Services (soon)

Your own services can follow the same interface

Rich developer storyUnified conventions for URLs and data modelGrowing tools/components ecosystem

Try this out and give us feedback!

Page 14: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Related Talks at Mix 2008

SessionsRESTful Data Services with the ADO.NET Data Services FrameworkDeveloping with Windows LiveIntroducing SQL Server Data ServicesUsing the Microsoft Sync Framework and FeedSyncBuilding RESTful Real World Applications with the ADO.NET Data Services Framework

Also check out the hands-on labs!

Page 15: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

Resources

Windows Live APIshttp://dev.live.com

ADO.NET Data Services Frameworkhttp://astoria.mslivelabs.comhttp://blogs.msdn.com/astoriateam

AtomPubhttp://atomenabled.org

Contact mehttp://blogs.msdn.com/[email protected]

Page 16: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.

© 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 17: Service Interfaces Atom & AtomPub Atom-Enabled Data Services Drill Down: Windows Live Spaces Photos Data Services Framework Wrap-up.