SlideShare a Scribd company logo
SharePoint 2013 APIs demystified
JOŠKO IVANKOV, EVISION

SHAREPOINT AND PROJECT CONFERENCE ADRIATICS 2013
ZAGREB, NOVEMBER 27-28 2013
sponsors
Agenda
• About SharePoint
• SharePoint APIs history
• SharePoint 2013 API overview
• What API to choose
• SharePoint Apps overview
• SharePoint Dev environment
• Key Takeaways
• Q&A
What is SharePoint?
• It’s web & intranet platform for…
•
•
•
•
•
•
•

Collaboration
Enterprise Content Management
Search
Business Process Management (Workflows)
Business Intelligence
Social Computing
Enterprise Application Integration

• More than 50% of intranets in the world use SharePoint!!!
Why SharePoint?
• Worldwide used product and platform
• Leading platform for ECM, BPM, BI and Social Computing
• On premise and Cloud ready
• Standardized and widely accepted functionalities
• Lot’s of Out-Of-The-Box features and platform for creating your
own applications
What is SharePoint Development?

End user
Power user

• SharePoint Configuration
• Internet Explorer
• XML, XSL, JavaScript, jQuery, UI Config
• SharePoint designer

Designer

• Master Page, Page layout, CSS
• SharePoint designer

Developer

• SSOM, CSOM, .NET, JS, REST
• Visual Studio
One day in life of SharePoint developer
• Server side OM
• Client side OM
• JavaScript
• Rest
• WCF (SOAP, OData)
• HTML, CSS
• XML, XSLT
• jQuery
• TypeScript
• Oauth

• NTLM, Kerberos
• FBA authentication
• Claims
• InfoPath forms
• Azure ACS
• AppFabric Cache
• Windows RT
• Windows Phone
• Workflow Foundation
• Silverlight
Development overview

Client Side
• Client Object
Model
• REST
Services

Data
Platform
•
•
•
•

Farm
Sites
List data
External lists

Server side
• Server Side
Object Model
APIs – History: SharePoint 2007
• Server-side object model
• RPC Calls (owssrc.dll)
• ASMX Web Services (The only client side possibility)
• SPServices (Community Project based on ASMX services)
APIs – History: SharePoint 2010
• Server Side object model
• RPC Calls (owssrc.dll)
• ASMX Web Services
• SPServices (Community Project based on ASMX services)

• ListData.svc (REST-like web service)
• Client Side Object Model
APIs – SharePoint 2013
• Server Side Object Model
• RPC Calls (owssrc.dll)
• ASMX Web Services
• Client-Side Object Model (extended)
• New REST APIs
Sever object model
• Largest API set
• Cover all functionalities of SharePoint – both end user and
administrative
• Microsoft.SharePoint… namespace

• Assemblies are deployed to GAC
• On premises use only

• Sandboxed solutions are deprecated in favor of Apps for SharePoint
Sever object model - example
Server object model – remember
• Code that use SharePoint data platform (SPSite, SPWeb, SPList,
SPListItem, SPFile …) should be on SharePoint server with Front
End role
• Use WSP – easier to deploy and maintain

• Check disposing of SharePoint objects
• Use it for Web Parts, Layout pages, Timer jobs, EventReceivers,
custom WCF/ASMX on SharePoint server,
• On premises only!!!
SharePoint 2013 Remote API
Architecture
Client object model for managed code
• .NET client object model
• .NET application that run on a non-phone Windows client
• user computer
• external server
• web or worker role on Windows Azure

• Core classes in SSOM have corresponding classes in CSOM
• SPSite -> Site
• SPWeb -> Web
• SPList -> List

• Support for ECM, taxonomy, user profiles, publishing, search, BCS…
• Lines of code are sent to the server in batches (to improve
performance)
• Install SharePoint client components
• Namespace Microsoft.SharePoint.Client
Client object model for managed code
• Silverlight client object model
• Used in Silverlight applications regardless where the compiled .xap file
is persisted
•
•
•
•

Assets library on SharePoint 2013 site
Client computer
Cloud storage
External server

