Your SlideShare is downloading. ×
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Windows Live Technical Development Series   Part 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Windows Live Technical Development Series Part 1

1,086

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,086
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. Windows Live Development Series Session 1: Overview [presenter info]
    • 2. Series Agenda
      • Session 1: Overview
        • Platform overview, service access, integration
      • Session 2: Site-Centric Services
        • Search, Virtual Earth, Silverlight Streaming, Expo
      • Session 3: User-Centric Services
        • Live ID, Spaces, Photos, Contacts, Messenger, Alerts
    • 3. Session Agenda
      • Live Developer Platform
      • Service access
      • Integration
    • 4. Live Developer Platform
      • A series of APIs that enable 3 rd party applications to leverage the network, assets, and services of Windows Live
      • Access methods vary by API
        • HTTP, HTML, SMTP, WebDAV, REST, RSS, XML-RPC, SOAP
      • Client-side controls are provided for some services
        • Contacts, Photos, Virtual Earth
    • 5. Live Services Licensing
      • Services begin free (including commercial usage)
        • Search up to 750,000 queries/month
        • Virtual Earth up to 3 million map tiles/month
        • Silverlight Streaming up to 4GB with unlimited streaming and users
        • Services exposed through Live-branded controls
        • Most other services under 1 million unique users (UU)/year
      • Cost is introduced with volume
        • Most services will charge $.25/UU/year when 1 million UU/year threshold is reached
        • Services will have advertising revenue sharing alternative option
      • Latest details available at http://dev.live.com/terms/
        • Read very carefully!
    • 6. Service Access
      • HTTP
      • HTML
      • SMTP
      • Live controls
      • REST
      • WebDAV
      • RSS
      • XML-RPC
      • SOAP
    • 7. Live Services * Not a complete or final list Service Purpose Access Methods* Live ID Authentication HTTP, SOAP Search Web, image, ad, and other searches HTTP, SOAP Expo Online marketplace HTTP Virtual Earth Mapping and geographic services SOAP Silverlight Streaming Application and media hosting REST, HTML Messenger Realtime communication HTML, BuddyScript Spaces Accessing Spaces blogs and feeds HTTP, SMTP, RSS, XML-RPC Photos Accessing photos from Spaces WebDAV Contacts Importing contact data REST Alerts User notification SOAP
    • 8. HTTP, HTML, & SMTP
      • Web forms (HTTP POST)
        • Search forms
      • Hyperlinks (HTTP GET)
        • URLs to invoke
          • http://spaces.live.com/BlogIt.aspx?Title=BlogTitle&SourceURL=site.com&description=Description
        • Other URLs as needed to connect to Live ID, Alerts, Spaces, Expo, Virtual Earth, etc
      • IFRAME (HTML DIV)
        • Silverlight Streaming
        • Hosting Live controls
      • Some services support SMTP (email to Spaces blog)
    • 9. Live controls
      • Some controls are provided for accessing services without much additional effort
        • Photos, Contacts, Virtual Earth
      • Bringing Live data back into a Web application requires JavaScript
        • AJAX callbacks
        • Form fields
    • 10. REST
      • Representational State Transfer
      • HTTP-based protocol
        • POST = create
        • GET = read/retrieve
        • PUT = update
        • DELETE = delete
        • Relies on URL path for parameters
        • Uses HTTP response codes for success/failure
      • Authentication performed through HTTP headers
        • Can be difficult to configure, depending on scheme
    • 11. Sample Live Contacts REST API Request
      • Partial Live Contacts API schema
        • Owner
        • Contacts
          • Profiles
          • Emails
            • Address
          • Phones
          • Locations
          • Tags
      HTTP GET (email ID 1 of GUID-specified contact) https://cumulus.services.live.com/ [email_address] / LiveContacts/Contacts/Contact( fa666f2a-3801-4c80-a5a0-939f56aaeda7 )/Emails/Email( 1 )/Address HTTP Response <Address>email@contoso.com</Address>
    • 12. WebDAV
      • Web-based Distributed Authoring and Versioning
      • Extends HTTP with new methods
        • PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK
    • 13. RSS
      • Really Simple Syndication
      • Published content often available via RSS
        • Blogs, photos, comments, alerts
      • RSSToolkit can save a lot of dev time
        • http://www.codeplex.com/ASPNETRSSToolkit
        • Provides easier data binding, caching, etc
    • 14. Sample RSS Document <? xml version =&quot;1.0&quot; encoding =&quot;utf-8&quot;?> < rss version =&quot;2.0&quot;> < channel > < title > [Feed title] </ title > < description > [Feed description] </ description > < link > [Feed URL] </ link > < pubDate > [DateTime] </ pubDate > < item > < title > [Item title] </ title > < link > [Item URL] </ link > < description > [Item description] </ description > < comments > [Item comments URL] </ comments > < guid > [Guid] </ guid > < pubDate > [DateTime] </ pubDate > </ item > </ channel > </ rss >
    • 15. Sample RSS Code // Download the feed. using ( WebClient webClient = new WebClient ()) using ( MemoryStream memoryStream = new MemoryStream (webClient.DownloadData( [URL] ))) { // Import the download into an XmlDocument. XmlDocument xmlDocument = new XmlDocument (); xmlDocument.Load(memoryStream); // Get the feed's title (or &quot;link&quot;, etc). string feedTitle = xmlDocument.SelectSingleNode( &quot;/rss/channel/title&quot; ).InnerText; // Iterate the items from the feed. foreach ( XmlNode itemNode in xmlDocument.SelectNodes( &quot;/rss/channel/item&quot; )) { // Get the item's title (or &quot;link&quot;, &quot;description&quot;, etc). string title = itemNode.SelectSingleNode( &quot;title&quot; ).InnerText; } }
    • 16. Sample RSS Code With RSSToolkit using ( RssDataSource rssDataSource = new RssDataSource ()) { // Download the feed. rssDataSource.Url = [URL] ; rssDataSource.DataBind(); // Get the feed's title (or &quot;link&quot;, etc). string feedTitle = rssDataSource.Channel[ &quot;title&quot; ]; // Iterate the items from the feed. foreach ( GenericRssElement genericRssElement in rssDataSource.Channel.Items) { // Get the item's title (or &quot;link&quot;, &quot;description&quot;, etc). string itemTitle = genericRssElement[ &quot;title&quot; ]; } }
    • 17. XML-RPC
      • Remote Procedure Call using XML
      • Predecessor to SOAP
        • Still popular due to simplicity
      • MetaWeblog API is an example of XML-RPC
        • Supported by Spaces
    • 18. XML-RPC Sample Request/Response Request <? xml version =&quot;1.0&quot;?> < methodCall > < methodName > item.getUserNameByID </ methodName > < params > < param > < value > < i4 > 47 </ i4 > </ value > </ param > </ params > </ methodCall > Response <? xml version =&quot;1.0&quot;?> < methodResponse > < params > < param > < value > < string > Contoso </ string > </ value > </ param > </ params > </ methodResponse >
    • 19. SOAP
      • Simple Object Access Protocol
        • aka Service Oriented Architecture Protocol
      • Flexible, stateless, robust
      • Visual Studio abstracts away implementation
    • 20. Summary
      • Live Developer Platform
      • Data access
      • Integration

    ×