SlideShare une entreprise Scribd logo
1  sur  21
SharePoint 2013 APIs 
Leverage SharePoint 2013 from websites, 
LOB systems and back-end services
Agenda 
• Intro 
• APIs and Integration Points 
• REST/oData 
• CSOM 
• JavaScript 
• SOM 
• Conclusion
Thank you to my sponsor 
• http://www.cloudshare.com/
Intro 
Who am I? 
• .NET / SharePoint solution architect 
• Over 18 years experience developing business solutions for 
private industry & government 
• Recent clients include Justice Canada, NRC, NSERC, 
DFAIT, CFPSA, OSFI, MCC 
• Specialize in Microsoft technologies 
• Speaker at user groups and conferences
Development Models 
• As a service 
 Web / Phone / Desktop / Server / Mashup 
• As a framework 
 SharePoint Web Page 
 App Model 
 Farm Solution 
 Sandbox Solution 
5
Client Protocols 
Browser Windows ASP.NET 
Workflows 
Event 
Receivers 
[7] Application 
[4] Transport 
[3] Network 
Industry 
Standard 
OSI 
Model 
Microsoft 
Open 
Specification
Sharing Social Taxonomy Search Publishing 
eDiscovery Workflow IRM BCS Analytics 
JavaScript 
Library 
Silverlight 
Library 
.NET CLR 
Library 
Client APIs 
Client 
Code 
Client 
Server 
REST 
oData 
JSON 
CSO 
M 
_api (_vti_bin/client.svc)
Integration Points 
8
Development IDEs & Languages 
• Any web or cloud IDE 
• “Napa” Cloud-Based Development 
• SharePoint Designer 
 HTML, CSS, JavaScript 
• Visual Studio 
 .NET, etc 
• PowerGUI or any PS command shell 
 PowerShell 
9
Coding to SP APIs 
• oData / REST 
 http://localhost/_api/web/ 
 http://localhost/_vti_bin/ListData.svc (still supported) 
• Client-Side Object Model (CSOM) 
 ClientContext.ExecuteQuery(); 
• JavaScript 
 ClientContent.executeQueryAsync(); 
10
Coding to SP APIs 
• Server App Model 
 CSOM, oData/REST, JavaScript 
• Server Object Model (SOM) 
 SPSite site = new SPSite("http://localhost/") 
• Web Services 
 http://localhost/_vti_bin/Lists.asmx 
