Speaking OData to SharePoint 2010 in a RESTful manner

62

description

Speaking OData to SharePoint 2010 in a RESTful manner. Michaël Hompus | Principal Developer | Winvision. Speaking OData to SharePoint 2010 in a RESTful manner. Michaël Hompus. Principal Developer [email protected] http://blog.hompus.nl @eNeRGy164. REST. OData. - PowerPoint PPT Presentation

Transcript of Speaking OData to SharePoint 2010 in a RESTful manner

Page 1: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 2: Speaking OData  to SharePoint 2010 in  a RESTful manner

Speaking OData to SharePoint 2010in a RESTful manner

Michaël Hompus | Principal Developer | Winvision

Page 3: Speaking OData  to SharePoint 2010 in  a RESTful manner

Principal [email protected]://blog.hompus.nl@eNeRGy164

Michaël Hompus

Speaking OData to SharePoint 2010

in a RESTful manner

Page 4: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 5: Speaking OData  to SharePoint 2010 in  a RESTful manner

REST

OData

SharePoint 2010

Page 6: Speaking OData  to SharePoint 2010 in  a RESTful manner

REST

OData

SharePoint 2010

Page 7: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 8: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 9: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 10: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 11: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 12: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 13: Speaking OData  to SharePoint 2010 in  a RESTful manner

Wikipedia“Representational State Transfer (REST) is een

software-architectuur voor gedistribueerde mediasystemen zoals het World wide web. ”

Page 14: Speaking OData  to SharePoint 2010 in  a RESTful manner

*

Client-server

Stateless

Cachable

Code on

demand

Uniform interfac

eLayered system

Page 15: Speaking OData  to SharePoint 2010 in  a RESTful manner

Client-server

Page 16: Speaking OData  to SharePoint 2010 in  a RESTful manner

Stateless

Page 17: Speaking OData  to SharePoint 2010 in  a RESTful manner

Cachable

Page 18: Speaking OData  to SharePoint 2010 in  a RESTful manner

Uniform interfac

e

Page 19: Speaking OData  to SharePoint 2010 in  a RESTful manner

Uniform interfac

eIdentificatie van resourcesElke resource binnen de applicatie heeft zijn eigen adres, bijv. een unieke URL. Een resource heeft een representatie, bijv. in de vorm van HTML, XML of JSON.

Manipulatie van resources d.m.v. de representatieMet behulp van resource en bijbehorende metadata kan een resource gewijzigd of verwijderd worden. Bijvoorbeeld door gebruik te maken van HTTP methods zoals GET, PUT, POST en DELETE.

Zelf beschrijvende berichtenDoor middel van mime-types wordt doorgegeven hoe de client de informatie kan verwerken, ook de cachebaarheid wordt meegegeven.

“Hypermedia” als motor van “state”Om van state te veranderen kan de representatie van een resource bijvoorbeeld hyperlinks bevatten. Zo’n link kan wijzen naar gerelateerde informatie.

Page 20: Speaking OData  to SharePoint 2010 in  a RESTful manner

Layered system

Page 21: Speaking OData  to SharePoint 2010 in  a RESTful manner

*Code on

demand

Page 22: Speaking OData  to SharePoint 2010 in  a RESTful manner

Bekende REST API’s

Page 23: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 24: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 25: Speaking OData  to SharePoint 2010 in  a RESTful manner

OData.org“The Open Data Protocol (OData) is a Web

protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today. ”

Page 26: Speaking OData  to SharePoint 2010 in  a RESTful manner

Open Data Protocol (v2.0)

AtomPub [RFC5023]

HTTP(S) [RFC2616]

TCP [RFC793]

JSON [RFC4627] XML, etc

Open Data Protocol (v1.0)

Page 27: Speaking OData  to SharePoint 2010 in  a RESTful manner

DEMO

Page 28: Speaking OData  to SharePoint 2010 in  a RESTful manner

OData feed AtomPub feed

Page 29: Speaking OData  to SharePoint 2010 in  a RESTful manner

Feeds

Page 30: Speaking OData  to SharePoint 2010 in  a RESTful manner

Entries

Page 31: Speaking OData  to SharePoint 2010 in  a RESTful manner

Typed data

Page 32: Speaking OData  to SharePoint 2010 in  a RESTful manner

Relaties tussen entries

Page 33: Speaking OData  to SharePoint 2010 in  a RESTful manner

Adresseringhttp://services.odata.org/OData/OData.svchttp://services.odata.org/OData/OData.svc/$metadatahttp://services.odata.org/OData/OData.svc/Categorieshttp://services.odata.org/OData/OData.svc/Categories/$counthttp://services.odata.org/OData/OData.svc/Categories(1)http://services.odata.org/OData/OData.svc/Categories(1)/Namehttp://services.odata.org/OData/OData.svc/Categories(1)/Name/$valuehttp://services.odata.org/OData/OData.svc/Categories(1)/Productshttp://services.odata.org/OData/OData.svc/Categories(1)/Products(1)

