6.Live Framework 和Mesh Services


Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Central to the Live Framework is the way we store information – this is represented in the Live Framework Resource Model. The Resource Model is a structured way to represent the data stored and all the relationships between them. The Live Framework defines an information model based on entities, collections and the relationships between them. An entity is the base unit of the model, and it is really just a resource with a set of properties. Let’s start with a single data entry – this may have a relationship to a set of media resources, and it may have a relationship to one or more additional data entries. Regardless, the data entry will be a child of a data feed. A data feed is simply a collection of data entries. For example, a data feed that you will become very familiar with is the one that is exposed by the MeshObjects entity. MeshObjects is part of the Mesh collection, which is part of the Live Operating Environment. The Live Operating Environment is the runtime that executes on all devices including the cloud and is the root of the hierarchy. Take a note of the Live Operating Environment’s four children – Scripts, Mesh, Profiles and Contacts – as we bring more Services under the Live Framework umbrella we will be seeing them alongside these.
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: <SPECIFY THE NAME OF THE DEMO SCRIPT FILE>
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: <SPECIFY THE NAME OF THE DEMO SCRIPT FILE>
  • What kinds of applications do we expect to see built using the Live Framework?World of devicesWe expect to see different kinds of devices taking advantage of the Live Framework to produce and consume data, and also to share it amongst different people and applications on different devicesSocial and Community SitesThere are some exciting scenarios that can be enabled in exiting social and community sites by getting the Live Framework engine power things like invites, news feeds and local device experiencesWeb to the ClientAlso, in the world of offline, web apps tend to fall down but with seamless offline/online apps powered by Live Framework synchronization it’s really easy to do.Client to the WebFor those developers who are creating client apps that run on any platform, Live Framework provides a great way to extend them out to the cloud with ease. By giving them knowledge of Mesh Services combined with access to the social graph, developers can unlock useful sharing scenarios across different devices.
  • This is the layer cake diagram you’ve seen already, showing Microsoft’s Azure Services Platform. Windows Azure provides the environment to run your code in the cloud. It provides storage and management capabilities. Built on top of the Windows Azure foundation is a broad collection of services that you can consume from both on-premise and cloud-based applications, using standard protocols such as HTTP and SOAP. In other words, developers can use these services not just from Windows Azure but from within your Enterprise, from your customers and from other clients. Live Services provides the building blocks to connect your applications, data and devices to half a billions users.
  • We are seeing 4 key trends emerge with software and how our customers are behaving whilst participating in their digital life.DataThere has been an explosion of data in recent years, the stuff you care about There are many more different things that produce data; like applications and devices…DevicesThese are all the things with a CPU that are a part of your Digital LifestyleThink about how many you have at home? PC, Laptop, Mobile Phone, Media Center, Mac, iPhone, BlackberryAll these devices are great, but, they are producing more data than ever beforeDevices are also consuming more data too, and they’re getting hungrier than everKeeping all this data consistent and available across all my devices is tough to doApplications Applications influence how you interact with the data on your devicesYou want to have similar experiences with the same app across different devices, with slight twists.A good example is email. In outlook you want to do email in a certain way, but on a mobile device that might change, or think about a Media Center – that would be different too.PeopleSoftware is becoming more social than ever beforeOnce you have data on your devices that maybe you have done some cool stuff with your application then you want to be able to share that with people you care about.More and more aspects of software are about sharing with people you care aboutThink about my photos, I take them with a device – it’s creating data. I bring them all together in Windows Live Photo Gallery and maybe crop/remove red eye. Then I can share them with my friends and family by either creating a photo movie or uploading them automatically to my Live Space or another service like Flickr.OverallAs you can see when you think about these four different vectors; Data, Devices, Applications and People there are many different scenarios that can be enabledMany of these scenarios are fairly complex and it’s difficult to build software that cover all four vectors of Zen easily
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Demo Script – Live Desktop & Mesh-Enabled Web Applications.pptx
  • Let’s talk about some of the problems that we face when building software that is so interconnected and seamless for the userFoundationYou need something central that bridges all data, devices, people and applications together; it’s like the foundationIdentityYou can think of this in two parts:Authentication – proving who you are so we can give you the right data and apps on the right devices and share with the right group of peopleAuthorization – what can you do. This about trust and giving different people access to different pieces of dataIn this new world where we have Devices and Applications we have to think about how these have their own access to those same pieces of data – and how we handle authentication and authorization for those tooDataWe can represent data in many different ways and a universal representation of data is something that we strive for where developers from any platform can consume data in formats and standards that they are comfortable with – figuring out how to do this elegantly so we have developer equality is a tough problemDevicesDevices are difficult to manageHow does my software talk to my devices?How do I know where my devices are?It’s difficult to understand what you can do with a device too to make best use of it’s capabilitiesSyncSynchronization is often confused with “Offline” whilst related they are somewhat differentSync is about moving data closer to people on the applications and devices that they useOutlook is a great example where the sync process has been perfected over many years. Email gets to me on pretty much whichever device I am using thanks to the Exchange Server being my central and my different apps like Outlook on Windows or Outlook on the Web or Outlook on my phoneSync is a hard problem when you factor in device characteristics like networking protocols, routers and NATs, conflict resolution, the list goes on. It’s hard to do well.SharingThe ability to share not just data but also applications and the many to many trust relationships that can exist in this type of world between, devices, apps and people and their data.StateKnowing what is happening in your digital world is very important for usersThey want to know what’s going on with a device. Is it online? Is it healthy? Does it need an ink refill if it’s a printer.They also want to know what’s going on with their people. What are they up to? Are they available to chat – what’s on their minds.CommsThere are some foundational bits that you need to get right at the networking level tooIf you don’t get this right then writing software in a highly connected world is almost impossible to achieveWe consider things like peer-to-peer, NAT all those kinds of things so it’s transparent to the developer when they create their software.
  • To help solve those hard problems we have Live Services which help bring all those vectors of the digital lifestyle, the data, devices, apps and people together.Microsoft runs some of the largest online datacenters and services around:Our identity services do 1.2 billion authentications every dayWe have about 367 million downloads of the applications that talk to the services online. We have 500 million entries in our contacts database - imagine the world’s largest address book!In that address book we’ve got 30 billion relationships between people, like when I identify my friends onlineWe have a enormous amount of storage being used Over 300 million connections on our relay network that underpin applications like Live MessengerThat’s a great foundation but in this new world we need some new building blocks to allow me to connect data, devices, apps and people together. We call these Mesh Services.
  • 6.Live Framework 和Mesh Services

    1. 1. Live Framework Mesh Services 杨刚 Technical Manager 万锐信息技术服务有限公司 Email: Gyang@Winarray.com MSN: YG2008@GMail.com Azure™ Services Platform 1
    2. 2. Zen 难题 Live Services Live Framework Demos throughout…… 2
    3. 3. 3
    5. 5. Live Desktop & Mesh- Enabled Web Applications 5
    6. 6. Foundation: Cloud 是核心 Identity: People, devices, and applications Data: Universal representation Devices: 拓扑和管理 Sync:促使数据更接近用户和应用 Sharing: 分发给用户数据 State: Complete awareness Comms: Seamless connections
    7. 7. Live Services … are a set of building blocks for handling user data and application resources which can connect your application to hundreds of millions of users. Live Services Mesh Services 1.2B 367M 500M 30B nnPB 320M
    8. 8. Hello Live Framework 8
    9. 9. …is the uniform way for programming Live Framework Live Services from a variety of platforms, programming languages, applications and devices. Libraries .NET FX APIs Silverlight™ APIs JavaScript APIs Client Controls Web Controls Other Resource Model Atom Pub FeedSync Tools & ATOM JSON POX RSS Binary XML Services CRUD URI-LINQ Triggers Auth/Z Introspection Resource Scripts Operations Developer Data Applications Communications Portal Developer Profile Groups Folders Catalog Peer-to-Peer Sandbox Contacts Calendars Photos Application Settings Notifications Identity Provisioning/ Custom Data Types Application Management Presence Account News User System Management Geospatial Search Analytics Visual Studio® Mesh User Mesh Device Mesh Application Mesh Synchronization Tools/ Designers Live Operating Environment Cache Sync Engine Sync Engine CRUD CRUD Peer-to-Peer Analytics Auth/Z Auth/Z Cash/Local Store Resource Script Resource Script Files System Resource Manager Engine Engine Peer-to-Cloud :Cloud_ Windows Other :Client_ Windows® Azure ™ Embedded Windows Mobile 9
    10. 10. Live Framework Resource Model Live Operating Environment Scripts Mesh Profiles Contacts Devices Applications Mesh News Notification Objects Queue Members Mappings Data Feeds News Subscription Data Entry Media Resources Data Entry
    11. 11. Bring exciting new devices into the Mesh, integrate with core World of Devices infrastructure and experience Social and Seamlessly integrate social applications across invites, news feeds, Community local devices experiences, and more Sites Take your web application and content to the client, enable a rich and Web-to- the Client seamless offline experience Service-enable client applications, make them Mesh-aware, Client-to- enable multi-user sharing-based experiences the Web 13
    12. 12. Live Services Live Framework Getting Started Read up: http://dev.live.com Get a Live Framework CTP Token and sign up at http://developer.mesh-ctp.com Download the bits Live Framework SDK Silverlight Tools for Visual Studio Live Framework Tools for Microsoft Visual Studio* Go forth and Meshify
    13. 13. 关键信息 本节课程总结 15
    14. 14. 16
    15. 15. Resource #1 Description http://www.azure.com Resource #2 Description http://www.azure.com Resource #3 Description http://www.azure.com
    16. 16. Resource #1 http://www.azure.com Resource #2 http://www.azure.com Resource #3 18
    17. 17. © 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. 19