SlideShare une entreprise Scribd logo
1  sur  16
Project “Astoria” first announced in Mix 2007
  Shared early prototypes, got tons of feedback

Now we’re talking about the real deal
  Production quality bits, real-word scenarios

We did a “transparent design” exercise
  Went great!
HTML + Javascript     DLL + XAML                            Mashup UI




 Data (XML,JSON,…)   Data (XML,JSON,…)   Data (XML,JSON,…)    Data
                                                             Feeds




  AJAX        Silverlight                  Online            Mashups
Applications Applications                 Services
Just HTTP
• Data as resources, HTTP methods to act on it
• Leverage caching, proxies, authentication, …

Uniform URL syntax
• Every piece of information is addressable
• Predictable and flexible URL syntax

Multiple representations
• Use regular HTTP content-type negotiation
• Atom*, JSON and Plain XML
  • *full AtomPub protocol support
Underlying data model
  Entity Data Model
  Entities  Resources
  Associations  Links

            Operation semantics
               Usual mapping of HTTP methods
               GET  retrieve resource
               POST  create resource
               PUT  update resource
               DELETE  delete resource
Addressing entities and sets
 Entity-set           /Bookmarks
 Single entity        /Bookmarks(123)
 Member access        /Bookmarks(123)/Name
 Link traversal       /Bookmarks(123)/Tags
 Deep access          /Bookmarks(123)/Tags('abc')/Name
 Raw value access     /Bookmarks(123)/Names/$value

Presentation options
 Sorting            /Bookmarks?$orderby=Name
 Filtering          /Bookmarks?$filter=Created gt '2007-05-07'
 Paging             /Bookmarks?$top=10&$skip=30
 Inline expansion   /Bookmarks?$expand=Tags
HTTP

Create services directly
                                      Hosting/HTTP listener
from Visual Studio
                                            Service Runtime
Various data sources                          IQueryable [+ IUpdatable]
  Entity Framework
                                           Data Access Layer
  LINQ providers
                                        Entity        Custom LINQ
                                                        provider
                                     Framework
Model-driven
  Structural description in
  Entity Data Model
  Metadata shapes service
                              Relational
                                                       Other
                              database
                                                      sources
Visibility
• Per-container visibility control
• Read, Query and Write options

Authentication
• Integrate with hosting environment
• ASP.NET, WCF or custom authentication schemes

Interceptors
• Execute before HTTP GET/PUT/POST/DELETE
• Enable validation, custom row-level security policies
• Maintain the REST interface

Service Operations
• Custom entry points, e.g. /MyTags?startDate='2007-01-01'
• Composable, follow URI scheme
AJAX integration
   AJAX-friendly JSON format in services
   Javascript library that integrates with the
   ASP.NET AJAX toolkit

Silverlight support
   .NET programming model for data services
   Object based, LINQ enabled API
   Code-gen entity types from metadata
Web applications
  Data services client can be used in ASP.NET
  ASP.NET data source control for accessing
  remote services

Desktop applications
  Fully-featured .NET client library
  Same API in desktop and Silverlight
  environments
Where do we go from here?
  Beta 1 will ship in a few weeks
    We sneaked a current build in the Mix DVD ;-)
  RTM mid-2008
In summary…
  Create and consume data services with a
  flexible RESTful interface
  Growing unified ecosystem of libraries & tools
  Give it a try! Feedback is welcome :)
We’re looking at what we need to do next

“Astoria Offline” is one we’ve been exploring
Imagine if you could point to a data service and
  say “take it offline”…
…we automatically create a SQL Server Compact
  database and setup sync profiles for you
Then you write a regular “local” application

  …well, almost that easy ;-)
  Check out prototypes of this here at Mix
Sessions
   Introducing SQL Server Data Services
   Accessing Windows Live Services with AtomPub
   Using the Microsoft Sync Framework and FeedSync
   Building RESTful Real World Applications with the
   ADO.NET Data Services Framework


