SlideShare a Scribd company logo
Developing SharePoint 2013 Apps
with Visual Studio 2012
Bram de Jager
SharePoint Architect | Microsoft Certified Solution Master: SharePoint
Agenda
Evolution
Apps for SharePoint
Visual Studio Tools
REST & CSOM APIs
1

EVOLUTION
Development Evolution
Investment in
Portals & content
2003

 Web Parts
 Site
Definitions

App discovery & management
2007

 LOB
applications
 Custom
server side
code
 WSP
deployment

2010






Silverlight
CSOM limited
Sandbox
Web Template

2013

 Apps
 Client side
experience
 CSOM
 REST/oData
Customization Options
Farm






Full trust solutions
Customizations to
file system of
servers
Hosted in same
process as
SharePoint
Server side
SharePoint API
access
Classic model from
2007

Sandbox




Hosted in isolated
process
Limited server side
SharePoint API
access
No external service
calls



SharePoint Apps





Deprecated in
SharePoint
2013



New Apps model
Deployed from
corporate catalog or
Office Store
Manage permission
and licenses
specifically
Simple install and
upgrade process
Preferred option
“

Note that code-based sandboxed
solutions are still supported in
SharePoint Online 2013 but, no
further investments in that
infrastructure are planned. We
recommend you consider the
Cloud App Model (CAM) as an
alternative.

“
App Development Scenarios
Deployment Options

Customization Options

On-Premise Farm
Installation

Farm-Trust Solutions

Web Browser

SharePoint Online
(Office 365)

Sandboxed Solutions

SharePoint Designer

Hosted Installation

SharePoint-Hosted
app

Visual Studio

Provider-Hosted app

Eclipse, etc

Autohosted app

Development Tools
2

APPS FOR SHAREPOINT
App Shapes
Full page
Implement complete app experiences to satisfy business
scenarios
App Parts
Create app parts that can interact with the SharePoint
experience
UI command extensions
Add new commands to the ribbon and item menus
Hosting Options
Provider-hosted app
Provide your own hosting environment

SharePoint
Host Web

Your Hosted Site
(IIS)

Cloud-hosted apps
- Use server code
- Receive SP events
- Use OAuth to access
SP

Autohosted app
Windows Azure + SQL Azure provisioned
automatically as apps are installed

SharePoint
Host Web

Azure

SharePoint-Hosted app
Provisions an isolated sub web on a host web
- Use SP artifacts & out-of-box web parts
- Use HTML & JavaScript for UI & client-side logic
- Use Workflows for middle tier logic

SharePoint
Host Web
SharePoint
App Web
3

VISUAL STUDIO TOOLS
Visual Studio SharePoint Tools
• Development Environments
• Develop against a local SharePoint server
• Remote development against SharePoint Online (Office 365)
• Tools
• Office Developer Tools
• Download http://dev.office.com
Debug your app
• No app registration required
• SharePoint Developer Site
• ClientId & ClientSecret are generated for you

