SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
DEVELOPING A
PROVIDER HOSTED
SHAREPOINT APP
Talbott Crowell
SharePoint Saturday Austin
March 2nd, 2013
About Me
• http://about.me/talbott
• Solutions Architect at ThirdM
• A Founder of SharePoint Saturday Boston
• Microsoft MVP
• Blogger and Author
About this Talk
• For Developers
  • Who want to build Apps For SharePoint
• For Architects
  • Who want to understand options and architecture considerations of
    a Provider Hosted App
• For Anyone
  • Who wants to learn more about SharePoint 2013 and the future of
    Extending and Customizing SharePoint
What is a Provider Hosted App
• SharePoint 2013 Compatible Application
• Hosted outside of SharePoint
  • Azure
  • Amazon Web Services (AWS)
  • Rackspace
  • Your Datacenter
  • An on-premise server in your customer’s Datacenter (you provide
    the Application, Hardware, and/or VM)
• Written in any language on any platform
  • Java, F#, Ruby, Linux, Unix
App Development History
            • SharePoint 2003 – Web Parts
            • SharePoint 2007 – Farm Solutions & SPD
               • WSP (A CAB file with deployment assets and
                 instructions) which may include:
                 • Server Code (.NET Assemblies for GAC or BIN)
                 • Client Code (JavaScript Files, CSS, HTML)
                 • ASP.NET (ASPX, ASCX, Master
                   Pages), Images, Site templates, List
                   definitions, Content Types (CAML), Layouts, various
                   other types of content
              • SPD (SharePoint Designer)
                 • Create custom solutions with
                   Workflows, JavaScript, HTML, jQuery, Master
                   Pages, Layouts stored in Content Database
            • SharePoint 2010
               • Sandbox Solutions
            • SharePoint 2013
               • Apps for SharePoint
Apps for SharePoint Hosting Options
• Provider Hosted Apps
   • SharePoint 2013 on-premise
     or Office 365
   • Unlimited scaling
• Autohosted Apps
   • Typically Azure Web Sites
     written in .NET
   • Runs only in Office 365 (no
     on-premise option)
   • Uses the consumers Office
     365 Azure resources
• SharePoint Hosted Apps
   • Client side only
     (JavaScript, jQuery, HTML, CS
     S)
   • Uses CSOM to manipulate
     SharePoint object
• http://bit.ly/spapphosting
Provider Hosted Apps

       Office 365 Data Center         Application Runtime and Backend
or On-Premise SharePoint 2013 Farm   (Can be anywhere: On-Premise or Cloud)


                                         Provider
  SharePoint                                               Provider
    2013
                                         Hosted
                                                           Service
                                           app


                                               Provider Data


               Customer                          Provider
Alternative Using Autohosted

    Office 365 Data Center            Application Runtime and Backend
       (including Azure)                  (Cloud Service you Host)


 Office 365          Autohosted app
                                                        Provider
(SharePoint          Windows Azure
  Online)                                               Service
                     Azure Database



                  Customer Data               Provider Data


              Customer                         Provider
Provider Hosted Architecture
• Store or App Catalog – Deployment Manifest .APP file
• App Manifest – Declare App Permission Requests
• Trust Settings – User must “allow” or “trust” your app
• Provider receives Request with Trust Token
• Provider uses CSOM to call back to SharePoint using the
  Trust Token
• SharePoint persists changes made by the Provider in the
  Content Database (just like SharePoint Designer)
Costs of Being a Provider
• Need to maintain and cover hosting cost
  • But you can extend your app to other ecosystems outside of
    SharePoint
    • iPad, Facebook, Kindle, Salesforce

• Changes will affect ALL customers
  • May need a versioning strategy for customers in Life Sciences
    (long validation lifecycle)
Benefits of Provider Hosted
• Does not tax the SharePoint Farm’s resources as much
    as Farm Solution might
•   Update 1000’s of SharePoint Farms with one release
    update to the Provider