Also check out the hands-on labs!
ADO.NET Data Services Framework
  Site: http://astoria.mslivelabs.com
  Blog: http://blogs.msdn.com/astoriateam
  Forums:
  http://forums.microsoft.com/MSDN/ShowForum
  .aspx?ForumID=1430&SiteID=1

Contact me
  http://blogs.msdn.com/pablo
  pablo.castro@microsoft.com
© 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.
Project Astoria First Announced in Mix 2007

Contenu connexe

Tendances

SQL Server 2008 Positioning
SQL Server 2008 PositioningSQL Server 2008 Positioning
SQL Server 2008 Positioningukdpe
 
UDDI in Mule Esb
UDDI in Mule EsbUDDI in Mule Esb
UDDI in Mule EsbAnand kalla
 
[WSO2Con EU 2017] Introduction to Ballerina
[WSO2Con EU 2017] Introduction to Ballerina[WSO2Con EU 2017] Introduction to Ballerina
[WSO2Con EU 2017] Introduction to BallerinaWSO2
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesArangoDB Database
 
RavenDB Presentation
RavenDB PresentationRavenDB Presentation
RavenDB PresentationMark Rodseth
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Servicesukdpe
 
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...WSO2
 
Web Services
Web ServicesWeb Services
Web ServicesRTigger
 
Java Web services
Java Web servicesJava Web services
Java Web servicesSujit Kumar
 
ATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,PricingATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,Pricingpraveen chinnam
 
Dale Brooks Resume D
Dale Brooks Resume DDale Brooks Resume D
Dale Brooks Resume DDale Brooks
 
Introduction to REST and the Restlet Framework
Introduction to REST and the Restlet FrameworkIntroduction to REST and the Restlet Framework
Introduction to REST and the Restlet FrameworkPhilip Johnson
 

Tendances (20)

Data In Cloud
Data In CloudData In Cloud
Data In Cloud
 
Web Services in the Real World
Web Services in the Real WorldWeb Services in the Real World
Web Services in the Real World
 
SQL Server 2008 Positioning
SQL Server 2008 PositioningSQL Server 2008 Positioning
SQL Server 2008 Positioning
 
UDDI in Mule Esb
UDDI in Mule EsbUDDI in Mule Esb
UDDI in Mule Esb
 
Intro to RavenDB
Intro to RavenDBIntro to RavenDB
Intro to RavenDB
 
ATG Architecture
ATG ArchitectureATG Architecture
ATG Architecture
 
[WSO2Con EU 2017] Introduction to Ballerina
[WSO2Con EU 2017] Introduction to Ballerina[WSO2Con EU 2017] Introduction to Ballerina
[WSO2Con EU 2017] Introduction to Ballerina
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databases
 
Modern web architectural patterns
Modern web architectural patternsModern web architectural patterns
Modern web architectural patterns
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
RavenDB Presentation
RavenDB PresentationRavenDB Presentation
RavenDB Presentation
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Services
 
Intoduction to php web services and json
Intoduction to php  web services and jsonIntoduction to php  web services and json
Intoduction to php web services and json
 
Day4
Day4Day4
Day4
 
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
 
Web Services
Web ServicesWeb Services
Web Services
 
Java Web services
Java Web servicesJava Web services
Java Web services
 
ATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,PricingATG Framework,Formhandlers,Pricing
ATG Framework,Formhandlers,Pricing
 
Dale Brooks Resume D
Dale Brooks Resume DDale Brooks Resume D
Dale Brooks Resume D
 
Introduction to REST and the Restlet Framework
Introduction to REST and the Restlet FrameworkIntroduction to REST and the Restlet Framework
Introduction to REST and the Restlet Framework
 

En vedette

3rd Sunday of Easter :: op-stjoseph.org
3rd Sunday of Easter :: op-stjoseph.org3rd Sunday of Easter :: op-stjoseph.org
3rd Sunday of Easter :: op-stjoseph.orggoodfriday
 
