SlideShare a Scribd company logo
1
SharePoint 2013 “App Model”
Developing and Deploying Provider HostedApps
Sanjay Patel
Principal Consultant
Neudesic
Sanjay.Patel@neudesic.com
2
Agenda
 What are they(SharePoint apps)?
 Types of SharePoint Apps
 Definition: Host Web and App Web
 Creating High trust SharePoint Provider Hosted App
 Debugging - Provider Hosted App
 Packaging and Deployment of Provider Hosted App
 Demo
 Questions
2
3
SharePoint Apps The “new coolness” of adding functionality to your SharePoint site
 It is a new and preferred way of doing development going forward
 Apps are essentially web applications which run “Outside” of
SharePoint Host Web
 It is a web application that is registered with SharePoint using an
app manifest.
 You can use any language, such as HTML, JavaScript, PHP, or
.NET
 Common IDEs are Microsoft Visual Studio 2012, and a new web-
based tool, "Napa" Office 365 Development Tools
 You can connect your app with just about any internal or public web
services, take advantage of the new OAuth 2.0 support in
SharePoint, and use the Representational State Transfer (REST)
and client APIs (JavaScript and .NET) to integrate and connect your
app with SharePoint.
 Use Client Side Object Model (CSOM) to talk to SharePoint
 JavaScript (asynchronous)
 .NET (synchronous or asynchronous)
 A lot more hassle then the old method, but it is the “new coolness”
 Why Apps?
4
5
Summary: Cloud Hosted vs.
SharePoint Hosted
5
Cloud Hosted Apps SharePoint Hosted Apps
It is a preferred hosting model for almost all types
of apps
It is good only for smaller apps & resource
storage
It provides full power of web – choose your
infrastructure & technology
It is SharePoint-based; no server-side
code
This may require your own hosting It is automatically hosted in SharePoint
6
Definition: Host Web and
App/Remote Web
 “Host” web – The website where the app is installed, The website from where the app is
launched
 https://neudesic.sharepoint.com/clients/microsoft
 “App” web – The “special” website where the app is deployed to
 In the same site collection as “host” web
 https://app.prefix-app.id.neudesic.sharepoint.com/clients/microsoft
 AKA
 http://app-bdf2016ea7dacb. neudesic.sharepoint.com/clients/microsoft
7
Creating a High Trust Provider
Hosted App
 Create a Site Collection using “Developer Site” template
 Create test certificate
 Generate an Issuer ID - A high-trust app uses a certificate instead of a context token to
establish trust
 Configure SharePoint 2013 for server -to-server app use and configure trust for your app
(Add the certificate to SharePoint’s list of trusted root certificate authorities)
 Create a trusted security token service. Which fetches metadata from your app (for
example, the certificate) and establishes trust with it, so that SharePoint 2013 can accept
tokens that are issued by your app
 Create a SharePoint Project using “App for SharePoint 2013” project template
 Configure App Permissions (e.g. Site Collection, BCS etc.)
 Add functionality into the App as per your requirement
7
8
Debugging - Provider Hosted
App
 Point project to the to the “Developer Site” site instance in project properties
 Hit F5
 The application gets deployed to “Developer Site”– it becomes “Host” web
 The App gets deployed to “Remote” web
 When you are debugging the Remote Web will be deployed on IISExpress
 Communication between SharePoint and the Remote web on IISExpress will happen
using server-to-server protocol
8
9
Packaging and Deployment of
Provider Hosted App
 Register your High-Trust app by obtaining an AppId and Secret