• Nearly identical to .NET Client object model
• Difference: in Silverlight version all batches of commands are sent to the server
asynchronously -> UI of the application remains active

• Silverlight .xap files can be included in Apps for SharePoint
Client object model for managed code
• Mobile object model
• Special version of the Silverlight client object model for Windows
Phone devices
• Additional API – relevant only to telephones (push notifications…)
• Supports only core SharePoint functionalities
• Support for ECM, taxonomy, user profiles, publishing, search, BCS…
JavaScript object model
• Inline script or separate .js files
• Includes all the same functionality as the .NET Framework and
Silverlight client object models
• Batches of code always run asynchronously
• Data is returned from the server in JavaScript Object
Notation (JSON)
Client Object Model Mechanics
Changes to CSOM in SharePoint 2013
CSOM using Managed Code
CSOM using JavaScript
REST/OData endpoints
• Access SharePoint entities from client technology that do not
use JavaScript and are not built on the .NET Framework or
Silverlight platforms
• CRUD operations on SharePoint list data using OData protocol
• Response: Atom or JSON format
REST mechanics
REST URLs in SharePoint 2013
Mapping Objects to Resources
Testing REST Calls Through the Browser
Returning ATOM XML vs. JSON
REST Query from Managed Code
REST Query Using JavaScript & jQuery
Factors that determine which API to use
• The type of application
• SharePoint App, Web Part, Silverlight application, timer job…

• Your existing skill
• JavaScript, ASP.NET, REST/OData, Silverlight, Windows Phone…

• The device on which the code runs
• Server in the SharePoint farm, external server, a client computer,
mobile device…
What API to use?
If you want to do this
• Create an ASP.NET web application that performs
create/read/update/deleted (CRUD) operations across a firewall
on SharePoint data or external data that is surfaced in
SharePoint by a Microsoft Business Connectivity Services
(BCS) external content type

…use these APIs
• JavaScript client object model
If you want to do this
• Create an ASP.NET web application that performs CRUD
operations on SharePoint data or external data that is surfaced
in SharePoint by a BCS external content type, but does not
have to call SharePoint across a firewall

…use these APIs
• .NET Framework client object model, Silverlight client object
model, or REST/OData endpoints
If you want to do this
• Create a LAMP web application that performs CRUD operations
on SharePoint data or external data that is surfaced in
SharePoint by a BCS external content type

…use these APIs
• REST/OData endpoints
If you want to do this
• Create a Windows Phone app that performs CRUD operations
on SharePoint data

…use these APIs
• Mobile client object model
If you want to do this
• Create an iOS or Android app that performs CRUD operations
on SharePoint data

…use these APIs
• REST/OData endpoints
If you want to do this
• Create a .NET Framework application that performs CRUD
operations on SharePoint data

…use these APIs
• .NET Framework client object model
If you want to do this
• Create a Silverlight application that performs CRUD operations
on SharePoint data

…use these APIs
• Silverlight client object model
If you want to do this
• Create an HTML/JavaScript application that performs CRUD
operations on SharePoint data

…use these APIs
• JavaScript client object model
If you want to do this
• Create an app for Office that works with SharePoint

…use these APIs
• JavaScript client object model
If you want to do this
• Create a custom Windows PowerShell command

…use these APIs
• Server object model
If you want to do this
• Create a timer job

…use these APIs
• Server object model
If you want to do this
• Create a custom Web Part, application page, or ASP.NET user
control

…use these APIs
• Server object model
What to chose?

SharePoint
extensions

SharePoint
Data models

Web parts

Farm Solutions

Application
Pages

Event
Handlers

SharePoint
Business
customizatio
ns
Connectivity

Services

Service
Applications

Timer Jobs
Admin stuff

SharePoint Server Side Object Model

...
What to chose?

Admin
stuff

PowerShell

Communicate with
SharePoint from
outer world

Client Object Model
SharePoint Server Side Object Model

REST API
What to chose?

.net
Applications

Silverlight
Applications

Windows
Phone
applications

JavaScript (in
SharePoint
pages)

SharePoint
Apps

Office Apps

iOS, Android

*