Escaping Flatland in Application Design: Rich User Experiences
Escaping Flatland in Application Design: Rich User ExperiencesEscaping Flatland in Application Design: Rich User Experiences
Escaping Flatland in Application Design: Rich User Experiencesgoodfriday
 
Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7goodfriday
 
Building Microsoft Silverlight Controls
Building Microsoft Silverlight ControlsBuilding Microsoft Silverlight Controls
Building Microsoft Silverlight Controlsgoodfriday
 
Microsoft ASP.NET 4.0 Data Access: Patterns for Success with Web Forms
Microsoft ASP.NET 4.0 Data Access: Patterns for Success with Web FormsMicrosoft ASP.NET 4.0 Data Access: Patterns for Success with Web Forms
Microsoft ASP.NET 4.0 Data Access: Patterns for Success with Web Formsgoodfriday
 
Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2
Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2
Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2goodfriday
 
Protecting Online Identities
Protecting Online IdentitiesProtecting Online Identities
Protecting Online Identitiesgoodfriday
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Servicesgoodfriday
 
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...goodfriday
 
Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)goodfriday
 
Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...
Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...
Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...goodfriday
 
From Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New Clear
From Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New ClearFrom Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New Clear
From Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New Cleargoodfriday
 
User Experience Design for Non-Designers
User Experience Design for Non-DesignersUser Experience Design for Non-Designers
User Experience Design for Non-Designersgoodfriday
 
Advanced Cross-Browser Layout with Internet Explorer 8
Advanced Cross-Browser Layout with Internet Explorer 8Advanced Cross-Browser Layout with Internet Explorer 8
Advanced Cross-Browser Layout with Internet Explorer 8goodfriday
 
Real World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework ServicesReal World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework ServicesDavid McCarter
 
Entity Framework - Queries
Entity Framework -  QueriesEntity Framework -  Queries
Entity Framework - QueriesEyal Vardi
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework OverviewEyal Vardi
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Eyal Vardi
 
Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Bishoy Demian
 

En vedette (20)

3rd Sunday of Easter :: op-stjoseph.org
3rd Sunday of Easter :: op-stjoseph.org3rd Sunday of Easter :: op-stjoseph.org
3rd Sunday of Easter :: op-stjoseph.org
 
Escaping Flatland in Application Design: Rich User Experiences
Escaping Flatland in Application Design: Rich User ExperiencesEscaping Flatland in Application Design: Rich User Experiences
Escaping Flatland in Application Design: Rich User Experiences
 
Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7
 
Building Microsoft Silverlight Controls
Building Microsoft Silverlight ControlsBuilding Microsoft Silverlight Controls
Building Microsoft Silverlight Controls
 
Microsoft ASP.NET 4.0 Data Access: Patterns for Success with Web Forms
Microsoft ASP.NET 4.0 Data Access: Patterns for Success with Web FormsMicrosoft ASP.NET 4.0 Data Access: Patterns for Success with Web Forms
Microsoft ASP.NET 4.0 Data Access: Patterns for Success with Web Forms
 
Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2
Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2
Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2
 
Protecting Online Identities
Protecting Online IdentitiesProtecting Online Identities
Protecting Online Identities
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
 
Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)
 
Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...
Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...
Everything You Need to Know about Diagnostics and Debugging on Microsoft Inte...
 
From Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New Clear
From Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New ClearFrom Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New Clear
From Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New Clear
 
User Experience Design for Non-Designers
User Experience Design for Non-DesignersUser Experience Design for Non-Designers
User Experience Design for Non-Designers
 
Advanced Cross-Browser Layout with Internet Explorer 8
Advanced Cross-Browser Layout with Internet Explorer 8Advanced Cross-Browser Layout with Internet Explorer 8
Advanced Cross-Browser Layout with Internet Explorer 8
 
Real World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework ServicesReal World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework Services
 
Entity Framework - Queries
Entity Framework -  QueriesEntity Framework -  Queries
Entity Framework - Queries
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overview
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)
 
