collab365 oct 2015 - moving from soap to rest – you’ll have to do it sometime

18
Online Conference June 17 th and 18 th 2015 WWW.COLLAB365.EVENTS Moving from SOAP to Rest: You’ve Got to Do It Sometime Marc D Anderson Sympraxis Consulting LLC

Upload: marc-anderson

Post on 13-Apr-2017

631 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

     

               

 Online Conference

 June 17th and 18th 2015

WWW.COLLAB365.EVENTS

Moving from SOAP to Rest:You’ve Got to Do It Sometime

Marc D AndersonSympraxis Consulting LLC

Page 2: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Marc D AndersonSympraxis Consulting LLC

Email : [email protected] : sympmarcFacebook : marc.d.andersonLinkedIn : marcanderson

• Co-Founder and President of Sympraxis Consulting LLC, located in the Boston suburb of Newton, MA, USA. Sympraxis focuses on enabling collaboration throughout the enterprise using the SharePoint application platform.

• Over 30 years of experience in technology professional services and software development. Over a wide-ranging career in consulting as well as line manager positions, Marc has proven himself as a problem solver and leader who can solve difficult technology problems for organizations across a wide variety of industries and organization sizes.

• Author of SPServices• Awarded Microsoft MVP for SharePoint Server 2011-2015

Page 3: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Session OverviewIf you’ve been developing client side applications or functionality using SPServices and the SOAP Web Services, sooner or later you’ll want to move to REST instead.This session takes the patterns shown in my article series on ITUnity and my blog and makes it real with real-world examples. There are some things you can do now to prepare for this eventuality, whether it’s part of an upgrade to SharePoint 2013 or simply because you’ve got “legacy” code that uses SOAP instead of REST.We’ll go through the decision points, specific code examples, and better practices.

Page 4: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Why Move from SOAP to REST?SOAP

Simple Object Access ProtocolCreated 1998 by Dave Winer et al for MicrosoftDiscoverability via WSDLXML-based

RESTRepresentational State TransferOData protocolsXML or JSONMuch wider usage

Sources: http://en.wikipedia.org/wiki/SOAP#History, http://en.wikipedia.org/wiki/Representational_state_transfer

Page 5: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Services Across SharePoint Versions

Deprecated

Deprecated

Endpoint

/_vti_bin/listdata.svc

/_api

Deprecated TBD, but unified

NoneSOAP REST

Page 6: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

SharePoint’s SOAP Services

Source: https://spservices.codeplex.com/wikipage?title=$().SPServices

SOAP

Page 7: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Conversion ApproachesAbstract data access (SPServices) callsGet familiar with promises and asynchronous calls (if you aren’t already)Begin using JSONConvert individual calls – mix and matchStart new development with REST – spackle with CSOM or SOAP

Page 8: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Abstract Data AccessSO

AP

Page 9: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Replace When ReadySO

AP

REST

Page 10: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

How Does SOAP Map to REST?SO

APRE

ST

Page 11: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Mapping GetListItems: The Nitty-GrittySOAP Option

(SPServices synonym) REST Comments

ViewFields (CAMLViewFields)

$select Choose the columns you would like to retrieve. With both SOAP and REST we get some data we don’t explicitly request, but by specifying only the columns we need we can reduce the payload sizes.

Query(CAMLQuery)

$filter, $orderby

Specify which items in the list we would like to return and how we would like them sorted.

RowLimit(CAMLRowLimit)

$limit Say how many items matching the Query we would like to receive. In SOAP we can specify 0 to get all matching items; in REST we can omit the parameter to get all the matching items. Otherwise, we can specify any integer as the limit.

ViewName (CAMLViewName)

NA ViewName lets you choose the view you would like to get in the response. There’s no REST equivalent here. I’ve always discouraged using this option in SOAP because it’s too easy to change the view settings and cause unintended consequences.

QueryOptions (CAMLQueryOptions)

NA In SOAP, this lets us specify some options that change how the data is returned to us. For example, we can ask for all of the attachment URLs rather than just a Boolean which tells us that there are attachments.

NA $expand This option in REST has no direct equivalent in SOAP. $expand allows us to indicate that we would like the values for a relationship - rather than just the indices - using a projection. This is important with Lookup columns and Person or Group columns.

Page 12: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Generic Read Function

Page 13: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

SPServices: XML vs. JSONJS

ONSP

GetL

istIte

msJs

onXM

LGe

tList

Item

s

Page 14: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

SharePoint REST: JSONJS

ON REST

Page 15: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Chrome App: Postman

Page 16: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

DemosWe’ll look at live examples showing the different ways we can request data, along with conversion approaches.

Page 18: Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime

WWW.COLLAB365.EVENTS

Stay tuned for more great sessions …