CLR
PowerShell

SL

WP

ECMA

Client Object Model
SharePoint Server Side Object Model

*
REST API
SharePoint solution types with SP 2013
1

2
Farm solutions

3
Sandbox

SP Apps

Full trust solutions

Declarative elements

New Apps model

Customizations to file system of
servers

Partially trusted code service
still included for limited server
side support

Deployed from corporate
catalog or office market place

Classic model from 2007

Manage permission and
licenses specifically
Preferred option
apps…
• …are not executed in SharePoint App pool
• …are in most of the cases not even running on SP Server
• …can have full trust, with user’s approval (OAuth)
• …can access SharePoint Data
• …can access outer world non-SharePoint Data
• …can use any external resources
• …can be executed in it’s own chrome, as app parts, or as
SharePoint extensions
why apps
• Isolated (safe!)
• Multi-tenant
• Multiple development possibilities (even non-MS stack)
• Easier to deploy
• Easier to maintain (lifecycle – versioning, upgrades)
• Manageable (SharePoint Marketplace, Corporate Catalog)
• Cloud ready!
SP App design - a choice of three approaches

Provider-Hosted App
Cloud-based Apps

“Bring your own server hosting infrastructure”
Developers will need to isolate tenants

Get remote events from
SharePoint
Use CSOM/REST +
OAuth to work with SP

SharePoint
Web

Your Hosted Site

SharePoint
Web

Azure
(from
WebDeploy,
DacPac)

Azure Auto-Hosted App
Windows Azure + SQL Azure
provisioned invisibly as apps are
installed

SharePoint-hosted App
Provision an isolated sub web on a parent
web
• Reuse web elements
(lists, files, out-of-box web parts)
• No server code allowed; use client
JavaScript for logic, UX

Parent
Web
App Web
(from WSP)
Types of Apps for SharePoint
Shape

Description

Example

Immersive App
(Full Page)

App that implements a new
scenario for customers

Resource Tracking,
Budgeting

App Part

Provides new parts you can add to
your sites

Weather,
Team Mascot, News

Extension App
(Custom Action)

Add new actions for documents
and items

Display Document
Visualization, Print to
Print Service Vendor
Development environment for SharePoint
2013

• Create solutions with server side object model or develop apps
for SharePoint for a corporate catalog (full control permission)
• VM
•
•
•
•

Windows Server 2008 R2(SP1)/2012
SQL Server 2008 R2/2012 (Express/Standard/Enterprise)
SharePoint 2013 Foundation/Standard/Enterprise
Visual Studio 2012, SharePoint Designer 2013, Office 2013

• Create and publish apps for SharePoint
• Get Office365 Developer site
• NAPA / Visual Studio 2012
Key Takeaways
• SharePoint is leading IWS solution
• SharePoint development is complex but worthy
• Invest time in choosing right technology and approach for
SharePoint development
• SharePoint Apps – be prepared for new trend

• SaaS, Cloud – dominate trends in future
questions?
JOSKO.IVANKOV@EVISION.HR

@JOSKOI
thank you.
SHAREPOINT AND PROJECT CONFERENCE ADRIATICS 2013
ZAGREB, NOVEMBER 27-28 2013
Ad

More Related Content

What's hot (20)

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
Sanjay Patel
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
SharePointRadi
 
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
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
Edin Kapic
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Bram de Jager
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
Elie Kash
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Nik Patel
 
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
NCCOMMS
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Bram de Jager
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tips
SPC Adriatics
 
Securing SharePoint Apps with OAuth
Securing SharePoint Apps with OAuthSecuring SharePoint Apps with OAuth
Securing SharePoint Apps with OAuth
Kashif Imran
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
Kris Wagner
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
NCCOMMS
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje ZaalO365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
NCCOMMS
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
NCCOMMS
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePoint
BenCox35
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
Sanjay Patel
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
SharePointRadi
 
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
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
SPS Belgium 2015 - High-trust Apps for On-Premises Development
SPS Belgium 2015 -  High-trust Apps for On-Premises DevelopmentSPS Belgium 2015 -  High-trust Apps for On-Premises Development
SPS Belgium 2015 - High-trust Apps for On-Premises Development
Edin Kapic
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Bram de Jager
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
Elie Kash
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Nik Patel
 
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
NCCOMMS
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Bram de Jager
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tips
SPC Adriatics
 