Getting started with entity framework
Getting started with entity framework Getting started with entity framework
Getting started with entity framework
 
Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Introducing Entity Framework 4.0
Introducing Entity Framework 4.0
 

Similaire à Project Astoria First Announced in Mix 2007

Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Servicesgoodfriday
 
Rest API and Client OM for Developer
Rest API and Client OM for DeveloperRest API and Client OM for Developer
Rest API and Client OM for DeveloperInnoTech
 
WCF Data Services - Office Business Application & iPhone
WCF Data Services - Office Business Application & iPhoneWCF Data Services - Office Business Application & iPhone
WCF Data Services - Office Business Application & iPhoneAndri Yadi
 
Time for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web ServicesTime for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web Servicesukdpe
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
 
Windows Azure架构探析
Windows Azure架构探析Windows Azure架构探析
Windows Azure架构探析George Ang
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developersllangit
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesHarish Ranganathan
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformDavid Chou
 
Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Quang Nguyễn Bá
 
A great api is hard to find
A great api is hard to findA great api is hard to find
A great api is hard to findDan Diephouse
 
5. Microsoft CloudCamp Las Vegas 2009 05 18
5. Microsoft CloudCamp Las Vegas 2009 05 185. Microsoft CloudCamp Las Vegas 2009 05 18
5. Microsoft CloudCamp Las Vegas 2009 05 18Intel Corporation
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DayTechMaster Vietnam
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search EngineMustata Bogdan
 
Azure Platform
Azure Platform Azure Platform
Azure Platform Wes Yanaga
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...rsnarayanan
 
Introduction To Sql Services
Introduction To Sql ServicesIntroduction To Sql Services
Introduction To Sql Servicesllangit
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010Andri Yadi
 

Similaire à Project Astoria First Announced in Mix 2007 (20)

Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Rest API and Client OM for Developer
Rest API and Client OM for DeveloperRest API and Client OM for Developer
Rest API and Client OM for Developer
 
WCF Data Services - Office Business Application & iPhone
WCF Data Services - Office Business Application & iPhoneWCF Data Services - Office Business Application & iPhone
WCF Data Services - Office Business Application & iPhone
 
Time for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web ServicesTime for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web Services
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Windows Azure架构探析
Windows Azure架构探析Windows Azure架构探析
Windows Azure架构探析
 
Windows Azure for .NET Developers
Windows Azure for .NET DevelopersWindows Azure for .NET Developers
Windows Azure for .NET Developers
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data Services
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010
 
A great api is hard to find
A great api is hard to findA great api is hard to find
A great api is hard to find
 
5. Microsoft CloudCamp Las Vegas 2009 05 18
5. Microsoft CloudCamp Las Vegas 2009 05 185. Microsoft CloudCamp Las Vegas 2009 05 18
5. Microsoft CloudCamp Las Vegas 2009 05 18
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search Engine
 
Azure Platform
Azure Platform Azure Platform
Azure Platform
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
 
Introduction To Sql Services
Introduction To Sql ServicesIntroduction To Sql Services
Introduction To Sql Services
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010
 

Plus de goodfriday

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052goodfriday
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 eastergoodfriday
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009goodfriday
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swimgoodfriday
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092goodfriday
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009goodfriday
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009goodfriday
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Currentgoodfriday
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newslettergoodfriday
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009goodfriday
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09goodfriday
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09goodfriday
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009goodfriday
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendargoodfriday
 

Plus de goodfriday (20)

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052
 
Triunemar05
Triunemar05Triunemar05
Triunemar05
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 easter
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swim
 
Easter Letter
Easter LetterEaster Letter
Easter Letter
 
April2009
April2009April2009
April2009
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Current
 
Easter2009
Easter2009Easter2009
Easter2009
 
Bulletin
BulletinBulletin
Bulletin
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newsletter
 
Mar 29 2009
Mar 29 2009Mar 29 2009
Mar 29 2009
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendar
 

Dernier

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 