11
Web Dev 
• Using .NET, JavaScript, PHP, Ruby, etc 
• Address an oData / REST end point 
• Address CSOM .NET API 
• Address CSOM JavaScript API 
• Address CSOM Silverlight API 
12
REST API (JavaScript) 
$.ajax({ 
url: "http://localhost/_api/web/lists/getbytitle('Documents')/items", 
type: "GET", 
headers: { "accept": "application/json;odata=verbose",}, 
success: function (data) { 
$.each(data.d.results, function (index, item) { 
$('#docs').append("<li>" + item.Id + " / " + item.Title + "</li>"); 
}, 
error: function (error) { 
alert(JSON.stringify(error)); 
} 
}); 
13
oData (.NET) 
Uri u = 
new Uri("http://localhost/_vti_bin/ListData.svc/", UriKind.Absolute); 
TeamSiteDataContext ctx = new TeamSiteDataContext(u); 
ctx.Credentials = System.Net.CredentialCache.DefaultCredentials; 
DataServiceQuery<DocumentsItem> qry = ctx.Documents; 
IEnumerable<DocumentsItem> docs = qry.Execute(); 
14
JavaScript API 
var context = SP.ClientContext.get_current(); 
var user = context.get_web().get_currentUser(); 
$(document).ready(function () { 
getUserName(); 
}); 
function getUserName() { 
context.load(user); 
context.executeQueryAsync(onSuccess, onFailure); 
}
.NET Desktop Dev 
• Using WPF/WCF, WinForms or Silverlight 
• Address an oData / REST end point 
• Address CSOM or SOM .NET API 
• Address Silverlight API 
16
Client-Side Object Model (.NET) 
using (ClientContext ctx = new ClientContext("http://localhost/")) 
{ 
Web web = ctx.Web; 
ListCollection lists = web.Lists; 
List list = web.Lists.GetByTitle(libraryname); 
CamlQuery qry = new CamlQuery(); 
ListItemCollection items = list.GetItems(qry); 
ctx.Load(items, li => li.Include(pi => pi["LinkFilename"])); 
ctx.ExecuteQuery(); 
return items; 
} 
17
Server Object Model (.NET) 
using (SPSite site = new SPSite("http://localhost/")) 
{ 
using (SPWeb web = site.RootWeb) 
{ 
SPList list = web.Lists["Documents"]; 
SPListItemCollection items = list.Items; 
return items; 
} 
} 
18
SharePoint Farm Dev 
• Using .NET and HTML/CSS/JavaScript 
• Use webparts 
• Address SOM .NET API 
• Address an oData / REST end point 
19
Resources for Attendees 
• SharePoint 2013 development overview (MSDN) 
• What’s new for developers in SharePoint 2013 
• Choose the right API set in SharePoint 2013 (MSDN) 
• SPC407 - Deep dive into the SharePoint 2013 CSOM API's 
(Microsoft SharePoint Conference 2012) 
21
Contact Me 
• John Calvert, Chief Architect 
• Software Craft, Inc. 
• john at softwarecraft dot ca 
• softwarecraft dot ca 
• at softwarecraft99

Contenu connexe

Tendances

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tipsSPC Adriatics
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonKunaal Kapoor
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Rob Windsor
 
Advanced SharePoint Web Part Development
Advanced SharePoint Web Part DevelopmentAdvanced SharePoint Web Part Development
Advanced SharePoint Web Part DevelopmentRob Windsor
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchRob Windsor
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewRob Windsor
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersRob Windsor
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web ServicesMark Rackley
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointMark Rackley
 
Share point hosted add ins munich
Share point hosted add ins munichShare point hosted add ins munich
Share point hosted add ins munichSonja Madsen
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationAdil Ansari
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSSharePointInstitute
 
Introduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointIntroduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointRene Modery
 
Deep Dive into the Content Query Web Part by Christina Wheeler - SPTechCon
Deep Dive into the Content Query Web Part by Christina Wheeler - SPTechConDeep Dive into the Content Query Web Part by Christina Wheeler - SPTechCon
Deep Dive into the Content Query Web Part by Christina Wheeler - SPTechConSPTechCon
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Ejada
 
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Eric Shupps
 
Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont'sNeven Rakonić
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBKen Cenerelli
 

Tendances (20)

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tips
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010
 
Advanced SharePoint Web Part Development
Advanced SharePoint Web Part DevelopmentAdvanced SharePoint Web Part Development
Advanced SharePoint Web Part Development
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development Overview
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web Services
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePoint
 
Share point hosted add ins munich
Share point hosted add ins munichShare point hosted add ins munich
Share point hosted add ins munich
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote Authentication
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 
Introduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointIntroduction to using jQuery with SharePoint
Introduction to using jQuery with SharePoint
 
Deep Dive into the Content Query Web Part by Christina Wheeler - SPTechCon
Deep Dive into the Content Query Web Part by Christina Wheeler - SPTechConDeep Dive into the Content Query Web Part by Christina Wheeler - SPTechCon
Deep Dive into the Content Query Web Part by Christina Wheeler - SPTechCon
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013
 
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
 
Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont's
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
 

Similaire à SharePoint 2013 APIs

Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...SPTechCon
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio AnguloLuis Du Solier
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013Kiril Iliev
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365Luis Valencia
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...Liam Cleary [MVP]
 
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Open stack ocata summit  enabling aws lambda-like functionality with openstac...Open stack ocata summit  enabling aws lambda-like functionality with openstac...
Open stack ocata summit enabling aws lambda-like functionality with openstac...Shaun Murakami
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기lanslote
 
Building a Windows Store App for SharePoint 2013
Building a Windows Store App for SharePoint 2013Building a Windows Store App for SharePoint 2013
Building a Windows Store App for SharePoint 2013Aspenware
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0Ido Flatow
 
Test-Driven Documentation for your REST(ful) service
Test-Driven Documentation for your REST(ful) serviceTest-Driven Documentation for your REST(ful) service
Test-Driven Documentation for your REST(ful) serviceJeroen Reijn
 
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysUsing communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysCodemotion Tel Aviv
 
Building RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIBuilding RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIGert Drapers
 
2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development Chris O'Connor
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...SPS Paris
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSam Brannen
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
 

Similaire à SharePoint 2013 APIs (20)

Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 
06 web api
06 web api06 web api
06 web api
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
 
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Open stack ocata summit  enabling aws lambda-like functionality with openstac...Open stack ocata summit  enabling aws lambda-like functionality with openstac...
Open stack ocata summit enabling aws lambda-like functionality with openstac...
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
 
Mvc 4.0
Mvc 4.0Mvc 4.0
Mvc 4.0
 
Building a Windows Store App for SharePoint 2013
Building a Windows Store App for SharePoint 2013Building a Windows Store App for SharePoint 2013
Building a Windows Store App for SharePoint 2013
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Test-Driven Documentation for your REST(ful) service
Test-Driven Documentation for your REST(ful) serviceTest-Driven Documentation for your REST(ful) service
Test-Driven Documentation for your REST(ful) service
 
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysUsing communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
 
Building RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIBuilding RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPI
 
2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 

Plus de John Calvert

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedJohn Calvert
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureJohn Calvert
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesJohn Calvert
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced TroubleshootingJohn Calvert
 
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingSharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingJohn Calvert
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaJohn Calvert
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersJohn Calvert
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSJohn Calvert
 
Transform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptTransform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptJohn Calvert
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveJohn Calvert
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013John Calvert
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?John Calvert
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareJohn Calvert
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareJohn Calvert
 

Plus de John Calvert (14)

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons Learned
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azure
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-Premises
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
 
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingSharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What Matters
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSS
 
Transform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptTransform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScript
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
 

Dernier

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 

Dernier (20)

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 

SharePoint 2013 APIs

  • 1. SharePoint 2013 APIs Leverage SharePoint 2013 from websites, LOB systems and back-end services
  • 2. Agenda • Intro • APIs and Integration Points • REST/oData • CSOM • JavaScript • SOM • Conclusion
  • 3. Thank you to my sponsor • http://www.cloudshare.com/
  • 4. Intro Who am I? • .NET / SharePoint solution architect • Over 18 years experience developing business solutions for private industry & government • Recent clients include Justice Canada, NRC, NSERC, DFAIT, CFPSA, OSFI, MCC • Specialize in Microsoft technologies • Speaker at user groups and conferences
  • 5. Development Models • As a service  Web / Phone / Desktop / Server / Mashup • As a framework  SharePoint Web Page  App Model  Farm Solution  Sandbox Solution 5
  • 6. Client Protocols Browser Windows ASP.NET Workflows Event Receivers [7] Application [4] Transport [3] Network Industry Standard OSI Model Microsoft Open Specification
  • 7. Sharing Social Taxonomy Search Publishing eDiscovery Workflow IRM BCS Analytics JavaScript Library Silverlight Library .NET CLR Library Client APIs Client Code Client Server REST oData JSON CSO M _api (_vti_bin/client.svc)
  • 9. Development IDEs & Languages • Any web or cloud IDE • “Napa” Cloud-Based Development • SharePoint Designer  HTML, CSS, JavaScript • Visual Studio  .NET, etc • PowerGUI or any PS command shell  PowerShell 9
  • 10. Coding to SP APIs • oData / REST  http://localhost/_api/web/  http://localhost/_vti_bin/ListData.svc (still supported) • Client-Side Object Model (CSOM)  ClientContext.ExecuteQuery(); • JavaScript  ClientContent.executeQueryAsync(); 10
  • 11. Coding to SP APIs • Server App Model  CSOM, oData/REST, JavaScript • Server Object Model (SOM)  SPSite site = new SPSite("http://localhost/") • Web Services  http://localhost/_vti_bin/Lists.asmx 11
  • 12. Web Dev • Using .NET, JavaScript, PHP, Ruby, etc • Address an oData / REST end point • Address CSOM .NET API • Address CSOM JavaScript API • Address CSOM Silverlight API 12
  • 13. REST API (JavaScript) $.ajax({ url: "http://localhost/_api/web/lists/getbytitle('Documents')/items", type: "GET", headers: { "accept": "application/json;odata=verbose",}, success: function (data) { $.each(data.d.results, function (index, item) { $('#docs').append("<li>" + item.Id + " / " + item.Title + "</li>"); }, error: function (error) { alert(JSON.stringify(error)); } }); 13
  • 14. oData (.NET) Uri u = new Uri("http://localhost/_vti_bin/ListData.svc/", UriKind.Absolute); TeamSiteDataContext ctx = new TeamSiteDataContext(u); ctx.Credentials = System.Net.CredentialCache.DefaultCredentials; DataServiceQuery<DocumentsItem> qry = ctx.Documents; IEnumerable<DocumentsItem> docs = qry.Execute(); 14
  • 15. JavaScript API var context = SP.ClientContext.get_current(); var user = context.get_web().get_currentUser(); $(document).ready(function () { getUserName(); }); function getUserName() { context.load(user); context.executeQueryAsync(onSuccess, onFailure); }
  • 16. .NET Desktop Dev • Using WPF/WCF, WinForms or Silverlight • Address an oData / REST end point • Address CSOM or SOM .NET API • Address Silverlight API 16
  • 17. Client-Side Object Model (.NET) using (ClientContext ctx = new ClientContext("http://localhost/")) { Web web = ctx.Web; ListCollection lists = web.Lists; List list = web.Lists.GetByTitle(libraryname); CamlQuery qry = new CamlQuery(); ListItemCollection items = list.GetItems(qry); ctx.Load(items, li => li.Include(pi => pi["LinkFilename"])); ctx.ExecuteQuery(); return items; } 17
  • 18. Server Object Model (.NET) using (SPSite site = new SPSite("http://localhost/")) { using (SPWeb web = site.RootWeb) { SPList list = web.Lists["Documents"]; SPListItemCollection items = list.Items; return items; } } 18
  • 19. SharePoint Farm Dev • Using .NET and HTML/CSS/JavaScript • Use webparts • Address SOM .NET API • Address an oData / REST end point 19
  • 20. Resources for Attendees • SharePoint 2013 development overview (MSDN) • What’s new for developers in SharePoint 2013 • Choose the right API set in SharePoint 2013 (MSDN) • SPC407 - Deep dive into the SharePoint 2013 CSOM API's (Microsoft SharePoint Conference 2012) 21
  • 21. Contact Me • John Calvert, Chief Architect • Software Craft, Inc. • john at softwarecraft dot ca • softwarecraft dot ca • at softwarecraft99

Notes de l'éditeur

  1. Session will combine: short presentation by me interactive discussion about the role and importance of a business analyst on SharePoint projects You are encouraged to contribute your comments and to ask questions at any point Let’s make this as interactive as possible Hopefully we will each of us learn some new ideas
  2. As a service : means code that calls SharePoint APIs but is not deployed in SharePoint. As a framework : means code that is deployed inside or by SharePoint. App Model is a special case, it is deployed either off-SharePoint or in an isolated-subdomain inside SharePoint.
  3. Credit: Microsoft SharePoint Conference 2012 - SPC407 - Deep dive into the SharePoint 2013 CSOM API's http://channel9.msdn.com/Events/SharePoint-Conference/2014/SPC407 OSI Model http://en.wikipedia.org/wiki/OSI_model
  4. Credit: Microsoft SharePoint Conference 2012 - SPC407 - Deep dive into the SharePoint 2013 CSOM API's
  5. Find your project type in the unbolded black type to see what your choices are for SharePoint development Choose the right API set in SharePoint 2013 - http://msdn.microsoft.com/en-us/library/jj164060.aspx
  6. Microsoft “Napa” Office 365 Development Tools is a cloud-based development IDE for building Apps for MS Office or MS SharePoint sign up for an Office 365 Developer Site install Napa Office 365 Development Tools on your Office 365 Developer site you are ready to create apps for Office documents, mail items or SharePoint Other IDEs: Microsoft WebMatrix - http://www.microsoft.com/web/webmatrix/ Microsoft Lightswitch - http://msdn.microsoft.com/en-us/vstudio/ff796201.aspx Any web or cloud dev IDE
  7. Choose the right API set in SharePoint 2013 - http://msdn.microsoft.com/en-us/library/jj164060.aspx Deprecated and not recommended: ASP.NET (asmx) web services direct Remote Procedure Calls (RPC) calls to the owssvr.dll file
  8. Choose the right API set in SharePoint 2013 - http://msdn.microsoft.com/en-us/library/jj164060.aspx Deprecated and not recommended: ASP.NET (asmx) web services direct Remote Procedure Calls (RPC) calls to the owssvr.dll file
  9. SharePoint 2013 REST API, endpoints, and samples - http://msdn.microsoft.com/en-us/library/office/jj860569.aspx