Securing SharePoint Apps with OAuth
Securing SharePoint Apps with OAuthSecuring SharePoint Apps with OAuth
Securing SharePoint Apps with OAuth
Kashif Imran
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
Kris Wagner
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
NCCOMMS
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje ZaalO365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
NCCOMMS
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
NCCOMMS
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePoint
BenCox35
 

Similar to SharePoint 2013 APIs demystified (20)

SP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office StoreSP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office Store
Juan Carlos Gonzalez
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
NCCOMMS
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Fabio Franzini
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
Joris Poelmans
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to App
Kenneth Maglio
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
Giuseppe Marchi
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
Talbott Crowell
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePoint
Talbott Crowell
 
What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013
Marius Constantinescu [MVP]
 
Synapse india reviews on share point development
Synapse india reviews on share point developmentSynapse india reviews on share point development
Synapse india reviews on share point development
saritasingh19866
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
Sébastien Levert
 
Sharepoint 2013 App
Sharepoint 2013 AppSharepoint 2013 App
Sharepoint 2013 App
Trimantra Software Solutions
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
Sébastien Levert
 
SP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office StoreSP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office Store
Juan Carlos Gonzalez
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
NCCOMMS
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Fabio Franzini
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
Joris Poelmans
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to App
Kenneth Maglio
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
Giuseppe Marchi
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
Talbott Crowell
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePoint
Talbott Crowell
 
Synapse india reviews on share point development
Synapse india reviews on share point developmentSynapse india reviews on share point development
Synapse india reviews on share point development
saritasingh19866
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
Sébastien Levert
 
Ad

More from SPC Adriatics (20)

How to secure your data in Office 365
How to secure your data in Office 365 How to secure your data in Office 365
How to secure your data in Office 365
SPC Adriatics
 
Do you know, where your sensitive data is?
Do you know, where your sensitive data is?Do you know, where your sensitive data is?
Do you know, where your sensitive data is?
SPC Adriatics
 
Securing Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management ServicesSecuring Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management Services
SPC Adriatics
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project Online
SPC Adriatics
 
Faster than a flash behind the scenes of patching SharePoint Online
Faster than a flash   behind the scenes of patching SharePoint OnlineFaster than a flash   behind the scenes of patching SharePoint Online
Faster than a flash behind the scenes of patching SharePoint Online
SPC Adriatics
 
Role based views in Project and Resource Center
Role based views in Project and Resource CenterRole based views in Project and Resource Center
Role based views in Project and Resource Center
SPC Adriatics
 
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
SPC Adriatics
 
SharePoint Governance and Compliance
SharePoint Governance and ComplianceSharePoint Governance and Compliance
SharePoint Governance and Compliance
SPC Adriatics
 
From analyses to successful Implementation
From analyses to successful ImplementationFrom analyses to successful Implementation
From analyses to successful Implementation
SPC Adriatics
 
The key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoptionThe key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoption
SPC Adriatics
 
Office 365 Video
Office 365 VideoOffice 365 Video
Office 365 Video
SPC Adriatics
 
10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise Search10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise Search
SPC Adriatics
 
How the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliveryHow the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and Delivery
SPC Adriatics
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
SPC Adriatics
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search Operations
SPC Adriatics
 
Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...
SPC Adriatics
 
Custom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance PuzzleCustom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance Puzzle
SPC Adriatics
 
SharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside OutSharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside Out
SPC Adriatics
 
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
SPC Adriatics
 
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
SPC Adriatics
 
How to secure your data in Office 365
How to secure your data in Office 365 How to secure your data in Office 365
How to secure your data in Office 365
SPC Adriatics
 
Do you know, where your sensitive data is?
Do you know, where your sensitive data is?Do you know, where your sensitive data is?
Do you know, where your sensitive data is?
SPC Adriatics
 