• IISExpress is used to host Web project
• ~remoteAppUrl token update so it points to IISExpress Url
(http://localhost:1234)
• LocalDB is used for SQL database
• Connection string updated in web.config from SQL project
• Local workflow service is started & configured
Publish your app
• SharePoint-hosted & Autohosted
• No app registration required
• Everything included in the .app package

• Provider-hosted
• Developer must acquire ClientId & ClientSecret via Seller Dashboard (Office
Store only)
• SharePoint artifacts in .app package
• Web assets in Web Deploy package - developer must deploy
• Developer must publish & deploy SQL assets if not in Web Deploy package
Anatomy of an App Package

App Web

WS
P

.app Package
(OPC)

Host
Web

(from WSP)

Azure
“

DEMO
Building your first app

“
Demo Silly Facts
• SharePoint-Hosted app
• Look around
• AppManifest.xml
• SharePoint Artifacts
• Silly Fact content type and Facts list
• App Part (Client Web Part)
• Custom Action (Host web)
4

REST & CSOM
Changes from 2010 to 2013
• The client.svc service extended with REST capabilities
• client.svc now supports direct access from REST clients
• client.svc accepts HTTP GET, PUT, POST requests
• Implemented in accordance with OData protocol
• CSOM Extended new APIs
• Focus investment on SharePoint Server APIs
• Search, Social, Taxonomy, Workflow, Analytics, Sharing, Publish
ing, eDiscovery, IRM, BCS, … and more
SharePoint 2013 Remote API
_api is new alias for _vti_bin/client.svc
Server
Client

REST
OData
JSON

CSOM
JavaScript
Library

Silverlight
Library

Custom Client Code

.Net CLR
Library
Why is REST Important?
• Significant Industry Momentum
• Simple and Easy to Use
• Much easier to use than SOAP-based Web service
• Higher productivity when using JavaScript and jQuery
• Results can be returned in JSON and ATOM format
• Test in a browser
• Platform agnostic
• Each query is submitted with a unique URL
• Results can be cached by proxy servers
REST URLs in SharePoint 2013
• CSOM URLS can go through _api folder
• Simplifies URLs that need to be built
• Removes client.svc file name from URL
• You can replace this URL
• http://contoso.com/_vti_bin/client.svc/web
• With this URL
• http://contoso.com/_api/web
Mapping Objects to Resources
• Example REST URLs targeting SharePoint
• _api/web/lists
• _api/web/lists/getByTitle('Announcements')
• _api/web/getAvailableWebTemplates(lcid=1033)
App Authentication
• Use OAuth for secure communications
• SharePoint & web application (IIS) trust third party (ACS)
• Trust developed using ClientId & ClientSecret
• SharePoint & ACS know the ClientId
• Web application & ACS know the ClientSecret
Online authentication
“

DEMO
Using CSOM and
REST

“
Demo CSOM and REST
• Provider-Hosted app
• Add web project
• Chrome
• Use CSOM and REST to create silly facts
• User Profile (REST)
• Search (REST)
• Taxonomy (CSOM)
5

WRAP-UP
Summary
• The way forward for customizations on SharePoint
• Build for the cloud (Office 365)
• Heavily invested in CSOM and REST, allowing interaction with
SharePoint
Try it yourself
• Office Store
• Play around with current Apps for SharePoint
• Office 365 playground
• Sign up on http://dev.office.com for Office 365 playground
• SharePoint Client Browser
• http://spcb.codeplex.com
“

Questions & Answers
Thank You!

“
Bram de Jager
bram.de.jager@macaw.nl | bramdejager.wordpress.com |
@bramdejager
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager

More Related Content

What's hot

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
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
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
Elie Kash
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
SPTechCon
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
SPC Adriatics
 
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
 
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
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
SharePoint Saturday New Jersey
 
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
 
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
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
James Tramel
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
NCCOMMS
 
Designing for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted AppsDesigning for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted Apps
Roy Kim
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Bram de Jager
 
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander BerkouwerO365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
NCCOMMS
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
Jeremy Thake
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
SPC Adriatics
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
SPC Adriatics
 

What's hot (20)

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
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...
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 
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
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
 
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...
 
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
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
 
Designing for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted AppsDesigning for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted Apps
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
 
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander BerkouwerO365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
 

Viewers also liked

Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
Byron Paguay
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Chris O'Brien
 
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Ricardo Akerman
 
Análise de circuitos em corrente contínua
Análise de circuitos em corrente contínuaAnálise de circuitos em corrente contínua
Análise de circuitos em corrente contínua
Claudecir Garcia Martins
 
Programação assíncrona com c sharp
Programação assíncrona com c sharpProgramação assíncrona com c sharp
Programação assíncrona com c sharp
André Bires
 
Aprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOPAprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOP
Leonardo Bastos
 
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Estevão Moura Costa
 
Ingeniería electrónica
Ingeniería  electrónicaIngeniería  electrónica
Ingeniería electrónica
DandresCR
 
Apostila de eletrotécnica II
Apostila de eletrotécnica IIApostila de eletrotécnica II
Apostila de eletrotécnica II
Ricardo Akerman
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
César Augusto Pessôa
 
Aula 2 eletroeletrônica
Aula 2   eletroeletrônicaAula 2   eletroeletrônica
Aula 2 eletroeletrônica
GIGLLIARA SEGANTINI DE MENEZES
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
Jeff Bramwell
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
YESSICA MARIA PARRA GRAJALES
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
SPC Adriatics
 
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
julio Astureyme sagástegui
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
Rooney Joh
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
V Sanchez
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Rodrigofn
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE Introduction
Ahllen Javier
 
Visual Studio 2012 introduction
Visual Studio  2012 introductionVisual Studio  2012 introduction
Visual Studio 2012 introduction
Nicko Satria Consulting
 

Viewers also liked (20)

Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
 
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
 
Análise de circuitos em corrente contínua
Análise de circuitos em corrente contínuaAnálise de circuitos em corrente contínua
Análise de circuitos em corrente contínua
 
Programação assíncrona com c sharp
Programação assíncrona com c sharpProgramação assíncrona com c sharp
Programação assíncrona com c sharp
 
Aprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOPAprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOP
 
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
 
Ingeniería electrónica
Ingeniería  electrónicaIngeniería  electrónica
Ingeniería electrónica
 
Apostila de eletrotécnica II
Apostila de eletrotécnica IIApostila de eletrotécnica II
Apostila de eletrotécnica II
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Aula 2 eletroeletrônica
Aula 2   eletroeletrônicaAula 2   eletroeletrônica
Aula 2 eletroeletrônica
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
 
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE Introduction
 
Visual Studio 2012 introduction
Visual Studio  2012 introductionVisual Studio  2012 introduction
Visual Studio 2012 introduction
 

Similar to Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager

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 appJoris Poelmans
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
Prabhu Nehru
 
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
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
Małgorzata Borzęcka
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
ITProceed
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
Małgorzata Borzęcka
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
Kashif Imran
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Xenox Garavito
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture
pearce.alex
 
Connector API Apps
Connector API AppsConnector API Apps
Connector API Apps
BizTalk360
 

Similar to Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager (20)

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
 
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
 
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...
 
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
 
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?
 
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?
 
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
 
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
 
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 ...
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
 
SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
 
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...
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
 
#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture
 
Connector API Apps
Connector API AppsConnector API Apps
Connector API Apps
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 

Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager

  • 1. Developing SharePoint 2013 Apps with Visual Studio 2012 Bram de Jager SharePoint Architect | Microsoft Certified Solution Master: SharePoint
  • 2. Agenda Evolution Apps for SharePoint Visual Studio Tools REST & CSOM APIs
  • 4. Development Evolution Investment in Portals & content 2003  Web Parts  Site Definitions App discovery & management 2007  LOB applications  Custom server side code  WSP deployment 2010     Silverlight CSOM limited Sandbox Web Template 2013  Apps  Client side experience  CSOM  REST/oData
  • 5. Customization Options Farm      Full trust solutions Customizations to file system of servers Hosted in same process as SharePoint Server side SharePoint API access Classic model from 2007 Sandbox    Hosted in isolated process Limited server side SharePoint API access No external service calls  SharePoint Apps     Deprecated in SharePoint 2013  New Apps model Deployed from corporate catalog or Office Store Manage permission and licenses specifically Simple install and upgrade process Preferred option
  • 6. “ Note that code-based sandboxed solutions are still supported in SharePoint Online 2013 but, no further investments in that infrastructure are planned. We recommend you consider the Cloud App Model (CAM) as an alternative. “
  • 7. App Development Scenarios Deployment Options Customization Options On-Premise Farm Installation Farm-Trust Solutions Web Browser SharePoint Online (Office 365) Sandboxed Solutions SharePoint Designer Hosted Installation SharePoint-Hosted app Visual Studio Provider-Hosted app Eclipse, etc Autohosted app Development Tools
  • 9. App Shapes Full page Implement complete app experiences to satisfy business scenarios App Parts Create app parts that can interact with the SharePoint experience UI command extensions Add new commands to the ribbon and item menus
  • 10. Hosting Options Provider-hosted app Provide your own hosting environment SharePoint Host Web Your Hosted Site (IIS) Cloud-hosted apps - Use server code - Receive SP events - Use OAuth to access SP Autohosted app Windows Azure + SQL Azure provisioned automatically as apps are installed SharePoint Host Web Azure SharePoint-Hosted app Provisions an isolated sub web on a host web - Use SP artifacts & out-of-box web parts - Use HTML & JavaScript for UI & client-side logic - Use Workflows for middle tier logic SharePoint Host Web SharePoint App Web
  • 12. Visual Studio SharePoint Tools • Development Environments • Develop against a local SharePoint server • Remote development against SharePoint Online (Office 365) • Tools • Office Developer Tools • Download http://dev.office.com
  • 13. Debug your app • No app registration required • SharePoint Developer Site • ClientId & ClientSecret are generated for you • IISExpress is used to host Web project • ~remoteAppUrl token update so it points to IISExpress Url (http://localhost:1234) • LocalDB is used for SQL database • Connection string updated in web.config from SQL project • Local workflow service is started & configured
  • 14. Publish your app • SharePoint-hosted & Autohosted • No app registration required • Everything included in the .app package • Provider-hosted • Developer must acquire ClientId & ClientSecret via Seller Dashboard (Office Store only) • SharePoint artifacts in .app package • Web assets in Web Deploy package - developer must deploy • Developer must publish & deploy SQL assets if not in Web Deploy package
  • 15. Anatomy of an App Package App Web WS P .app Package (OPC) Host Web (from WSP) Azure
  • 17. Demo Silly Facts • SharePoint-Hosted app • Look around • AppManifest.xml • SharePoint Artifacts • Silly Fact content type and Facts list • App Part (Client Web Part) • Custom Action (Host web)
  • 19. Changes from 2010 to 2013 • The client.svc service extended with REST capabilities • client.svc now supports direct access from REST clients • client.svc accepts HTTP GET, PUT, POST requests • Implemented in accordance with OData protocol • CSOM Extended new APIs • Focus investment on SharePoint Server APIs • Search, Social, Taxonomy, Workflow, Analytics, Sharing, Publish ing, eDiscovery, IRM, BCS, … and more
  • 20. SharePoint 2013 Remote API _api is new alias for _vti_bin/client.svc Server Client REST OData JSON CSOM JavaScript Library Silverlight Library Custom Client Code .Net CLR Library
  • 21. Why is REST Important? • Significant Industry Momentum • Simple and Easy to Use • Much easier to use than SOAP-based Web service • Higher productivity when using JavaScript and jQuery • Results can be returned in JSON and ATOM format • Test in a browser • Platform agnostic • Each query is submitted with a unique URL • Results can be cached by proxy servers
  • 22. REST URLs in SharePoint 2013 • CSOM URLS can go through _api folder • Simplifies URLs that need to be built • Removes client.svc file name from URL • You can replace this URL • http://contoso.com/_vti_bin/client.svc/web • With this URL • http://contoso.com/_api/web
  • 23. Mapping Objects to Resources • Example REST URLs targeting SharePoint • _api/web/lists • _api/web/lists/getByTitle('Announcements') • _api/web/getAvailableWebTemplates(lcid=1033)
  • 24. App Authentication • Use OAuth for secure communications • SharePoint & web application (IIS) trust third party (ACS) • Trust developed using ClientId & ClientSecret • SharePoint & ACS know the ClientId • Web application & ACS know the ClientSecret
  • 27. Demo CSOM and REST • Provider-Hosted app • Add web project • Chrome • Use CSOM and REST to create silly facts • User Profile (REST) • Search (REST) • Taxonomy (CSOM)
  • 29. Summary • The way forward for customizations on SharePoint • Build for the cloud (Office 365) • Heavily invested in CSOM and REST, allowing interaction with SharePoint
  • 30. Try it yourself • Office Store • Play around with current Apps for SharePoint • Office 365 playground • Sign up on http://dev.office.com for Office 365 playground • SharePoint Client Browser • http://spcb.codeplex.com
  • 32. Bram de Jager bram.de.jager@macaw.nl | bramdejager.wordpress.com | @bramdejager

Editor's Notes

  1. SandboxedSolutionsdeprecated statement: http://msdn.microsoft.com/en-us/library/jj163114.aspx
  2. Sandbox solutionsSandbox solutions are upgraded with the content databases and activated once upgrade is complete. If your solution includes customizations, however, you’ll need to evaluate them individually to ensure they work as expected in the new environment.Note that code-based sandboxed solutions are still supported in SharePoint Online 2013 but, no further investments in that infrastructure are planned. We recommend you consider the Cloud App Model as an alternative. See What’s new for developers in SharePoint 2013 for information. http://office.microsoft.com/en-001/office365-sharepoint-online-enterprise-help/plan-to-upgrade-your-sharepoint-online-environment-to-the-2013-experience-HA104034491.aspx
  3. Office Developer Tools RTM on Tue 4 March: http://blogs.msdn.com/b/somasegar/archive/2013/03/04/now-available-office-developer-tools-for-visual-studio-2012.aspx
  4. Use when app is ready for…Testing by anther person or teamUpload to Store or App CatalogUse the packages from app.publish folder
  5. Open Packaging Conventions (OPC): http://msdn.microsoft.com/en-us/magazine/cc163372.aspxStandard For Packaging Data, also used for Office Open XML.
  6. Legacy of Frontpage…, finally gone
  7. ACS = Access Control Service (Windows Azure Access Control Service)