Creating a Great User Experience in SharePoint by Marc Anderson - SPTechCon
SharePoint Data Anywhere and Everywhere by Chris Beckett - SPTechCon
1. info@newsteplearning.com
www.newsteplearning.com
(425) 522-3727
Understanding and Programming
SharePoint Web Services
Professional Learning Programs for Microsoft SharePoint, Office 365 and Windows Azure
2. About Chris Beckett
Solution Architect
Learning Consultant
and Trainer
@sharepointbits
MCM
MCT
MCSE
MCPD
24+10
blog.sharepointbits.com chris@newsteplearning.com
3. Agenda
Introduction to
SharePoint Web
Services
SOAP Client-Side
REST API
Web Services Object Model
4. What is a Web Service?
A software system designed
to support interoperable
machine-to-machine
interaction over a network
W3C
6. Available SharePoint Web Services
SOAP Client Side Object ODATA
Web Services Model (CSOM) Web Services
• Open Standards • Microsoft Proprietary • Open Standards
• RPC Model • Batch RPC Model • REST Model
• Protocol Agnostic • Client Runtime • HTTP Only
• XML • XML / JSON • ATOM / JSON
7. SharePoint 2010 Web Service Access
SOAP CSOM ODATA
Lists and Libraries
Site and List Settings
Site Security
Workflow
Search
Managed Metadata
User Profiles
Publishing
8. SharePoint 2010 Web Service Clients
SOAP CSOM ODATA
JavaScript
Silverlight
.NET
Windows Phone
Other Languages
InfoPath Receive
InfoPath Submit
BCS WCF Connector
9. SharePoint 2013 Web Service Access
SOAP CSOM ODATA
Lists and Libraries
Site and List Settings
Site Security
Workflow
Deprecated
Search
Managed Metadata
User Profiles
Publishing
10. SharePoint 2010 Web Service Clients
SOAP CSOM ODATA
JavaScript
Silverlight
.NET
Windows Phone
Deprecated
Other Languages
InfoPath Receive
InfoPath Submit
BCS WCF Connector
11. Agenda
Programming with
SOAP-Based
Web Services
Understanding Programming with Programming with
SharePoint Web the Client-Side the ODATA RESTful
Services Object Model Web Services
12. What is SOAP?
Created by Microsoft in 1998 / W3C Standard
Protocol Agnostic / Common to use HTTP
RPC Message Pattern (Request/Response)
XML Schema used for Message Structures
15. SOAP Considerations
• All Versions of SharePoint • Designed to work with Proxy
• Ubiquitous • Not JavaScript Friendly
• Protocol Agnostic • Verbose Xml Data
• Language Agnostic • No Anonymous
• Access to Enterprise Services
16. SharePoint Web Service Addresses
Web Service Web Service Address
Search http://<site>/_vti_bin/search.asmx
User Profiles http://<site>/_vti_bin/userprofileservice.asmx
Sites http://<site>/_vti_bin/sites.asmx
Lists http://<site>/_vti_bin/lists.asmx
Permissions http://<site>/_vti_bin/permissions.asmx
Copy http://<site>/_vti_bin/copy.asmx
31 Public Web Services (25+6) in SharePoint
22. Programming with SPServices
Create a Parameters
Array
Anon Function for
Complete
Invoke Library with
Parameters
23. Agenda
Programming with
the Client-Side
Object Model
Understanding Programming with Programming with
SharePoint Web SOAP-Based the ODATA RESTful
Services Web Services Web Services
24. What is the CSOM?
Proprietary Microsoft SharePoint Client API
.NET / Silverlight / WP7 / ECMAScript
Mimics Server-side Object Model
Proprietary Message Transfer Format
26. CSOM Considerations
• Efficient for Batch Operations • Less Efficient for Simple
• Familiar for SharePoint Operations
Developers • Unfamiliar to Web Developers
• Supports LINQ Queries • Limited # of Client Runtimes
• Works with Anonymous • Microsoft Proprietary
33. Agenda
Programming with
the ODATA RESTful
Web Services
Understanding Programming with Programming with
SharePoint Web SOAP-Based the Client-Side
Services Web Services Object Model
34. What is REST?
Representational State Transfer
Web Addressable Resources / Hyperlink-able
Maps CRUD operations with HTTP Verbs
Commonly uses JSON for Data Messages
35. REST Considerations
• Efficient for Batch Operations • Less Efficient for Simple
• Familiar for SharePoint Operations
Developers • Unfamiliar to Web Developers
• Supports LINQ Queries • Limited # of Client Runtimes
• Works with Anonymous • Microsoft Proprietary
39. More Information
Choose the Right API set with SharePoint 2013
http://msdn.microsoft.com/en-us/library/jj164060.aspx
Complete Basic Operations with the SharePoint 2013 Client Library
http://msdn.microsoft.com/en-us/library/fp179912.aspx
Programming using the SharePoint 2013 REST Service
http://msdn.microsoft.com/en-us/library/fp142385.aspx
SharePoint 2010 Web Services
http://msdn.microsoft.com/en-us/library/ee705814(v=office.14).aspx
Accessing SharePoint 2010 Lists by Using WCF Data Services
http://msdn.microsoft.com/en-us/library/hh134614(v=office.14).aspx
40. Questions
Thank you for attending!
chris@newsteplearning.com
(425) 522-3727
@sharepointbits
blog.sharepointbits.com
Please complete your
evaluations. Your feedback is
appreciated