Securing Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management ServicesSecuring Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management Services
SPC Adriatics
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project Online
SPC Adriatics
 
Faster than a flash behind the scenes of patching SharePoint Online
Faster than a flash   behind the scenes of patching SharePoint OnlineFaster than a flash   behind the scenes of patching SharePoint Online
Faster than a flash behind the scenes of patching SharePoint Online
SPC Adriatics
 
Role based views in Project and Resource Center
Role based views in Project and Resource CenterRole based views in Project and Resource Center
Role based views in Project and Resource Center
SPC Adriatics
 
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
SPC Adriatics
 
SharePoint Governance and Compliance
SharePoint Governance and ComplianceSharePoint Governance and Compliance
SharePoint Governance and Compliance
SPC Adriatics
 
From analyses to successful Implementation
From analyses to successful ImplementationFrom analyses to successful Implementation
From analyses to successful Implementation
SPC Adriatics
 
The key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoptionThe key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoption
SPC Adriatics
 
10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise Search10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise Search
SPC Adriatics
 
How the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliveryHow the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and Delivery
SPC Adriatics
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
SPC Adriatics
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search Operations
SPC Adriatics
 
Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...
SPC Adriatics
 
Custom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance PuzzleCustom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance Puzzle
SPC Adriatics
 
SharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside OutSharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside Out
SPC Adriatics
 
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
SPC Adriatics
 
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
SPC Adriatics
 
Ad

Recently uploaded (20)

ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 

