1 ado.net data services mike taulty developer & platform group microsoft ltd...
Post on 18-Jan-2016
223 Views
Preview:
TRANSCRIPT
1
ADO.NET Data Services
Mike TaultyDeveloper & Platform GroupMicrosoft LtdMike.Taulty@microsoft.com http://www.mtaulty.com
Agenda
Overview
Exposing data sources
Building clients
Server-side interception
Data Services – Overview
Provides new functionalityCRUD access to data over RESTful web servicesBuilt-in URI-based query syntaxClient-side libraries for .NET, Silverlight and AJAX
Builds on top of Windows Communication Foundation V3.5Status
In VS 2008 Service Pack 1, .NET Framework 3.5 Sp1Shipped in 2008
RESTful Web Services?
Resources
Res 1
Res 2
Res 3
Res 4
HTTP RequestURL
VERBPayload
HTTP Response
Status
GETPOSTPUT
DELETEXML JSON
Payload
XML JSON
RESTful?
REpresentational State TransferServer-side resources identified by a URIAccess is over HTTP, verb tied to action
GET to read the value of a resourcePOST to create a new resourcePUT to update an existing resourceDELETE to delete a resource
Returned data is “plain” – XML or JSONIs this “the death of SOAP”?
Data? What Kind of Data?
Provide a type with public properties which are IQueryable<T>
Some rules about how T has to be formedRemember the extension method AsQueryable()
Only get write access if your type implements IUpdatableWorks well with generated code from;
ADO.NET Entity Framework (ObjectContext)LINQ to SQL (DataContext*)
7
Exposing Data
demo
ADO.NET Entity Framework ?
SQL Provider Oracle Provider ...
Entity Provider
Conceptual Model
Store Model
Map
ADO.NET API ORM API
9
Using Entity Framework Data
demo
Querying with Data Services
URI based query mechanismhttp://myservice.svc/MyEntitySet
Supports the notion of navigating by primary key
MyEntitySet ( Col1=Value1, Col2=Value2, ... )Supports various operators
$orderby, $top, $skip, $expand, $filter, $value
Operators for $filterLogic
eqnegtgteqltlteqandornot
Arithmeticaddsubmuldivmodroundfloorceiling
Stringcontainsendswithstartswithlengthindexofinsertremove x 2replacesubstringtolowertouppertrimconcat
Date/Timesecondhourminutedaymonthyear
Typeisofcast
12
Querying with the URI
demo
Building Clients
Services offer metadataMyService.svc/$metadata
.NET clients made easier through a proxy generation tool
Visual Studio or datasvcutil.exeUseful for both regular .NET clients & Silverlight
AJAX clients made easier through a script library
“ASP.NET AJAX 4.0 Preview 4”Available as a download on Codeplex
14
Building Clients
demo
Interception & Operations
Possible to hook code into the frameworkFor queries we can write
Query interceptorsFor modifications we can write
Change interceptorsCan also expose custom functionality
Service OperationsUseful for providing “canned” functionality, can be parameterised
16
Interception, Operations
demo
“Coming Soon”
ADO.NET Data Services V1.5Sits on top of .NET Framework V3.5 Sp1Feature and bug release
Data binding, row counts, paging, BLOB support, interface for provider writers
DownloadADO.NET Data Services Offline, Alpha Preview
Local SQL Compact DBAccessed via the same RESTful servicesKept in sync via the Sync FrameworkDownload
Resources
Other topics to considerBatching of queries, updatesOptimistic concurrency modeletc
Data Services (“Astoria”) Team Bloghttp://blogs.msdn.com/astoriateam
My website http://www.mtaulty.com ( search Data Services )
© 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.
top related