•   Centrally managed at the Provider’s location
•   Develop on any platform using any language leveraging
    your existing developer and infrastructure knowledge
•   Same App works on Office 365 and SharePoint 2013 on-
    premise
Development Model
• Get Started using Azure and Office 365 Preview
  • Many Blog posts on getting started
• Deploy your Provider Hosted app to your Provider
  (Azure, AWS, Rackspace, local server)
• Deploy your .APP file to SharePoint
Development System Requirements
• Visual Studio 2012
  • On Premise Development Environment
  • http://bit.ly/spappdevenv
• Office Developer Tools for Visual Studio 2012
  • http://bit.ly/spapptools
Decisions
• Office 365 or On-Premise?
  • If Office 365, Visual Studio 2012
  • If On-Premise then build your SharePoint 2013 Dev Server
    • Windows Server 2012 or Windows Server 2008 R2 SP1
    • http://msdn.microsoft.com/en-us/library/fp161179.aspx
    • http://msdn.microsoft.com/en-us/library/fp179923.aspx
App Packaging
• Start with Visual Studio 2012 Project Template
• .APP
   • Contains AppManifest.xml
    • Set Permission Requests for your App
    • Start Page
    • Client ID
  • App Icon Image File
• You can unpack the .APP by renaming .ZIP
Demo
• Using Visual Studio to create the App Manifest
• Explore Contents
Security
• Client Secret vs Certificate
  • Client Secret requires SharePoint is farm connected to ACS
    • Azure ACS (Access Control Service)
    • Office 365 is already connected to ACS

• AppManifest.xml (.APP)
  • Contains permissions
• OAuth
  • TokenHelper.cs (runs on the Provider)
    • Helps you manage requests for app tokens
    • If you are developing in another language you will need to implement
      this yourself
OAuth Example
TokenHelper.TrustAllCertificates();
string contextTokenString =
    TokenHelper.GetContextTokenFromRequest(Request);
if (contextTokenString != null) {
  contextToken =
    TokenHelper.ReadAndValidateContextToken(
       contextTokenString, Request.Url.Authority);
  sharepointUrl =
    new Uri(Request.QueryString["SPHostUrl"]);
  accessToken = TokenHelper.GetAccessToken(
    contextToken,
    sharepointUrl.Authority).AccessToken;
  CSOM.CommandArgument = accessToken;
}
CSOM
• Client Side Object Model
• Rich improvements over 2012
• .NET version
• JavaScript version
• http://bit.ly/csom2013
CSOM Example
protected void CSOM_Click(object sender,
                              EventArgs e) {
  string commandAccessToken =
        ((LinkButton)sender).CommandArgument;
  RetrieveWithCSOM(commandAccessToken);
  WebTitleLabel.Text = siteName;
  CurrentUserLabel.Text = currentUser;
  UserList.DataSource = listOfUsers;
  UserList.DataBind();
  ListList.DataSource = listOfLists;
  ListList.DataBind();
}

http://bit.ly/spappbasic
CSOM Example
    ClientContext clientContext =
            TokenHelper.GetClientContextWithAccessToken(
                sharepointUrl.ToString(), accessToken);


    //Load the properties for the web object.
    Web web = clientContext.Web;
    clientContext.Load(web);
    clientContext.ExecuteQuery();

    //Get the site name.
    siteName = web.Title;

    //Get the current user.
    clientContext.Load(web.CurrentUser);
    clientContext.ExecuteQuery();
    currentUser = clientContext.Web.CurrentUser.LoginName;

    //Load the lists from the Web object.
    ListCollection lists = web.Lists;
    clientContext.Load<ListCollection>(lists);
    clientContext.ExecuteQuery();
Scope of Access
• What can you get to from CSOM?
Putting it all together
• Generate Client ID and Client Secret
    • Generated by form on SharePoint Online
    • https://<your site>/_layouts/15/appregnew.aspx

• APP Manifest and Icon packaged in .APP file
  • Includes Permission Requests
  • Includes Client ID
  • Deployed to SharePoint
