Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building Components and Services for the Programmable Web


Published on

Want to learn how to expose components and services like Windows Live Local and Virtual Earth, but not sure where to begin? This session introduces real-world design patterns and best practices for constructing reusable Web components and Web-based services for the programmable Web.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Building Components and Services for the Programmable Web

  1. 1. Building Components And Services For The Programmable Web Nikhil Kothari Software Architect, UI Framework Microsoft Corporation NGW022
  2. 2. Agenda <ul><li>Programmable Web </li></ul><ul><ul><li>Consuming – Building mash-ups </li></ul></ul><ul><ul><li>Enabling – Authoring gadgets, and services </li></ul></ul><ul><li>Demo: musicMix Application </li></ul><ul><ul><li>Implemented using ASP.NET “Atlas” </li></ul></ul>
  3. 3. Web 2.0 <ul><li>Wikipedia: “… second phase of architecture and application development for the World Wide Web” </li></ul><ul><li>A buzzword to incorporate whatever is new and popular on the Web </li></ul>AJAX APIs Feeds Folksonomy Gadgets Identity JSON Mash-up Perpetual Beta Podcasts REST RIA RSS Semantic Web Social Web SOAP Syndication Tagging Web Services Web Standards Wikis Programmable Web
  4. 4. What Is The Programmable Web <ul><li>Transformation of the Web from content publishing medium into a platform </li></ul><ul><ul><li>Each application is a component in this platform </li></ul></ul><ul><ul><li>Enable sharing and unlocking user and application data </li></ul></ul><ul><ul><li>Via services and APIs, data formats and schemas </li></ul></ul><ul><li>Applications and Scenarios </li></ul><ul><ul><li>Mash-ups </li></ul></ul><ul><ul><li>Services (REST, SOAP, RSS, …) </li></ul></ul><ul><ul><li>Shared components (eg. Gadgets) </li></ul></ul><ul><ul><li>Shared data formats (eg. Live Clipboard) </li></ul></ul>
  5. 5. Consuming the Programmable Web Mash-ups <ul><li>Applications that re-mix or aggregate data from one or more services to create new end-user experiences and scenarios </li></ul><ul><li>How do they work? </li></ul><ul><ul><li>Link to one another via shared data semantics </li></ul></ul><ul><ul><li>Bring and co-relate data for end-users into one location </li></ul></ul><ul><li>Why build mash-ups? </li></ul><ul><ul><li>Leverage the power of the Web platform </li></ul></ul><ul><ul><li>Create rich and immersive user experiences </li></ul></ul><ul><ul><li>Meet a new bar of growing user expectations </li></ul></ul>
  6. 6. musicMix Application A look at the existing application…
  7. 7. musicMix Mash-up <ul><li>Create an enhanced and engaging music experience </li></ul>RSS SOAP REST
  8. 8. The Canonical Mash-up My Application Client Bridge Proxy (Script) External Service Server Pages UI + Logic (HTML + Script) Bridge Config Initiate Request Cache Lookup Create Service Request Invoke Service Process Service Response Update Display
  9. 9. Consuming The Programmable Web <ul><li>musicMix Mash-up </li></ul><ul><li>iTunes Top Selling Albums </li></ul><ul><li>Similar Albums from Amazon </li></ul><ul><li>Artist Links from MSN Search </li></ul>
  10. 10. Enabling the Programmable Web Gadgets and Services <ul><li>A gadget is an uber-service </li></ul><ul><ul><li>Not just raw data, but UI, Logic and Personalization as well </li></ul></ul><ul><ul><li>A face for your data and services </li></ul></ul><ul><ul><li>Hosted by Windows Live, Sidebar, … </li></ul></ul><ul><ul><li>Mini-mashups; typically consume data/services themselves </li></ul></ul><ul><li>Why build gadgets? </li></ul><ul><ul><li>Stickyness and propagation of brand </li></ul></ul><ul><ul><li>Reach end-users with services, not just applications </li></ul></ul><ul><ul><li>Create new linking opportunities </li></ul></ul>
  11. 11. Enabling The Programmable Web musicMix Media Player Gadget and PlayList REST service
  12. 12. Enabling the Programmable Web Live Clipboard <ul><li>A clipboard model for Web applications </li></ul><ul><ul><li>Web to Web and Web to/from Desktop </li></ul></ul><ul><ul><li>Cross-browser, cross-platform </li></ul></ul><ul><ul><li>Structured data sharing across apps based on shared/common data formats </li></ul></ul><ul><li>Enable end-users to mash up data to their individual needs </li></ul><ul><ul><li>User-initiated copy/paste of data </li></ul></ul>
  13. 13. Enabling The Programmable Web PlayList copy/paste via Live Clipboard
  14. 14. Related MIX Content <ul><li>Sessions on post show DVD </li></ul><ul><ul><li>NGW014: Developing a Better User Experience with “Atlas” </li></ul></ul><ul><ul><li>NGW052: Designing a Better User Experience with AJAX and “Atlas” </li></ul></ul><ul><ul><li>NGW038: Overview of Gadgets </li></ul></ul><ul><ul><li>NGW054: Building an Application from Scratch with ASP.NET 2.0 </li></ul></ul><ul><ul><li>NGW002: Building Components and Services for the Programmable Web </li></ul></ul><ul><ul><li>NGW058: Wiring the Web </li></ul></ul><ul><li>Labs @ the Sandbox </li></ul><ul><li>MIX Chat this afternoon </li></ul>
  15. 15. Resources And References <ul><li>Mash-up and API Gallery </li></ul><ul><ul><li> </li></ul></ul><ul><li>ASP.NET “Atlas” </li></ul><ul><ul><li> </li></ul></ul><ul><li>Blogs </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul>
  16. 16. Call To Action <ul><li>The transformation continues… </li></ul><ul><ul><li>Technologies and business models are evolving </li></ul></ul><ul><ul><li>New services are becoming available </li></ul></ul><ul><ul><li>Experiment and participate </li></ul></ul><ul><li>Download and try ASP.NET “Atlas” </li></ul><ul><ul><li>March ’06 Go Live Build Released </li></ul></ul><ul><ul><li>Simplifies development of mash-ups, gadgets, and client applications </li></ul></ul><ul><ul><li>Stop by to talk to the team </li></ul></ul><ul><ul><li>Send us feedback </li></ul></ul><ul><ul><li>Participate in the Mash It Up With Atlas Contest </li></ul></ul>
  17. 17. © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  18. 18. Abstract <ul><li>This session explores the programmable Web, and how ASP.NET “Atlas” enables applications to easily participate in this new platform via mash-ups and other forms of data sharing. The presentation explores key mash-up concepts, and demonstrates leveraging data from services such as MSN Search, and Amazon Web Services in a reusable and component oriented fashion. Secondly, it demonstrates how an application can expose data via services, APIs and reach end-users with its services via Windows Live Gadgets. Finally it provides a glimpse of enabling user-driven mash-ups and copy/paste of structured data by implementing a clipboard model for the Web. </li></ul>