Dernier (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 

Project Astoria First Announced in Mix 2007

  • 1.
  • 2. Project “Astoria” first announced in Mix 2007 Shared early prototypes, got tons of feedback Now we’re talking about the real deal Production quality bits, real-word scenarios We did a “transparent design” exercise Went great!
  • 3. HTML + Javascript DLL + XAML Mashup UI Data (XML,JSON,…) Data (XML,JSON,…) Data (XML,JSON,…) Data Feeds AJAX Silverlight Online Mashups Applications Applications Services
  • 4. Just HTTP • Data as resources, HTTP methods to act on it • Leverage caching, proxies, authentication, … Uniform URL syntax • Every piece of information is addressable • Predictable and flexible URL syntax Multiple representations • Use regular HTTP content-type negotiation • Atom*, JSON and Plain XML • *full AtomPub protocol support
  • 5. Underlying data model Entity Data Model Entities  Resources Associations  Links Operation semantics Usual mapping of HTTP methods GET  retrieve resource POST  create resource PUT  update resource DELETE  delete resource
  • 6. Addressing entities and sets Entity-set /Bookmarks Single entity /Bookmarks(123) Member access /Bookmarks(123)/Name Link traversal /Bookmarks(123)/Tags Deep access /Bookmarks(123)/Tags('abc')/Name Raw value access /Bookmarks(123)/Names/$value Presentation options Sorting /Bookmarks?$orderby=Name Filtering /Bookmarks?$filter=Created gt '2007-05-07' Paging /Bookmarks?$top=10&$skip=30 Inline expansion /Bookmarks?$expand=Tags
  • 7. HTTP Create services directly Hosting/HTTP listener from Visual Studio Service Runtime Various data sources IQueryable [+ IUpdatable] Entity Framework Data Access Layer LINQ providers Entity Custom LINQ provider Framework Model-driven Structural description in Entity Data Model Metadata shapes service Relational Other database sources
  • 8. Visibility • Per-container visibility control • Read, Query and Write options Authentication • Integrate with hosting environment • ASP.NET, WCF or custom authentication schemes Interceptors • Execute before HTTP GET/PUT/POST/DELETE • Enable validation, custom row-level security policies • Maintain the REST interface Service Operations • Custom entry points, e.g. /MyTags?startDate='2007-01-01' • Composable, follow URI scheme
  • 9. AJAX integration AJAX-friendly JSON format in services Javascript library that integrates with the ASP.NET AJAX toolkit Silverlight support .NET programming model for data services Object based, LINQ enabled API Code-gen entity types from metadata
  • 10. Web applications Data services client can be used in ASP.NET ASP.NET data source control for accessing remote services Desktop applications Fully-featured .NET client library Same API in desktop and Silverlight environments
  • 11. Where do we go from here? Beta 1 will ship in a few weeks We sneaked a current build in the Mix DVD ;-) RTM mid-2008 In summary… Create and consume data services with a flexible RESTful interface Growing unified ecosystem of libraries & tools Give it a try! Feedback is welcome :)
  • 12. We’re looking at what we need to do next “Astoria Offline” is one we’ve been exploring Imagine if you could point to a data service and say “take it offline”… …we automatically create a SQL Server Compact database and setup sync profiles for you Then you write a regular “local” application …well, almost that easy ;-) Check out prototypes of this here at Mix
  • 13. Sessions Introducing SQL Server Data Services Accessing Windows Live Services with AtomPub Using the Microsoft Sync Framework and FeedSync Building RESTful Real World Applications with the ADO.NET Data Services Framework Also check out the hands-on labs!
  • 14. ADO.NET Data Services Framework Site: http://astoria.mslivelabs.com Blog: http://blogs.msdn.com/astoriateam Forums: http://forums.microsoft.com/MSDN/ShowForum .aspx?ForumID=1430&SiteID=1 Contact me http://blogs.msdn.com/pablo pablo.castro@microsoft.com
  • 15. © 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.