• Your app is deployed to Azure, etc…
   • ClientID and ClientSecret
• Your app receives Token from SharePoint user request
• Your app uses Token to call CSOM
Review
• SharePoint has completely new Development Model
• Leverage existing understanding with CSOM
• Leverage existing other technology knowledge
• Update many customers (or Farms) at once
• Costs and Benefits of being a Provider
• Security with OAuth
• Package and Deploy to Store
Resources
• My Blog for Slides, Questions, and Follow up information
  • http://bit.ly/tcrowell
• Pluralsight Videos by Andrew Connell
  • Over 12 hours of Video
  • http://bit.ly/acplural
• Microsoft MSDN Documentation
  • http://bit.ly/spappmsdn
• CloudShare for developer and test hosting
  • http://www.cloudshare.com/
More Resources
• Steve Fox’s Blog
  • Create a free Azure Web Site to develop Provider Hosted App
  • http://bit.ly/sfoxpart1
  • http://bit.ly/sfoxpart2
• Chris Johnson's loosely typed thoughts…
  • Build a SharePoint Provider Hosted App in 5 mins
  • http://bit.ly/spapp5min
Thanks to our Sponsors!
Thank You

  Developing a Provider
  Hosted SharePoint App
   Presented by Talbott Crowell

    Please fill out evaluations!

Mais conteúdo relacionado

Mais procurados

Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlabilitySamuel Zürcher
 
SharePoint on Microsoft Azure
SharePoint on Microsoft AzureSharePoint on Microsoft Azure
SharePoint on Microsoft AzureK.Mohamed Faizal
 
Design a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basicsDesign a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basicsAlexander Meijers
 
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016Alistair Pugin
 
Best Practice SharePoint Architecture
Best Practice SharePoint ArchitectureBest Practice SharePoint Architecture
Best Practice SharePoint ArchitectureMichael Noel
 
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013K.Mohamed Faizal
 
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...European SharePoint Conference
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningBrian Huff
 
SQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best PracticesSQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best PracticesDenny Lee
 
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...Knowledge Cue
 
SharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldSharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldJason Himmelstein
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!Brian Culver
 
Getting SharePoint 2010 Deployment Right final
Getting SharePoint 2010 Deployment Right finalGetting SharePoint 2010 Deployment Right final
Getting SharePoint 2010 Deployment Right finalvmaximiuk
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDenny Lee
 
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel Oleson
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel OlesonSharePoint 2010 Upgrade Best Practices Teched Brazil by Joel Oleson
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel OlesonJoel Oleson
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...J.D. Wade
 
Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010Dan Usher
 
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...Michael Noel
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013J.D. Wade
 
Using Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web ServicesUsing Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web Servicesguest484c12
 

Mais procurados (20)

Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
 
SharePoint on Microsoft Azure
SharePoint on Microsoft AzureSharePoint on Microsoft Azure
SharePoint on Microsoft Azure
 
Design a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basicsDesign a share point 2013 architecture – the basics
Design a share point 2013 architecture – the basics
 
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016
 
Best Practice SharePoint Architecture
Best Practice SharePoint ArchitectureBest Practice SharePoint Architecture
Best Practice SharePoint Architecture
 
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
Deep Dive into SharePoint Topologies and Server Architecture for SharePoint 2013
 
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance Tuning
 
SQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best PracticesSQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best Practices
 
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
 
SharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldSharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the Field
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
 
Getting SharePoint 2010 Deployment Right final
Getting SharePoint 2010 Deployment Right finalGetting SharePoint 2010 Deployment Right final
Getting SharePoint 2010 Deployment Right final
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePoint
 
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel Oleson
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel OlesonSharePoint 2010 Upgrade Best Practices Teched Brazil by Joel Oleson
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel Oleson
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
 
Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010Pitfalls of Migration to SharePoint 2010
Pitfalls of Migration to SharePoint 2010
 
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013
 
Using Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web ServicesUsing Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web Services
 

Destaque

Migrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlineMigrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlinePerficient, Inc.
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App ModelSPC Adriatics
 
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 2013NCCOMMS
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimRoy Kim
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 
Declarative authorization in REST services in SharePoint with F# and ServiceS...
Declarative authorization in REST services in SharePoint with F# and ServiceS...Declarative authorization in REST services in SharePoint with F# and ServiceS...
Declarative authorization in REST services in SharePoint with F# and ServiceS...Sergey Tihon
 
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2WinWire Technologies Inc
 
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureEric Shupps
 
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 365Kashif Imran
 
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...Mike Maadarani
 
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...Eric Shupps
 
SPS Chevy Chase Tips on migrating to Office 365
SPS Chevy Chase Tips on migrating to Office 365SPS Chevy Chase Tips on migrating to Office 365
SPS Chevy Chase Tips on migrating to Office 365Mike Maadarani
 
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsBuilding Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsPrashant G Bhoyar (Microsoft MVP)
 
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
 
Windows Azure Active Directory - from Atidan
Windows Azure Active Directory - from AtidanWindows Azure Active Directory - from Atidan
Windows Azure Active Directory - from AtidanDavid J Rosenthal
 
Best Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the CloudBest Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the CloudPerficient, Inc.
 
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...Eric Shupps
 
SharePoint Online and Azure - Better Together
SharePoint Online and Azure - Better TogetherSharePoint Online and Azure - Better Together
SharePoint Online and Azure - Better TogetherNuno Oliveira Costa
 
SharePoint 2013 on-premise vs Office 365 Online compared
SharePoint 2013 on-premise vs Office 365 Online comparedSharePoint 2013 on-premise vs Office 365 Online compared
SharePoint 2013 on-premise vs Office 365 Online comparedNagaraj Yerram
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013Toni Il Caiser
 

Destaque (20)

Migrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint OnlineMigrating Your Intranet to SharePoint Online
Migrating Your Intranet to SharePoint Online
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
 
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
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy Kim
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
Declarative authorization in REST services in SharePoint with F# and ServiceS...
Declarative authorization in REST services in SharePoint with F# and ServiceS...Declarative authorization in REST services in SharePoint with F# and ServiceS...
Declarative authorization in REST services in SharePoint with F# and ServiceS...
 
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
Hybrid SharePoint - Office 365 & On-prem SharePoint 2013 -part2
 
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureMigrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
Migrating Legacy On-Premise Applications to SharePoint Online and Windows Azure
 
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
 
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
 
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
SharePoint 2013 - Migrating Legacy On-Premise Solutions to SharePoint Online ...
 
SPS Chevy Chase Tips on migrating to Office 365
SPS Chevy Chase Tips on migrating to Office 365SPS Chevy Chase Tips on migrating to Office 365
SPS Chevy Chase Tips on migrating to Office 365
 
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsBuilding Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
 
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...
 
Windows Azure Active Directory - from Atidan
Windows Azure Active Directory - from AtidanWindows Azure Active Directory - from Atidan
Windows Azure Active Directory - from Atidan
 
Best Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the CloudBest Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the Cloud
 
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...
Webinar - Migrating Legacy On Premise Solutions to SharePoint Online and Wind...
 
SharePoint Online and Azure - Better Together
SharePoint Online and Azure - Better TogetherSharePoint Online and Azure - Better Together
SharePoint Online and Azure - Better Together
 
SharePoint 2013 on-premise vs Office 365 Online compared
SharePoint 2013 on-premise vs Office 365 Online comparedSharePoint 2013 on-premise vs Office 365 Online compared
SharePoint 2013 on-premise vs Office 365 Online compared
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 

Semelhante a Developing Provider Hosted SharePoint Apps

Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
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
 
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 2012NCCOMMS
 
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
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
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
 
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 AzureTobias Lekman
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Modelbgerman
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Bram de Jager
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint StoreKashif Imran
 
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
 
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
 
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 StoreJuan Carlos Gonzalez
 
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 AppKenneth Maglio
 
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
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSPC Adriatics
 

