Post on 26-May-2015
1
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
Sanjay PatelPrincipal ConsultantNeudesic
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
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
5
Summary: Cloud Hosted vs. SharePoint Hosted
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
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
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
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
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
Referenceshttp://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!