SharePoint 2013 APIs demystified

  • 1. SharePoint 2013 APIs demystified JOŠKO IVANKOV, EVISION SHAREPOINT AND PROJECT CONFERENCE ADRIATICS 2013 ZAGREB, NOVEMBER 27-28 2013
  • 3. Agenda • About SharePoint • SharePoint APIs history • SharePoint 2013 API overview • What API to choose • SharePoint Apps overview • SharePoint Dev environment • Key Takeaways • Q&A
  • 4. What is SharePoint? • It’s web & intranet platform for… • • • • • • • Collaboration Enterprise Content Management Search Business Process Management (Workflows) Business Intelligence Social Computing Enterprise Application Integration • More than 50% of intranets in the world use SharePoint!!!
  • 5. Why SharePoint? • Worldwide used product and platform • Leading platform for ECM, BPM, BI and Social Computing • On premise and Cloud ready • Standardized and widely accepted functionalities • Lot’s of Out-Of-The-Box features and platform for creating your own applications
  • 6. What is SharePoint Development? End user Power user • SharePoint Configuration • Internet Explorer • XML, XSL, JavaScript, jQuery, UI Config • SharePoint designer Designer • Master Page, Page layout, CSS • SharePoint designer Developer • SSOM, CSOM, .NET, JS, REST • Visual Studio
  • 7. One day in life of SharePoint developer • Server side OM • Client side OM • JavaScript • Rest • WCF (SOAP, OData) • HTML, CSS • XML, XSLT • jQuery • TypeScript • Oauth • NTLM, Kerberos • FBA authentication • Claims • InfoPath forms • Azure ACS • AppFabric Cache • Windows RT • Windows Phone • Workflow Foundation • Silverlight
  • 8. Development overview Client Side • Client Object Model • REST Services Data Platform • • • • Farm Sites List data External lists Server side • Server Side Object Model
  • 9. APIs – History: SharePoint 2007 • Server-side object model • RPC Calls (owssrc.dll) • ASMX Web Services (The only client side possibility) • SPServices (Community Project based on ASMX services)
  • 10. APIs – History: SharePoint 2010 • Server Side object model • RPC Calls (owssrc.dll) • ASMX Web Services • SPServices (Community Project based on ASMX services) • ListData.svc (REST-like web service) • Client Side Object Model
  • 11. APIs – SharePoint 2013 • Server Side Object Model • RPC Calls (owssrc.dll) • ASMX Web Services • Client-Side Object Model (extended) • New REST APIs
  • 12. Sever object model • Largest API set • Cover all functionalities of SharePoint – both end user and administrative • Microsoft.SharePoint… namespace • Assemblies are deployed to GAC • On premises use only • Sandboxed solutions are deprecated in favor of Apps for SharePoint
  • 13. Sever object model - example
  • 14. Server object model – remember • Code that use SharePoint data platform (SPSite, SPWeb, SPList, SPListItem, SPFile …) should be on SharePoint server with Front End role • Use WSP – easier to deploy and maintain • Check disposing of SharePoint objects • Use it for Web Parts, Layout pages, Timer jobs, EventReceivers, custom WCF/ASMX on SharePoint server, • On premises only!!!
  • 15. SharePoint 2013 Remote API Architecture
  • 16. Client object model for managed code • .NET client object model • .NET application that run on a non-phone Windows client • user computer • external server • web or worker role on Windows Azure • Core classes in SSOM have corresponding classes in CSOM • SPSite -> Site • SPWeb -> Web • SPList -> List • Support for ECM, taxonomy, user profiles, publishing, search, BCS… • Lines of code are sent to the server in batches (to improve performance) • Install SharePoint client components • Namespace Microsoft.SharePoint.Client
  • 17. Client object model for managed code • Silverlight client object model • Used in Silverlight applications regardless where the compiled .xap file is persisted • • • • Assets library on SharePoint 2013 site Client computer Cloud storage External server • Nearly identical to .NET Client object model • Difference: in Silverlight version all batches of commands are sent to the server asynchronously -> UI of the application remains active • Silverlight .xap files can be included in Apps for SharePoint
  • 18. Client object model for managed code • Mobile object model • Special version of the Silverlight client object model for Windows Phone devices • Additional API – relevant only to telephones (push notifications…) • Supports only core SharePoint functionalities • Support for ECM, taxonomy, user profiles, publishing, search, BCS…
  • 19. JavaScript object model • Inline script or separate .js files • Includes all the same functionality as the .NET Framework and Silverlight client object models • Batches of code always run asynchronously • Data is returned from the server in JavaScript Object Notation (JSON)
  • 20. Client Object Model Mechanics
  • 21. Changes to CSOM in SharePoint 2013
  • 24. REST/OData endpoints • Access SharePoint entities from client technology that do not use JavaScript and are not built on the .NET Framework or Silverlight platforms • CRUD operations on SharePoint list data using OData protocol • Response: Atom or JSON format
  • 26. REST URLs in SharePoint 2013
  • 27. Mapping Objects to Resources
  • 28. Testing REST Calls Through the Browser
  • 29. Returning ATOM XML vs. JSON
  • 30. REST Query from Managed Code
  • 31. REST Query Using JavaScript & jQuery
  • 32. Factors that determine which API to use • The type of application • SharePoint App, Web Part, Silverlight application, timer job… • Your existing skill • JavaScript, ASP.NET, REST/OData, Silverlight, Windows Phone… • The device on which the code runs • Server in the SharePoint farm, external server, a client computer, mobile device…
  • 33. What API to use?
  • 34. If you want to do this • Create an ASP.NET web application that performs create/read/update/deleted (CRUD) operations across a firewall on SharePoint data or external data that is surfaced in SharePoint by a Microsoft Business Connectivity Services (BCS) external content type …use these APIs • JavaScript client object model
  • 35. If you want to do this • Create an ASP.NET web application that performs CRUD operations on SharePoint data or external data that is surfaced in SharePoint by a BCS external content type, but does not have to call SharePoint across a firewall …use these APIs • .NET Framework client object model, Silverlight client object model, or REST/OData endpoints
  • 36. If you want to do this • Create a LAMP web application that performs CRUD operations on SharePoint data or external data that is surfaced in SharePoint by a BCS external content type …use these APIs • REST/OData endpoints
  • 37. If you want to do this • Create a Windows Phone app that performs CRUD operations on SharePoint data …use these APIs • Mobile client object model
  • 38. If you want to do this • Create an iOS or Android app that performs CRUD operations on SharePoint data …use these APIs • REST/OData endpoints
  • 39. If you want to do this • Create a .NET Framework application that performs CRUD operations on SharePoint data …use these APIs • .NET Framework client object model
  • 40. If you want to do this • Create a Silverlight application that performs CRUD operations on SharePoint data …use these APIs • Silverlight client object model
  • 41. If you want to do this • Create an HTML/JavaScript application that performs CRUD operations on SharePoint data …use these APIs • JavaScript client object model
  • 42. If you want to do this • Create an app for Office that works with SharePoint …use these APIs • JavaScript client object model
  • 43. If you want to do this • Create a custom Windows PowerShell command …use these APIs • Server object model
  • 44. If you want to do this • Create a timer job …use these APIs • Server object model
  • 45. If you want to do this • Create a custom Web Part, application page, or ASP.NET user control …use these APIs • Server object model
  • 46. What to chose? SharePoint extensions SharePoint Data models Web parts Farm Solutions Application Pages Event Handlers SharePoint Business customizatio ns Connectivity Services Service Applications Timer Jobs Admin stuff SharePoint Server Side Object Model ...
  • 47. What to chose? Admin stuff PowerShell Communicate with SharePoint from outer world Client Object Model SharePoint Server Side Object Model REST API
  • 48. What to chose? .net Applications Silverlight Applications Windows Phone applications JavaScript (in SharePoint pages) SharePoint Apps Office Apps iOS, Android * CLR PowerShell SL WP ECMA Client Object Model SharePoint Server Side Object Model * REST API
  • 49. SharePoint solution types with SP 2013 1 2 Farm solutions 3 Sandbox SP Apps Full trust solutions Declarative elements New Apps model Customizations to file system of servers Partially trusted code service still included for limited server side support Deployed from corporate catalog or office market place Classic model from 2007 Manage permission and licenses specifically Preferred option
  • 50. apps… • …are not executed in SharePoint App pool • …are in most of the cases not even running on SP Server • …can have full trust, with user’s approval (OAuth) • …can access SharePoint Data • …can access outer world non-SharePoint Data • …can use any external resources • …can be executed in it’s own chrome, as app parts, or as SharePoint extensions
  • 51. why apps • Isolated (safe!) • Multi-tenant • Multiple development possibilities (even non-MS stack) • Easier to deploy • Easier to maintain (lifecycle – versioning, upgrades) • Manageable (SharePoint Marketplace, Corporate Catalog) • Cloud ready!
  • 52. SP App design - a choice of three approaches Provider-Hosted App Cloud-based Apps “Bring your own server hosting infrastructure” Developers will need to isolate tenants Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP SharePoint Web Your Hosted Site SharePoint Web Azure (from WebDeploy, DacPac) Azure Auto-Hosted App Windows Azure + SQL Azure provisioned invisibly as apps are installed SharePoint-hosted App Provision an isolated sub web on a parent web • Reuse web elements (lists, files, out-of-box web parts) • No server code allowed; use client JavaScript for logic, UX Parent Web App Web (from WSP)
  • 53. Types of Apps for SharePoint Shape Description Example Immersive App (Full Page) App that implements a new scenario for customers Resource Tracking, Budgeting App Part Provides new parts you can add to your sites Weather, Team Mascot, News Extension App (Custom Action) Add new actions for documents and items Display Document Visualization, Print to Print Service Vendor
  • 54. Development environment for SharePoint 2013 • Create solutions with server side object model or develop apps for SharePoint for a corporate catalog (full control permission) • VM • • • • Windows Server 2008 R2(SP1)/2012 SQL Server 2008 R2/2012 (Express/Standard/Enterprise) SharePoint 2013 Foundation/Standard/Enterprise Visual Studio 2012, SharePoint Designer 2013, Office 2013 • Create and publish apps for SharePoint • Get Office365 Developer site • NAPA / Visual Studio 2012
  • 55. Key Takeaways • SharePoint is leading IWS solution • SharePoint development is complex but worthy • Invest time in choosing right technology and approach for SharePoint development • SharePoint Apps – be prepared for new trend • SaaS, Cloud – dominate trends in future
  • 57. thank you. SHAREPOINT AND PROJECT CONFERENCE ADRIATICS 2013 ZAGREB, NOVEMBER 27-28 2013