Semelhante a Developing Provider Hosted SharePoint Apps (20)

Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint 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?
 
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
 
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...
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
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...
 
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
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint 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?
 
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
 
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
 
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...
 
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 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
 
Sharepoint 2013 App
Sharepoint 2013 AppSharepoint 2013 App
Sharepoint 2013 App
 
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 ...
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 

Mais de Talbott Crowell

Top 3 Mistakes when Building
Top 3 Mistakes when BuildingTop 3 Mistakes when Building
Top 3 Mistakes when BuildingTalbott Crowell
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applicationsTalbott Crowell
 
Road to the Cloud - Extending your reach with SharePoint and Office 365
Road to the Cloud - Extending your reach with SharePoint and Office 365Road to the Cloud - Extending your reach with SharePoint and Office 365
Road to the Cloud - Extending your reach with SharePoint and Office 365Talbott Crowell
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePointTalbott Crowell
 
PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012Talbott Crowell
 
PowerShell and SharePoint
PowerShell and SharePointPowerShell and SharePoint
PowerShell and SharePointTalbott Crowell
 
Exploring SharePoint with F#
Exploring SharePoint with F#Exploring SharePoint with F#
Exploring SharePoint with F#Talbott Crowell
 
Automating PowerShell with SharePoint
Automating PowerShell with SharePointAutomating PowerShell with SharePoint
Automating PowerShell with SharePointTalbott Crowell
 
SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010Talbott Crowell
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointTalbott Crowell
 
Architecting Solutions for the Manycore Future
Architecting Solutions for the Manycore FutureArchitecting Solutions for the Manycore Future
Architecting Solutions for the Manycore FutureTalbott Crowell
 

Mais de Talbott Crowell (16)

Top 7 mistakes
Top 7 mistakesTop 7 mistakes
Top 7 mistakes
 
Top 3 Mistakes when Building
Top 3 Mistakes when BuildingTop 3 Mistakes when Building
Top 3 Mistakes when Building
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applications
 
Road to the Cloud - Extending your reach with SharePoint and Office 365
Road to the Cloud - Extending your reach with SharePoint and Office 365Road to the Cloud - Extending your reach with SharePoint and Office 365
Road to the Cloud - Extending your reach with SharePoint and Office 365
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePoint
 
Introduction to F# 3.0
Introduction to F# 3.0Introduction to F# 3.0
Introduction to F# 3.0
 
PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012PowerShell and SharePoint @spsnyc July 2012
PowerShell and SharePoint @spsnyc July 2012
 
PowerShell and SharePoint
PowerShell and SharePointPowerShell and SharePoint
PowerShell and SharePoint
 
Welcome to windows 8
Welcome to windows 8Welcome to windows 8
Welcome to windows 8
 
Exploring SharePoint with F#
Exploring SharePoint with F#Exploring SharePoint with F#
Exploring SharePoint with F#
 
Automating PowerShell with SharePoint
Automating PowerShell with SharePointAutomating PowerShell with SharePoint
Automating PowerShell with SharePoint
 
F# And Silverlight
F# And SilverlightF# And Silverlight
F# And Silverlight
 
SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010SharePoint Saturday Boston 2010
SharePoint Saturday Boston 2010
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
Architecting Solutions for the Manycore Future
Architecting Solutions for the Manycore FutureArchitecting Solutions for the Manycore Future
Architecting Solutions for the Manycore Future
 