Page 34: Speaking OData  to SharePoint 2010 in  a RESTful manner

Query operaties…/OData.svc/Products?$orderby=Rating…/OData.svc/Products?$orderby=Rating asc…/OData.svc/Products?$orderby=Rating,Category/Name desc…/OData.svc/Products?$top=5…/OData.svc/Products?$skip=5…/OData.svc/Products?$skip=2&$top=2&$orderby=Rating…/OData.svc/Products?$select=Price,Name…/OData.svc/Categories?$expand=Products

Page 35: Speaking OData  to SharePoint 2010 in  a RESTful manner

Atom (XML) JSON

Page 36: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 37: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 38: Speaking OData  to SharePoint 2010 in  a RESTful manner

DEMO

Page 39: Speaking OData  to SharePoint 2010 in  a RESTful manner

http://localhost/_vti_bin/ListData.svc

Page 40: Speaking OData  to SharePoint 2010 in  a RESTful manner

http://localhost/_vti_bin/ListData.svc/Documents

Page 41: Speaking OData  to SharePoint 2010 in  a RESTful manner

http://localhost/_vti_bin/ListData.svc/Documents(1)/CreatedBy

Page 42: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 43: Speaking OData  to SharePoint 2010 in  a RESTful manner

DEMO

Page 44: Speaking OData  to SharePoint 2010 in  a RESTful manner

.../Shared Documents/Gears Sales History.xlsx

Page 45: Speaking OData  to SharePoint 2010 in  a RESTful manner

.../_vti_bin/ExcelRest.aspx/Shared Documents/Gears Sales History.xlsx/Model

Page 46: Speaking OData  to SharePoint 2010 in  a RESTful manner

.../Gears Sales History.xlsx/Model?$format=workbook

Page 47: Speaking OData  to SharePoint 2010 in  a RESTful manner

.../Gears Sales History.xlsx/Model/Tables

Page 48: Speaking OData  to SharePoint 2010 in  a RESTful manner

.../Gears Sales History.xlsx/Model/Tables/Table('Table2')?$format=atom

Page 49: Speaking OData  to SharePoint 2010 in  a RESTful manner

.../Gears Sales History.xlsx/Model/Tables/Table('Table2')?$format=html

Page 50: Speaking OData  to SharePoint 2010 in  a RESTful manner

.../Gears Sales History.xlsx/Model/Charts('Chart 3')?$format=image

Page 51: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 52: Speaking OData  to SharePoint 2010 in  a RESTful manner

Valkuilen

http://blog.hompus.nl/2010/03/26/could-not-load-type-idataserviceupdateprovider-when-using-rest-with-sharepoint-2010/

Page 53: Speaking OData  to SharePoint 2010 in  a RESTful manner

Valkuilen• Niet anoniem• Niet alle query operaties zijn aanwezig

bijv.: $format is niet aanwezig in ListData.svc• Excel grafieken hebben geen Atom feed

equivalent• Externe lijsten worden niet ondersteund

Page 54: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 55: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 56: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 57: Speaking OData  to SharePoint 2010 in  a RESTful manner
Page 58: Speaking OData  to SharePoint 2010 in  a RESTful manner

REST linksRoy Thomas Fieldinghttp://roy.gbiv.com/

Representational State Transfer (REST)http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

Wikipedia on RESThttp://en.wikipedia.org/wiki/REST

Page 59: Speaking OData  to SharePoint 2010 in  a RESTful manner

OData linksODatahttp://www.odata.org/

OData Protocolhttp://www.odata.org/developers/protocols

OData SDKhttp://www.odata.org/developers/odata-sdk

OData Example Servicehttp://services.odata.org/OData/OData.svc/

Page 60: Speaking OData  to SharePoint 2010 in  a RESTful manner

SharePoint 2010 linksQuery SharePoint Foundation with ADO.NET Data Serviceshttp://msdn.microsoft.com/en-us/library/ee535480(v=office.14).aspx

Excel Web Services & RESThttp://blogs.msdn.com/excel/archive/tags/REST+API/default.aspx

SharePoint 2010 REST & Windows Phone 7http://weblogs.asp.net/jan/archive/2010/04/22/accessing-sharepoint-2010-data-with-rest-odata-on-windows-phone-7.aspx

Page 61: Speaking OData  to SharePoint 2010 in  a RESTful manner

Vragen?

Page 62: Speaking OData  to SharePoint 2010 in  a RESTful manner