wcf data services - bandung charity event - 2010
DESCRIPTION
TRANSCRIPT
![Page 1: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/1.jpg)
ADO.NET DATA SERVICES & OFFICE 2010 DEVELOPMENT
Visual Studio 2010 Community Launch, May 18, 2010
Andri Yadi | [email protected]
CEO, DyCode | MVP, VSTO
http://geeks.netindonesia.net/blogs/andriyadi
WCF
![Page 2: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/2.jpg)
http://itunes.com/apps/movreak
![Page 3: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/3.jpg)
WCF Data Services
SQL Server 2008
Entity Framework
HTTP/REST
JSON
Real-world Scenario
![Page 4: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/4.jpg)
Sir Timothy John "Tim" Berners-LeeThe inventor of WWW
![Page 5: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/5.jpg)
Web Service or Web API
• Big Web Services (SOAP)
• RESTful Web Services
![Page 6: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/6.jpg)
SOAP/WS-*?
![Page 7: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/7.jpg)
SOAP arguably are:
• Complex• Slow• Heavyweight• Tied to development
tools and libraries• Not supported
universally• Cross-vendor/platform
interoperability NOT perfect
![Page 8: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/8.jpg)
Roy T. FieldingIntroduced REST in 2000
![Page 9: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/9.jpg)
REST?REpresentational State Transfer
Read http://tomayko.com/writings/rest-to-my-wife, it’s funny
![Page 10: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/10.jpg)
REST• != Protocol• != Standard• != Format
Read http://tomayko.com/writings/rest-to-my-wife, it’s funny
![Page 11: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/11.jpg)
REST == Architectural Style
for connecting distributed applications
![Page 12: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/12.jpg)
REST
• Server-side resources identified by URI
• Access resources over HTTP:
• Returned data is “plain”: Atom, plain-XML or JSON
POST Create INSERT
GETRetriev
eSELECT
PUT Update UPDATE
DELETE Delete DELETE
![Page 13: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/13.jpg)
Client
Server
Resources
Resource 1
Resource 2
URL
VERB (GET, POST, PUT,
DELETE)
Representation
Status
Representation
XML JSON
XML JSON
![Page 14: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/14.jpg)
ODataOpen Data Protocol = REST + AtomPub + Modeling + URI Semantics
An open web protocol for querying and updating data, applies web technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON to provide access to information from varying sources
![Page 15: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/15.jpg)
WCF Data Services
SQL Server 2008 Reporting Services
Data Services Client
HTTP(Open Data Protocol)
Windows Azure Table Storage
![Page 16: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/16.jpg)
OData SDK – Client Library(March 2010)
• OData JavaScript Library
• OData SDK for PHP• Restlet ext. for Java• OData client lib for WP7• OData SDK for ObjC• Data Services update
for .NET 3.5 SP1• .NET 4.0• Silverlight 4.0
![Page 17: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/17.jpg)
OData Consumers
• Modern web browsers• OData explorer• Excel 2010 –
PowerPivot• LINQPad• Sesame
![Page 18: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/18.jpg)
WCF DATA SERVICES
![Page 19: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/19.jpg)
WCF Data Services
== Astoria== ADO.NET Data Services
![Page 20: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/20.jpg)
WCF DATA SERVICES
A RESTFul implementation for data-centric services
![Page 21: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/21.jpg)
Hosting/HTTP Listener
Data Services Runtime
Data Access Layer
Relational Database
EntityFramework
Custom LINQ
Provider
HTTP
Open Data Protocol (OData)
Other Sources
![Page 22: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/22.jpg)
Hosting/HTTP Listener
Data Services Runtime
Data Access Layer
SQL Server
EntityFramework
HTTP
http://localhost:1234/MyData.svc/MyEntities(10)
var q = from e in MyEntities where id = 10 select e;
SELECT * FROM MyEntity WHERE id = 10
![Page 23: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/23.jpg)
DEMOCreate a WCF Data Service
![Page 24: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/24.jpg)
WCF Data Services
Data Services Client
HTTP(Open Data Protocol)
![Page 25: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/25.jpg)
DEMO
Access WCF Data Services from Microsoft Outlook
![Page 26: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/26.jpg)
Resources
• OData web site: http://odata.org
• WCF Data Services team blog: http://blogs.msdn.com/astoriateam
• MSDN: http://msdn.microsoft.com/data
• Visualizer: In Visual Studio 2010 Tools > Extension Manager > Search > “open data protocol”
• iPhone developer portal: http://developer.apple.com/iphone
![Page 27: WCF Data Services - Bandung Charity Event - 2010](https://reader035.vdocuments.net/reader035/viewer/2022081516/54c6f4304a795967778b456f/html5/thumbnails/27.jpg)
Q&A