Developing Provider Hosted SharePoint Apps

  • 1. DEVELOPING A PROVIDER HOSTED SHAREPOINT APP Talbott Crowell SharePoint Saturday Austin March 2nd, 2013
  • 2. About Me • http://about.me/talbott • Solutions Architect at ThirdM • A Founder of SharePoint Saturday Boston • Microsoft MVP • Blogger and Author
  • 3. About this Talk • For Developers • Who want to build Apps For SharePoint • For Architects • Who want to understand options and architecture considerations of a Provider Hosted App • For Anyone • Who wants to learn more about SharePoint 2013 and the future of Extending and Customizing SharePoint
  • 4. What is a Provider Hosted App • SharePoint 2013 Compatible Application • Hosted outside of SharePoint • Azure • Amazon Web Services (AWS) • Rackspace • Your Datacenter • An on-premise server in your customer’s Datacenter (you provide the Application, Hardware, and/or VM) • Written in any language on any platform • Java, F#, Ruby, Linux, Unix
  • 5. App Development History • SharePoint 2003 – Web Parts • SharePoint 2007 – Farm Solutions & SPD • WSP (A CAB file with deployment assets and instructions) which may include: • Server Code (.NET Assemblies for GAC or BIN) • Client Code (JavaScript Files, CSS, HTML) • ASP.NET (ASPX, ASCX, Master Pages), Images, Site templates, List definitions, Content Types (CAML), Layouts, various other types of content • SPD (SharePoint Designer) • Create custom solutions with Workflows, JavaScript, HTML, jQuery, Master Pages, Layouts stored in Content Database • SharePoint 2010 • Sandbox Solutions • SharePoint 2013 • Apps for SharePoint
  • 6. Apps for SharePoint Hosting Options • Provider Hosted Apps • SharePoint 2013 on-premise or Office 365 • Unlimited scaling • Autohosted Apps • Typically Azure Web Sites written in .NET • Runs only in Office 365 (no on-premise option) • Uses the consumers Office 365 Azure resources • SharePoint Hosted Apps • Client side only (JavaScript, jQuery, HTML, CS S) • Uses CSOM to manipulate SharePoint object • http://bit.ly/spapphosting
  • 7. Provider Hosted Apps Office 365 Data Center Application Runtime and Backend or On-Premise SharePoint 2013 Farm (Can be anywhere: On-Premise or Cloud) Provider SharePoint Provider 2013 Hosted Service app Provider Data Customer Provider
  • 8. Alternative Using Autohosted Office 365 Data Center Application Runtime and Backend (including Azure) (Cloud Service you Host) Office 365 Autohosted app Provider (SharePoint Windows Azure Online) Service Azure Database Customer Data Provider Data Customer Provider
  • 9. Provider Hosted Architecture • Store or App Catalog – Deployment Manifest .APP file • App Manifest – Declare App Permission Requests • Trust Settings – User must “allow” or “trust” your app • Provider receives Request with Trust Token • Provider uses CSOM to call back to SharePoint using the Trust Token • SharePoint persists changes made by the Provider in the Content Database (just like SharePoint Designer)
  • 10. Costs of Being a Provider • Need to maintain and cover hosting cost • But you can extend your app to other ecosystems outside of SharePoint • iPad, Facebook, Kindle, Salesforce • Changes will affect ALL customers • May need a versioning strategy for customers in Life Sciences (long validation lifecycle)
  • 11. Benefits of Provider Hosted • Does not tax the SharePoint Farm’s resources as much as Farm Solution might • Update 1000’s of SharePoint Farms with one release update to the Provider • Centrally managed at the Provider’s location • Develop on any platform using any language leveraging your existing developer and infrastructure knowledge • Same App works on Office 365 and SharePoint 2013 on- premise
  • 12. Development Model • Get Started using Azure and Office 365 Preview • Many Blog posts on getting started • Deploy your Provider Hosted app to your Provider (Azure, AWS, Rackspace, local server) • Deploy your .APP file to SharePoint
  • 13. Development System Requirements • Visual Studio 2012 • On Premise Development Environment • http://bit.ly/spappdevenv • Office Developer Tools for Visual Studio 2012 • http://bit.ly/spapptools
  • 14. Decisions • Office 365 or On-Premise? • If Office 365, Visual Studio 2012 • If On-Premise then build your SharePoint 2013 Dev Server • Windows Server 2012 or Windows Server 2008 R2 SP1 • http://msdn.microsoft.com/en-us/library/fp161179.aspx • http://msdn.microsoft.com/en-us/library/fp179923.aspx
  • 15. App Packaging • Start with Visual Studio 2012 Project Template • .APP • Contains AppManifest.xml • Set Permission Requests for your App • Start Page • Client ID • App Icon Image File • You can unpack the .APP by renaming .ZIP
  • 16. Demo • Using Visual Studio to create the App Manifest • Explore Contents
  • 17. Security • Client Secret vs Certificate • Client Secret requires SharePoint is farm connected to ACS • Azure ACS (Access Control Service) • Office 365 is already connected to ACS • AppManifest.xml (.APP) • Contains permissions • OAuth • TokenHelper.cs (runs on the Provider) • Helps you manage requests for app tokens • If you are developing in another language you will need to implement this yourself
  • 18. OAuth Example TokenHelper.TrustAllCertificates(); string contextTokenString = TokenHelper.GetContextTokenFromRequest(Request); if (contextTokenString != null) { contextToken = TokenHelper.ReadAndValidateContextToken( contextTokenString, Request.Url.Authority); sharepointUrl = new Uri(Request.QueryString["SPHostUrl"]); accessToken = TokenHelper.GetAccessToken( contextToken, sharepointUrl.Authority).AccessToken; CSOM.CommandArgument = accessToken; }
  • 19. CSOM • Client Side Object Model • Rich improvements over 2012 • .NET version • JavaScript version • http://bit.ly/csom2013
  • 20. CSOM Example protected void CSOM_Click(object sender, EventArgs e) { string commandAccessToken = ((LinkButton)sender).CommandArgument; RetrieveWithCSOM(commandAccessToken); WebTitleLabel.Text = siteName; CurrentUserLabel.Text = currentUser; UserList.DataSource = listOfUsers; UserList.DataBind(); ListList.DataSource = listOfLists; ListList.DataBind(); } http://bit.ly/spappbasic
  • 21. CSOM Example ClientContext clientContext = TokenHelper.GetClientContextWithAccessToken( sharepointUrl.ToString(), accessToken); //Load the properties for the web object. Web web = clientContext.Web; clientContext.Load(web); clientContext.ExecuteQuery(); //Get the site name. siteName = web.Title; //Get the current user. clientContext.Load(web.CurrentUser); clientContext.ExecuteQuery(); currentUser = clientContext.Web.CurrentUser.LoginName; //Load the lists from the Web object. ListCollection lists = web.Lists; clientContext.Load<ListCollection>(lists); clientContext.ExecuteQuery();
  • 22. Scope of Access • What can you get to from CSOM?
  • 23. Putting it all together • Generate Client ID and Client Secret • Generated by form on SharePoint Online • https://<your site>/_layouts/15/appregnew.aspx • APP Manifest and Icon packaged in .APP file • Includes Permission Requests • Includes Client ID • Deployed to SharePoint • Your app is deployed to Azure, etc… • ClientID and ClientSecret • Your app receives Token from SharePoint user request • Your app uses Token to call CSOM
  • 24. Review • SharePoint has completely new Development Model • Leverage existing understanding with CSOM • Leverage existing other technology knowledge • Update many customers (or Farms) at once • Costs and Benefits of being a Provider • Security with OAuth • Package and Deploy to Store
  • 25. Resources • My Blog for Slides, Questions, and Follow up information • http://bit.ly/tcrowell • Pluralsight Videos by Andrew Connell • Over 12 hours of Video • http://bit.ly/acplural • Microsoft MSDN Documentation • http://bit.ly/spappmsdn • CloudShare for developer and test hosting • http://www.cloudshare.com/
  • 26. More Resources • Steve Fox’s Blog • Create a free Azure Web Site to develop Provider Hosted App • http://bit.ly/sfoxpart1 • http://bit.ly/sfoxpart2 • Chris Johnson's loosely typed thoughts… • Build a SharePoint Provider Hosted App in 5 mins • http://bit.ly/spapp5min
  • 27. Thanks to our Sponsors!
  • 28. Thank You Developing a Provider Hosted SharePoint App Presented by Talbott Crowell Please fill out evaluations!