building components and services for the programmable web

18
Building Components And Building Components And Services For The Services For The Programmable Web Programmable Web Nikhil Kothari Nikhil Kothari Software Architect, Software Architect, UI Framework UI Framework Microsoft Corporation Microsoft Corporation NGW022 NGW022

Upload: goodfriday

Post on 08-May-2015

647 views

Category:

Technology


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Building Components and Services for the Programmable Web

Building Components And Building Components And Services For The Services For The Programmable WebProgrammable Web

Nikhil KothariNikhil KothariSoftware Architect,Software Architect,UI FrameworkUI FrameworkMicrosoft CorporationMicrosoft Corporation

NGW022NGW022

Page 2: Building Components and Services for the Programmable Web

AgendaAgenda

Programmable WebProgrammable WebConsuming – Building mash-upsConsuming – Building mash-ups

Enabling – Authoring gadgets, Enabling – Authoring gadgets, and servicesand services

Demo: musicMix ApplicationDemo: musicMix ApplicationImplemented using ASP.NET “Atlas”Implemented using ASP.NET “Atlas”

Page 3: Building Components and Services for the Programmable Web

Web 2.0Web 2.0

Wikipedia: “… second phase of architecture Wikipedia: “… second phase of architecture and application development for the World and application development for the World Wide Web”Wide Web”A buzzword to incorporate whatever is new A buzzword to incorporate whatever is new and popular on the Weband popular on the Web

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

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

Page 4: Building Components and Services for the Programmable Web

What Is The Programmable WebWhat Is The Programmable Web

Transformation of the Web from content Transformation of the Web from content publishing medium into a platformpublishing medium into a platform

Each application is a component in this platformEach application is a component in this platform

Enable sharing and unlocking user and Enable sharing and unlocking user and application dataapplication data

Via services and APIs, data formats and schemasVia services and APIs, data formats and schemas

Applications and ScenariosApplications and ScenariosMash-upsMash-ups

Services (REST, SOAP, RSS, …)Services (REST, SOAP, RSS, …)

Shared components (eg. Gadgets)Shared components (eg. Gadgets)

Shared data formats (eg. Live Clipboard)Shared data formats (eg. Live Clipboard)

Page 5: Building Components and Services for the Programmable Web

Consuming the Programmable WebConsuming the Programmable WebMash-upsMash-ups

Applications that re-mix or aggregate data Applications that re-mix or aggregate data from one or more services to create new end-from one or more services to create new end-user experiences and scenariosuser experiences and scenariosHow do they work?How do they work?

Link to one another via shared data semanticsLink to one another via shared data semanticsBring and co-relate data for end-users into Bring and co-relate data for end-users into one locationone location

Why build mash-ups?Why build mash-ups?Leverage the power of the Web platformLeverage the power of the Web platformCreate rich and immersive user experiencesCreate rich and immersive user experiencesMeet a new bar of growing user expectationsMeet a new bar of growing user expectations

Page 6: Building Components and Services for the Programmable Web

musicMix ApplicationmusicMix Application

A look at the existing A look at the existing application…application…

Page 7: Building Components and Services for the Programmable Web

musicMix Mash-upmusicMix Mash-up

Create an enhanced and engaging music experienceCreate an enhanced and engaging music experience

RSSRSS

SOAPSOAP

RESTREST

Page 8: Building Components and Services for the Programmable Web

My Application My Application

The Canonical Mash-upThe Canonical Mash-up

ClientClient

BridgeBridgeProxyProxy

(Script)(Script)

BridgeBridgeProxyProxy

(Script)(Script)

ExternalExternalServiceService

ExternalExternalServiceService

ServerServer

PagesPagesPagesPagesUI + LogicUI + Logic(HTML +(HTML +Script)Script)

UI + LogicUI + Logic(HTML +(HTML +Script)Script)

BridgeBridgeBridgeBridge

ConfigConfigConfigConfig

InitiateInitiateRequestRequest

CacheCacheLookupLookup

CreateCreateServiceServiceRequestRequest

InvokeInvokeServiceService

ProcessProcessServiceService

ResponseResponse

UpdateUpdateDisplayDisplay

Page 9: Building Components and Services for the Programmable Web

Consuming The Consuming The Programmable WebProgrammable Web

musicMix Mash-upmusicMix Mash-up- iTunes Top Selling AlbumsiTunes Top Selling Albums- Similar Albums from AmazonSimilar Albums from Amazon- Artist Links from MSN SearchArtist Links from MSN Search

Page 10: Building Components and Services for the Programmable Web

Enabling the Programmable WebEnabling the Programmable WebGadgets and ServicesGadgets and Services

A gadget is an uber-serviceA gadget is an uber-serviceNot just raw data, but UI, Logic and Not just raw data, but UI, Logic and Personalization as wellPersonalization as wellA face for your data and servicesA face for your data and servicesHosted by Windows Live, Sidebar, …Hosted by Windows Live, Sidebar, …Mini-mashups; typically consume Mini-mashups; typically consume data/services themselvesdata/services themselves

