MIX08-Restful Data Services with the ADO.NET Data Services Framework.
I am a huge fan of Pablo Castro(the presenter).
Astoria has become ADO.NET Data Services Framework.
Data in the web:
- Ajax applications
- Silverlight applications
- Online Services
- Mashups
Restful Interface for Data:
- Just Http
- Data as resources, HTTP methods to act on it.
- Uniform URL syntax
- Every piece of info is addressable
- Multiple representation
- Use regular HTTP content-type negotiation
- Atom, JSON, Plain XML
Book: Restful Web Services
Drill down data using Astoria(http request or get)
Model and Operation Semantics
- 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
URL Conventions
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')
Raw value access /Bookmarks(123)/Names/
Key words and syntax:
$value get rid of (goo) xml or data tags
$filter = Color eq Red Get color red by filter Dollar signs so you don't use names?
$orderby
= or eq
$paging
$top
$skip
&
$expand (=has to be a link)
/
Format your data just using a http strings
Data Services
- Various data sources
- Entity Framework
- Linq providers
Model-driven
- Structural description in Entity Data Model
- Metadata shapes service
Create a linq provider use Astoria to turn it into service and you have http data access.
Set your rules in your class or web.config.
"config.SetEntitySetAccessRule("",EntitySetRights.All);"
Refining and Securing Services
- Visibility
Read, Query, and Write options.
- Authentication
- Interceptors
Execute before HTTP GET/PUT/POST/DELETE
- Service Operations
Custom entry points /MyTags?startDate='2002-28-08'
Astoria is:
Ajax integrated
Silverlight supported
Astoria is the future of data mining!