(http://yoursite/_layouts/15/appregnew.aspx)
 Publish App – (Use AppId as ClientId)
 Generated Artifacts
 <SharePointApp>.app(.zip file)
 AppIcon.png
 AppManifest.xml
 Elements and Feature file(s)
 <SharePointApp>.Web.deploy.cmd
 <SharePointApp>.Web.deploy-readme.txt
 <SharePointApp>.Web.SetParameters.xml
 <SharePointApp>.Web.zip
 Deploy Remote Web using Microsoft Web Deploy(msdeploy)
 Publish.app in App Catalog
 Install the App
9
10
Demo
10
PRINCETON SHAREPOINT USER GROUP
• Different SharePoint discussions each
month on various topics. Announced on
meetup.com
• Meets 4th Wednesday of every month
• 6pm – 8pm
• Infragistics Office
• 2 Commerce Drive, Cranbury, NJ
• http://www.meetup.com/princetonSUG
• http://www.princetonsug.com
THANK YOU
EVENT
SPONSORS
• Platinum & Gold sponsors
have tables here in the
Fireside Lounge
• Please visit them and
inquire about their
products & services
• To be eligible for prizes
make sure your bingo
card is signed by all
Platinum/Gold
13
Questions?
14
References
http://msdn.microsoft.com/library/office/apps/fp179930(v=office.15)
http://extreme-sharepoint.com/2013/03/22/remote-event-receivers-sharepoint-2013/
http://microsoftsharepointandbeyond.blogspot.com/2012/08/sharepoint-2013-remote-event-receivers.html
http://code.msdn.microsoft.com/SharePoint-2013-Use-event-8b5a551f
http://msdn.microsoft.com/en-us/library/fp179887.aspx
http://msdn.microsoft.com/en-US/library/office/apps/fp179897
http://msdn.microsoft.com/en-us/library/fp179925.aspx
http://msdn.microsoft.com/en-us/library/office/dn275975.aspx
http://msdn.microsoft.com/en-us/library/fp179901.aspx
15
Thank You!

More Related Content

PPTX
Developer’s Independence Day: Introducing the SharePoint App Model
PPTX
App Model For SharePoint 2013
PPTX
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
PPTX
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
PPTX
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
PPTX
Developing a Provider Hosted SharePoint app
Developer’s Independence Day: Introducing the SharePoint App Model
App Model For SharePoint 2013
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing a Provider Hosted SharePoint app

What's hot (20)

PPTX
Designing for SharePoint Provider Hosted Apps
PDF
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
PPTX
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
PPTX
Oauth and SharePoint 2013 Provider Hosted apps
PPTX
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
PPTX
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
PPTX
OAuth in SharePoint 2013
PDF
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
PPTX
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
PPTX
SharePoint 2013 APIs demystified
PPTX
SharePoint 2013 apps overview
PPTX
Improving the SharePoint Development Process with Continuous Integration
PPTX
Introducing the new SharePoint 2013 app model
PPTX
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
PPTX
The SharePoint 2013 App Model
PDF
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
PDF
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
PDF
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
PDF
Hooking SharePoint APIs with Android
PPTX
Get started with building native mobile apps interacting with SharePoint
Designing for SharePoint Provider Hosted Apps
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Oauth and SharePoint 2013 Provider Hosted apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
OAuth in SharePoint 2013
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
SharePoint 2013 APIs demystified
SharePoint 2013 apps overview
Improving the SharePoint Development Process with Continuous Integration
Introducing the new SharePoint 2013 app model
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
The SharePoint 2013 App Model
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
Hooking SharePoint APIs with Android
Get started with building native mobile apps interacting with SharePoint
Ad

Viewers also liked (17)

PPTX
Get started developing apps for SharePoint 2013
PPTX
Developing Apps for SharePoint 2013
PPTX
Introduction to SharePoint 2013 Apps
PDF
Apps for SharePoint 2013
PPTX
SharePoint 2013 Hosted App Presentation by Roy Kim
PPTX
Share point 2013 - Javascript Object Model
PPTX
Apps for SharePoint
PDF
SharePoint Summit Vancouver: Reach your audience with a SharePoint mobile app
PDF
O365con14 - the new sharepoint online apps - napa in action
PPTX
Votre première App SharePoint pour Office 365 avec Visual Studio !
PPTX
Building your first app for share point 2013
PPTX
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
PPTX
SPCA2013 - Once you go app you don't go back
PPTX
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
PPTX
JSOM and java script practices
PPTX
Developing a provider hosted share point app
PPTX
SP2013 for Developers - Chris O'Brien
Get started developing apps for SharePoint 2013
Developing Apps for SharePoint 2013
Introduction to SharePoint 2013 Apps
Apps for SharePoint 2013
SharePoint 2013 Hosted App Presentation by Roy Kim
Share point 2013 - Javascript Object Model
Apps for SharePoint
SharePoint Summit Vancouver: Reach your audience with a SharePoint mobile app
O365con14 - the new sharepoint online apps - napa in action
Votre première App SharePoint pour Office 365 avec Visual Studio !
Building your first app for share point 2013
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
SPCA2013 - Once you go app you don't go back
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
JSOM and java script practices
Developing a provider hosted share point app
SP2013 for Developers - Chris O'Brien
Ad

Similar to SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps (20)

PPTX
SharePoint 2013 App Provisioning Models
PPTX
Charla desarrollo de apps con sharepoint y office 365
PPTX
Access share point-2013-data-with-provider-hosted-apps
PPTX
Relearning SharePoint Development
PPTX
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
PPTX
2014 SharePoint Saturday Melbourne Apps or not to Apps
PPTX
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
PPTX
Intro apps
PDF
Come riprogettare le attuali farm solution di share point con il nuovo modell...
PPTX
MSDN - SharePoint 2013 to app or not to app
PPTX
AppsNgen
PPTX
Moving full trust code to the cloud using repeatable patterns and best practices
PPTX
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
PPTX
Einstieg in Office 2013 App Entwicklung
PPTX
SharePoint Server 2013: to app or not to app?
PPTX
Web application development process
PPTX
Introducción al SharePoint Framework SPFx
PDF
(Almost) All About Apps for SharePoint 2013
PPT
SP2013 What's New for Developers : SPSSTL
PPTX
Sharepoint 2013 App
SharePoint 2013 App Provisioning Models
Charla desarrollo de apps con sharepoint y office 365
Access share point-2013-data-with-provider-hosted-apps
Relearning SharePoint Development
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
2014 SharePoint Saturday Melbourne Apps or not to Apps
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Intro apps
Come riprogettare le attuali farm solution di share point con il nuovo modell...
MSDN - SharePoint 2013 to app or not to app
AppsNgen
Moving full trust code to the cloud using repeatable patterns and best practices
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
Einstieg in Office 2013 App Entwicklung
SharePoint Server 2013: to app or not to app?
Web application development process
Introducción al SharePoint Framework SPFx
(Almost) All About Apps for SharePoint 2013
SP2013 What's New for Developers : SPSSTL
Sharepoint 2013 App

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
A Presentation on Artificial Intelligence
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
A Presentation on Artificial Intelligence
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps

  • 1. 1 SharePoint 2013 “App Model” Developing and Deploying Provider HostedApps Sanjay Patel Principal Consultant Neudesic Sanjay.Patel@neudesic.com
  • 2. 2 Agenda  What are they(SharePoint apps)?  Types of SharePoint Apps  Definition: Host Web and App Web  Creating High trust SharePoint Provider Hosted App  Debugging - Provider Hosted App  Packaging and Deployment of Provider Hosted App  Demo  Questions 2
  • 3. 3 SharePoint Apps The “new coolness” of adding functionality to your SharePoint site  It is a new and preferred way of doing development going forward  Apps are essentially web applications which run “Outside” of SharePoint Host Web  It is a web application that is registered with SharePoint using an app manifest.  You can use any language, such as HTML, JavaScript, PHP, or .NET  Common IDEs are Microsoft Visual Studio 2012, and a new web- based tool, "Napa" Office 365 Development Tools  You can connect your app with just about any internal or public web services, take advantage of the new OAuth 2.0 support in SharePoint, and use the Representational State Transfer (REST) and client APIs (JavaScript and .NET) to integrate and connect your app with SharePoint.  Use Client Side Object Model (CSOM) to talk to SharePoint  JavaScript (asynchronous)  .NET (synchronous or asynchronous)  A lot more hassle then the old method, but it is the “new coolness”  Why Apps?
  • 4. 4
  • 5. 5 Summary: Cloud Hosted vs. SharePoint Hosted 5 Cloud Hosted Apps SharePoint Hosted Apps It is a preferred hosting model for almost all types of apps It is good only for smaller apps & resource storage It provides full power of web – choose your infrastructure & technology It is SharePoint-based; no server-side code This may require your own hosting It is automatically hosted in SharePoint
  • 6. 6 Definition: Host Web and App/Remote Web  “Host” web – The website where the app is installed, The website from where the app is launched  https://neudesic.sharepoint.com/clients/microsoft  “App” web – The “special” website where the app is deployed to  In the same site collection as “host” web  https://app.prefix-app.id.neudesic.sharepoint.com/clients/microsoft  AKA  http://app-bdf2016ea7dacb. neudesic.sharepoint.com/clients/microsoft
  • 7. 7 Creating a High Trust Provider Hosted App  Create a Site Collection using “Developer Site” template  Create test certificate  Generate an Issuer ID - A high-trust app uses a certificate instead of a context token to establish trust  Configure SharePoint 2013 for server -to-server app use and configure trust for your app (Add the certificate to SharePoint’s list of trusted root certificate authorities)  Create a trusted security token service. Which fetches metadata from your app (for example, the certificate) and establishes trust with it, so that SharePoint 2013 can accept tokens that are issued by your app  Create a SharePoint Project using “App for SharePoint 2013” project template  Configure App Permissions (e.g. Site Collection, BCS etc.)  Add functionality into the App as per your requirement 7
  • 8. 8 Debugging - Provider Hosted App  Point project to the to the “Developer Site” site instance in project properties  Hit F5  The application gets deployed to “Developer Site”– it becomes “Host” web  The App gets deployed to “Remote” web  When you are debugging the Remote Web will be deployed on IISExpress  Communication between SharePoint and the Remote web on IISExpress will happen using server-to-server protocol 8
  • 9. 9 Packaging and Deployment of Provider Hosted App  Register your High-Trust app by obtaining an AppId and Secret (http://yoursite/_layouts/15/appregnew.aspx)  Publish App – (Use AppId as ClientId)  Generated Artifacts  <SharePointApp>.app(.zip file)  AppIcon.png  AppManifest.xml  Elements and Feature file(s)  <SharePointApp>.Web.deploy.cmd  <SharePointApp>.Web.deploy-readme.txt  <SharePointApp>.Web.SetParameters.xml  <SharePointApp>.Web.zip  Deploy Remote Web using Microsoft Web Deploy(msdeploy)  Publish.app in App Catalog  Install the App 9
  • 11. PRINCETON SHAREPOINT USER GROUP • Different SharePoint discussions each month on various topics. Announced on meetup.com • Meets 4th Wednesday of every month • 6pm – 8pm • Infragistics Office • 2 Commerce Drive, Cranbury, NJ • http://www.meetup.com/princetonSUG • http://www.princetonsug.com
  • 12. THANK YOU EVENT SPONSORS • Platinum & Gold sponsors have tables here in the Fireside Lounge • Please visit them and inquire about their products & services • To be eligible for prizes make sure your bingo card is signed by all Platinum/Gold

Editor's Notes

  • #4: Why Apps?The number of concepts and artifacts makes SharePoint difficult to learn, End users get confused with many options in ribbon and on the page so Microsoft found that user only understands 1) Site, 2) People 3) Apps 4) Themes, So they want to center the SharePoint experience on these conceptsAside from the end-user perspective, Apps fill a technical need as well. There have been big issues with fully-trusted applications. They can destabilize the farm; they are difficult to migrate to new versions of SharePoint.The initial attempt to solve this problem was sandboxed solutions. The problem with sandboxed solutions is that they were very limiting.Custom code runs inside SharePoint environment , Farm solution runs inside the worker process of the host siteMicrosoft doesn’t want us to write server side code…why? So that people don’t blame them!The app model enables developers to create new solutions that can be implemented using various different UX approaches. These different approaches can be used individually or combined:Immersive/Full Page: This would be an app that does not leverage much from SharePoint except possibly the user interface. An example of this would be the Office Web Apps or an app such as a CRM or accounting system.Part App: These types of app may simply add a Web Part to a site that act as the gateway/window to another app or service. Examples could be a time reporting or news control.Extension App: These types of apps could be a mix of SharePoint &amp; non-SharePoint assets. For example a time reporting app could use SharePoint document libraries to store timesheets and extend the ribbon / Site Actions menu to submit new timesheets and approve them.
  • #5: Cloud-hosted: Includes at least one remote component and may also include SharePoint-hosted components. Within this category are two important types of apps:Provider-hosted: These apps include components that are deployed and hosted outside the SharePoint farm. They are installed to the host web, but their remote components are hosted on another server.Write in anything (ASP.NET, PHP, Ruby, whatever)CSOM – JavaScript and .NETHard to deal with AuthenticationPowerfulCould be really richAuto-hosted: Remote components are provisioned and deployed for you on Windows Azure. As with a provider-hosted app, an auto-hosted app for SharePoint interacts with a SharePoint website but also uses resources and services that are located on a remote site that is hosted by Windows Azure. What’s different with an Azure Auto-Hosted app is that the app package contains the website &amp; database in the package. When the app is installed in a site, SharePoint handles the automatic provisioning of the database (as a SQL Azure database) and website (as an Azure hosted website) using an account that has been setup by the SharePoint farm administrator.Package Includes ASP.NET website and Database CSOM – JavaScript and .NETOnly works in Office 365/SharePoint OnlineSharePoint-hosted:SharePoint will host the app in a special isolated subweb (SPWeb) called AppWeb that has all the same capabilities of a regular SPWeb.Server side code is not permittedAll logic &amp; code runs in the clientEasy to buildLargely UselessCSOM – JavaScript
  • #8: A high-trust app is a provider-hosted app for SharePoint for use on-premisesA high-trust app uses the server-to-server protocolIt&apos;s not intended for use in a cloud-hosted environment.The issuer ID and the certificate together identify the issuer of the app. The issuer ID must have a one-to-one correspondence with the certificate, so whenever you create a new certificate for a high-trust app, you must create a new issuer ID to associate with it, and if you use the same certificate for more than one app, you must associate the same issuer ID with itAdd the certificate to SharePoint’s list of trusted root certificate authorities Create a trusted security token service. Which fetches metadata from your app (for example, the certificate) and establishes trust with it, so that SharePoint 2013 can accept tokens that are issued by your app Permissions (Full Control, Read, Write or Manage)Token Helper