Why build gadgets?Why build gadgets?Stickyness and propagation of brandStickyness and propagation of brandReach end-users with services, not Reach end-users with services, not just applicationsjust applicationsCreate new linking opportunitiesCreate new linking opportunities

Page 11: Building Components and Services for the Programmable Web

Enabling The Enabling The Programmable WebProgrammable Web

musicMix Media Player GadgetmusicMix Media Player Gadgetand PlayList REST serviceand PlayList REST service

Page 12: Building Components and Services for the Programmable Web

Enabling the Programmable WebEnabling the Programmable WebLive ClipboardLive Clipboard

A clipboard model for A clipboard model for Web applicationsWeb applications

Web to Web and Web to/from DesktopWeb to Web and Web to/from Desktop

Cross-browser, cross-platformCross-browser, cross-platform

Structured data sharing across apps Structured data sharing across apps based on shared/common data formatsbased on shared/common data formats

Enable end-users to mash up data to Enable end-users to mash up data to their individual needstheir individual needs

User-initiated copy/paste of dataUser-initiated copy/paste of data

Page 13: Building Components and Services for the Programmable Web

Enabling The Enabling The Programmable WebProgrammable Web

PlayList copy/paste via PlayList copy/paste via Live ClipboardLive Clipboard

Page 14: Building Components and Services for the Programmable Web

Related MIX ContentRelated MIX Content

Sessions on post show DVDSessions on post show DVDNGW014: Developing a Better User Experience NGW014: Developing a Better User Experience with “Atlas” with “Atlas” NGW052: Designing a Better User Experience NGW052: Designing a Better User Experience with AJAX and “Atlas”with AJAX and “Atlas”NGW038: Overview of Live.com GadgetsNGW038: Overview of Live.com GadgetsNGW054: Building an Application from Scratch NGW054: Building an Application from Scratch with ASP.NET 2.0with ASP.NET 2.0NGW002: Building Components and Services for NGW002: Building Components and Services for the Programmable Webthe Programmable WebNGW058: Wiring the WebNGW058: Wiring the Web

Labs @ the SandboxLabs @ the SandboxMIX Chat this afternoonMIX Chat this afternoon

Page 15: Building Components and Services for the Programmable Web

Resources And ReferencesResources And References

Mash-up and API GalleryMash-up and API Galleryhttp://programmableweb.comhttp://programmableweb.com

ASP.NET “Atlas”ASP.NET “Atlas”http://atlas.asp.nethttp://atlas.asp.net

BlogsBlogshttp://www.nikhilk.nethttp://www.nikhilk.net

http://weblogs.asp.net/scottguhttp://weblogs.asp.net/scottgu

http://weblogs.asp.net/bleroyhttp://weblogs.asp.net/bleroy

Page 16: Building Components and Services for the Programmable Web

Call To ActionCall To Action

The transformation continues…The transformation continues…Technologies and business models are evolvingTechnologies and business models are evolving

New services are becoming availableNew services are becoming available

Experiment and participateExperiment and participate

Download and try ASP.NET “Atlas”Download and try ASP.NET “Atlas”March ’06 Go Live Build ReleasedMarch ’06 Go Live Build Released

Simplifies development of mash-ups, gadgets, Simplifies development of mash-ups, gadgets, and client applicationsand client applications

Stop by to talk to the teamStop by to talk to the team

Send us feedbackSend us feedback

Participate in the Mash It Up With Atlas ContestParticipate in the Mash It Up With Atlas Contest

Page 17: Building Components and Services for the Programmable Web

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 18: Building Components and Services for the Programmable Web

AbstractAbstract

This session explores the programmable Web, and how This session explores the programmable Web, and how ASP.NET “Atlas” enables applications to easily ASP.NET “Atlas” enables applications to easily participate in this new platform via mash-ups and other participate in this new platform via mash-ups and other forms of data sharing. The presentation explores key forms of data sharing. The presentation explores key mash-up concepts, and demonstrates leveraging data mash-up concepts, and demonstrates leveraging data from services such as MSN Search, and Amazon Web from services such as MSN Search, and Amazon Web Services in a reusable and component oriented fashion. Services in a reusable and component oriented fashion. Secondly, it demonstrates how an application can Secondly, it demonstrates how an application can expose data via services, APIs and reach end-users with expose data via services, APIs and reach end-users with its services via Windows Live Gadgets. Finally it its services via Windows Live Gadgets. Finally it provides a glimpse of enabling user-driven mash-ups provides a glimpse of enabling user-driven mash-ups and copy/paste of structured data by implementing a and copy/paste of structured data by implementing a clipboard model for the Web.clipboard model for the Web.