speaking odata to sharepoint 2010 in a restful manner

Post on 24-Feb-2016

53 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 michael.hompus@winvision.nl http://blog.hompus.nl @eNeRGy164. REST. OData. - PowerPoint PPT Presentation

TRANSCRIPT

Speaking OData to SharePoint 2010in a RESTful manner

Michaël Hompus | Principal Developer | Winvision

Principal Developermichael.hompus@winvision.nlhttp://blog.hompus.nl@eNeRGy164

Michaël Hompus

Speaking OData to SharePoint 2010

in a RESTful manner

REST

OData

SharePoint 2010

REST

OData

SharePoint 2010

Wikipedia“Representational State Transfer (REST) is een

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

*

Client-server

Stateless

Cachable

Code on

demand

Uniform interfac

eLayered system

Client-server

Stateless

Cachable

Uniform interfac

e

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.

Layered system

*Code on

demand

Bekende REST API’s

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. ”

Open Data Protocol (v2.0)

AtomPub [RFC5023]

HTTP(S) [RFC2616]

TCP [RFC793]

JSON [RFC4627] XML, etc

Open Data Protocol (v1.0)

DEMO

OData feed AtomPub feed

Feeds

Entries

Typed data

Relaties tussen entries

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)

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

Atom (XML) JSON

DEMO

http://localhost/_vti_bin/ListData.svc

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

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

DEMO

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

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

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

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

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

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

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

Valkuilen

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

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

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

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/

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

Vragen?

top related