client object model and rest improvements in sharepoint 2013
Post on 28-Nov-2014
7.508 Views
Preview:
DESCRIPTION
TRANSCRIPT
Jerry YasirSharePoint Server MVP
Client Object Model & REST Improvements in SharePoint 2013
Who Am I?SharePoint Server MVP Since 2010
SharePoint Practice Lead at US TECH Solutions (Jersey City, NJ)
Microsoft Certified Trainer (MCT) since 2008.
MCSE SharePoint 2013 – Waiting Results
MCITP SharePoint Admin 2010, MCPD SharePoint Developer 2010 & MCTS SharePoint 2010 Configuration & Development
MCTS WSS 3.0, SharePoint Server 2007, MCITP, MCTS Silverlight 4 Development, Project Server 2007 & 2010, MCTS Project Professional 2007 & 2010, MCPD.NET, MCSD.NET MCAD.NET
Email: jerry@ustechsolutions.com,
Twitter: @jerry_yasir Facebook: yasir.attiq (Jerry Yasir)
Blog: http://jerryyasir.wordpress.com
Overview – US Tech Solutions 3
Leading global consulting company, offering domain led IT Consulting services for more than 12 years .
Development centers and COE’s in the US and India. IT consultants deployed globally on various projects. Access to a unique portfolio of innovative technologies that
reduce IT project cost, timescales and risk. A large and diverse pool of resources with expertise on various
technologies and at various levels. Specially Designed Skill & Career Development Programs Technology partnerships with leading OEM’s like Microsoft, Oracle
and IBM.
©US Tech Solutions, 2012 www.ustechsolutions.com
Agenda
REST
Summary
Overview
Client OM Intro
Q & ADEMO
CSOM in 2010
CSOM in SharePoint 2010
Everything WAS
client.svc
Issues with CSOM•No Direct Access to client.svc Web Service•Must use a Proxy or Supported End Points• Supports .NET Silverlight & JavaScript
What to Develop?Managed OM – Is EasySilverlight OM? – Is EasyJavaScript OM? – Is Not Easy
C
SharePoint 2010 CSOM Architecture
Silverlight Library
.NET CLR Library
JavaScript Library
/_vti_bin/client.svc
Execute Query
Server
Client
Custom Client Code
How CSOM works
CSOM Changes in 2013
Changes in SharePoint 2013
Extended REST Support for Client.svc
Client.svc with REST Clients
•Direct Access to client.svc Web Service• Access HTTP GET, PUT, Merge, POST Requests•OData Implementation•Writing Code from NON Microsoft Apps
New APIs
•New APIs for Server Functionality • API for Windows Phone Development
For More Informationhttp://tinyurl.com/SP2013Odata
New CSOM API Support
E-Discovery
TaxonomySearch
Workflow
Sharing
User Profiles
Analytics
PublishingFeeds
IRMBusiness Data
Lists
Support both Server Side code and REST
C
SharePoint 2013 CSOM Architecture
Silverlight Library
.NET CLR Library
JavaScript Library
_api
Execute Query
Server
Client
OData
Custom Client Code
Changes in SharePoint 2013 CSOM
• Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.RunTime.dll• Available in SharePoint Foundation• contains the core classes
DemoManaged Client OM
DemoJavaScript Client OM
REST Overview
What’s REST and Why?
Significant Industry Momentum
Simple and Easier to Use• Easier than SOAP Based WS’s•Higher Productivity using JavaScript and JQuery• Results as JSON and ATOM
How to Query• Everything is URL• Results can be cached on Proxy Servers.
REST in SharePoint 2010
ListData.svc
REST in SharePoint 2013
NEW : CSOM URLS can go through /_api/folder
Replace
• http://intranet/_vti_bin/client.svc/web with• http://intranet/_api/web/
• Lot more simple URL• Helps in 256 Character
Limit of URLs in browser• ListData.svc is still there
for backword compatiability
• OLD Aps will still work but needs to be updated
Client OM and OData
What is OData?
Access to Information Across Platforms
Uses HTTP Verbs Get, Put, Delete, Merge, Post
Support for all kind of Data, RD, FS, CMS or Web
Built on top of HTTP, ATOM and JSON
Web Protocol for Basic CRUD Operations on Data
Brand New Data Access API
More Information @ http://www.odata.org/
OData Terms and ConceptsOData Described in Entity Data Model by
CollectionEntity SetA Navigation Property on an entity type that identifies a collection of entities
Entry Entry typeNote: May be Part of a type Hierarchy
Property of an Entry
Primitive or complex Entity type property
Complex Type Complex Type
Link A Navigation Property defined on an entity type
Service Operation
Function Import
Methods will be mapped into eitherOData Maps CRUD Operations to HTTP Verbs
OData Implementation Details
Update Mapped to PUT or MERGE
Delete Mapped to DELETE
Service Operation via POST, PUT, MERGE or Delete
Insert Mapped to POST
Read mapped to GETNavigation Operations e.g. List.getByTitle via a GET Request
More Information @ http://www.odata.org/
URLsService Root URI : http://intranet.contoso.com/_api/
Resource Path – SQL Table or Web or List
Query Strings Options – $Filter, $select, $orderby
REST – Return ATOM XML vs. JSON
Control data format response with ACCEPT header
ATOM-PUB XML
• Verbose• Easier to Read• ACCEPT = application/atom+xml
JSON
• Condensed notation• Smaller payload• ACCEPT = application/json;odata=verbose;
Managing Objects to Resources
Example REST URLS
http://Intranet.consoto.com/_api/web/
http://Intranet.consoto.com/_api/web/Lists
http://Intranet.consoto.com/_api/web/Lists/getByTitle(‘Customers’)
http://Intranet.consoto.com/_api/web/getAvailableWebTemplates(lcid=1033
http://Intranet.consoto.com/_api/web/
http://intranet.consoto.com/_api/web/Lists/getByTitle(‘Customers’)/Items(0)/?$select CustomerName,CustomerId,Address
Demo : REST in Browser
Demo : Using Fiddler
Demo : OData in Code
Summary
CSOMNow Covers More Important for App Development
RESTImproved SyntaxEasy to Use with JavaScript than C#
Some Great Resources
http://msdn.microsoft.com/en-us/library/jj164060.aspx
http://msdn.microsoft.com/en-us/library/jj163201.aspx
http://msdn.microsoft.com/en-us/library/jj164022.aspx
http://msdn.microsoft.com/en-us/library/jj163800.aspx
http://msdn.microsoft.com/en-us/library/fp142385.aspx
http://msdn.microsoft.com/en-us/library/fp142380.aspx
http://msdn.microsoft.com/en-us/library/fp142386.aspx
http://msdn.microsoft.com/en-us/library/jj193034(v=office.15).aspx
http://code.msdn.microsoft.com/office/SharePoint-2013-Perform-a-1bf3e87d/view/SourceCode#content
http://msdn.microsoft.com/en-us/library/jj860569.aspx
Q & A
Thank You
top related