SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Developing SharePoint 2013
Apps with Visual Studio 2012
Bram de Jager
SharePoint Architect @ Macaw
Microsoft Certified Solution Master: SharePoint
Agenda
•   Evolution
•   Apps for SharePoint
•   Visual Studio Tools
•   REST & CSOM APIs
•   Remote Event Receivers
EVOLUTION
Developing SharePoint 2013 Apps with Visual Studio 2012
Development Evolution
                           Investment in
Portals & content                               App discovery & management


          2003          2007                   2010              2013
      Web Parts     LOB                   Silverlight      Apps
                      applications          CSOM             Client side
                     Custom                 limited           experience
                      server side           Sandbox          CSOM
                      code                                    REST/oDat
                     WSP                                      a
                      deployment
Customization Options
           Farm                     Sandbox                SharePoint Apps
     Full trust solutions      Hosted in isolated        New Apps model
     Customizations to          process                   Deployed from



                                     
      file system of            Limited server side        corporate catalog or
      servers                    SharePoint API             Office Store
     Hosted in same             access                    Manage permission
      process as                No external service        and licenses
      SharePoint                 calls                      specifically
     Server side                                          Simple install and
      SharePoint API                                        upgrade process
      access                     Deprecated in             Preferred option
     Classic model from          SharePoint
      2007                           2013
App Development Scenarios
Deployment Options    Customization Options   Development Tools

On-Premise Farm
Installation          Farm-Trust Solutions    Web Browser
Office 365 &
SharePoint Online     Sandboxed Solutions     SharePoint Designer
                      SharePoint-Hosted
Hosted Installation   app                     Visual Studio


                      Provider-Hosted app     Eclipse, etc


                      Autohosted app
APPS FOR
SHAREPOINT
Developing SharePoint 2013 Apps with Visual Studio 2012
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
                                                                             SharePoint
                                Provide your own hosting environment          Host Web                 Your Hosted Site
Cloud-hosted apps
- Use server code
- Receive SP events
- Use OAuth to access           Autohosted app
SP                                                                           SharePoint
                                Windows Azure + SQL Azure provisioned         Host Web                      Azure
                                automatically as apps are installed



SharePoint-Hosted app
                                                                        SharePoint
Provisions an isolated sub web on a host web
- Use SP artifacts & out-of-box web parts
                                                                         Host Web
- Use HTML & JavaScript for UI & client-side logic
- Use Workflows for middle tier logic                                                     SharePoint
                                                                                           App Web
VISUAL STUDIO
TOOLS
Developing SharePoint 2013 Apps with Visual Studio 2012
Visual Studio SharePoint
Tools
• Development Environments
  – Develop against a local SharePoint server
  – Remote development against SharePoint
    Online (Office 365)
• Tools
  – Office Developer Tools (RTM)
  – 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
   – 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
                    Host
                    Web
.app Package




                            App Web
               WS
   (OPC)

                P




                            (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)
REST & CSOM
Developing SharePoint 2013 Apps with Visual Studio 2012
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, Publishing, eDiscovery, IRM, BCS, … and
     more
SharePoint 2013 Remote API
                  _api is new alias for _vti_bin/client.svc

 Server
 Client   REST                             CSOM
          OData
          JSON
                        JavaScript       Silverlight      .Net CLR
                          Library         Library          Library


                            Custom Client Code
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 trust third party
    (ACS)
• Trust developed using ClientId &
  ClientSecret
  – SharePoint & ACS know the ClientId
  – Web application & ACS know the
    ClientSecret
Authentication, cont’d
                       Access Control
                       Service
                       (ACS)
            ClientID                        ClientSecret




    SharePoint                            My Web
                         Access Token
    server                                Application
                        Context Token 
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)
REMOTE EVENT
RECEIVERS
Developing SharePoint 2013 Apps with Visual Studio 2012
Remote Event Receivers
• Where to use
   – Use RER to receive notification that a change has occurred
   – Use interface to poll SharePoint for changes
   – Write changes as required

• Event scopes: List Item, List, Web, App
• Support for the following types
   – Synchronous Events
   – Asynchronous After Events
Remote Event Receivers
Register declaratively or via code
                        string url=
                        "http://contoso.com/RemoteEventService.svc";

                        using (SPSite site = new SPSite(siteUrl))
                        {
                           using (SPWeb web = site.RootWeb)
                           {
                              SPList list = web.Lists[listTitle];
                              list.EventReceivers.Add(
                                SPEventReceiverType.ItemAdded,
                                url);
                           }
                        }
WRAP-UP
Developing SharePoint 2013 Apps with Visual Studio 2012
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


Office 365 playground
           http://dev.office.com
Information
• Download
   – Slides
   – Source code
   – http://bit.ly/XZTLbY

• Contact
   –   www.macaw.nl
   –   Bram.de.Jager@macaw.nl
   –   bramdejager.wordpress.com
   –   @bramdejager

Weitere ähnliche Inhalte

Was ist angesagt?

Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Bram de Jager
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSPC Adriatics
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...Nik Patel
 
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 appsJames Tramel
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
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
 
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
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Bram de Jager
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overviewElie Kash
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Nik Patel
 
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
 
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
 
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 IntegrationSharePoint Saturday New Jersey
 
Get started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointGet started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointYaroslav Pentsarskyy [MVP]
 
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
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Giuseppe Marchi
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelNoorez Khamis
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Alexander Meijers
 

Was ist angesagt? (20)

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...
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
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
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint 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...
 
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
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
 
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...
 
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...
 
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
 
Get started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointGet started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePoint
 
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
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App Model
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
 

Ähnlich wie Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays 2013 - Bram de Jager

(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013Dragan Panjkov
 
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
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAlexander Meijers
 
Sp2013 overview
Sp2013 overviewSp2013 overview
Sp2013 overviewBIWUG
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwugBIWUG
 
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
 
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
 
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012Joris Poelmans
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppKenneth Maglio
 
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013Adis Jugo
 
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 appTalbott Crowell
 
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
 
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 Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012Thuan Ng
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenRyan Schouten
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Adis Jugo
 
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013Adis Jugo
 
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
 

Ähnlich wie Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays 2013 - Bram de Jager (20)

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?
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for 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
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 
Sp2013 overview
Sp2013 overviewSp2013 overview
Sp2013 overview
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwug
 
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
 
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...
 
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012
 
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 in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
 
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
 
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
 
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 Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013
 
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with 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
 

Kürzlich hochgeladen

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 

Kürzlich hochgeladen (20)

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 

Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays 2013 - Bram de Jager

  • 1.
  • 2. Developing SharePoint 2013 Apps with Visual Studio 2012 Bram de Jager SharePoint Architect @ Macaw Microsoft Certified Solution Master: SharePoint
  • 3. Agenda • Evolution • Apps for SharePoint • Visual Studio Tools • REST & CSOM APIs • Remote Event Receivers
  • 4. EVOLUTION Developing SharePoint 2013 Apps with Visual Studio 2012
  • 5. Development Evolution Investment in Portals & content App discovery & management 2003 2007 2010 2013  Web Parts  LOB  Silverlight  Apps applications  CSOM  Client side  Custom limited experience server side  Sandbox  CSOM code  REST/oDat  WSP a deployment
  • 6. Customization Options Farm Sandbox SharePoint Apps  Full trust solutions  Hosted in isolated  New Apps model  Customizations to process  Deployed from  file system of  Limited server side corporate catalog or servers SharePoint API Office Store  Hosted in same access  Manage permission process as  No external service and licenses SharePoint calls specifically  Server side  Simple install and SharePoint API upgrade process access Deprecated in  Preferred option  Classic model from SharePoint 2007 2013
  • 7. App Development Scenarios Deployment Options Customization Options Development Tools On-Premise Farm Installation Farm-Trust Solutions Web Browser Office 365 & SharePoint Online Sandboxed Solutions SharePoint Designer SharePoint-Hosted Hosted Installation app Visual Studio Provider-Hosted app Eclipse, etc Autohosted app
  • 8. APPS FOR SHAREPOINT Developing SharePoint 2013 Apps with Visual Studio 2012
  • 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 SharePoint Provide your own hosting environment Host Web Your Hosted Site Cloud-hosted apps - Use server code - Receive SP events - Use OAuth to access Autohosted app SP SharePoint Windows Azure + SQL Azure provisioned Host Web Azure automatically as apps are installed SharePoint-Hosted app SharePoint Provisions an isolated sub web on a host web - Use SP artifacts & out-of-box web parts Host Web - Use HTML & JavaScript for UI & client-side logic - Use Workflows for middle tier logic SharePoint App Web
  • 11. VISUAL STUDIO TOOLS Developing SharePoint 2013 Apps with Visual Studio 2012
  • 12. Visual Studio SharePoint Tools • Development Environments – Develop against a local SharePoint server – Remote development against SharePoint Online (Office 365) • Tools – Office Developer Tools (RTM) – 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 – 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 Host Web .app Package App Web WS (OPC) P (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)
  • 18. REST & CSOM Developing SharePoint 2013 Apps with Visual Studio 2012
  • 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, Publishing, eDiscovery, IRM, BCS, … and more
  • 20. SharePoint 2013 Remote API _api is new alias for _vti_bin/client.svc Server Client REST CSOM OData JSON JavaScript Silverlight .Net CLR Library Library Library Custom Client Code
  • 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 trust third party (ACS) • Trust developed using ClientId & ClientSecret – SharePoint & ACS know the ClientId – Web application & ACS know the ClientSecret
  • 25. Authentication, cont’d Access Control Service (ACS) ClientID ClientSecret SharePoint My Web  Access Token server Application Context Token 
  • 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)
  • 28. REMOTE EVENT RECEIVERS Developing SharePoint 2013 Apps with Visual Studio 2012
  • 29. Remote Event Receivers • Where to use – Use RER to receive notification that a change has occurred – Use interface to poll SharePoint for changes – Write changes as required • Event scopes: List Item, List, Web, App • Support for the following types – Synchronous Events – Asynchronous After Events
  • 30. Remote Event Receivers Register declaratively or via code string url= "http://contoso.com/RemoteEventService.svc"; using (SPSite site = new SPSite(siteUrl)) { using (SPWeb web = site.RootWeb) { SPList list = web.Lists[listTitle]; list.EventReceivers.Add( SPEventReceiverType.ItemAdded, url); } }
  • 31. WRAP-UP Developing SharePoint 2013 Apps with Visual Studio 2012
  • 32. Summary • The way forward for customizations on SharePoint • Build for the cloud (Office 365) • Heavily invested in CSOM and REST, allowing interaction with SharePoint
  • 33. Try it yourself Office Store Office 365 playground http://dev.office.com
  • 34. Information • Download – Slides – Source code – http://bit.ly/XZTLbY • Contact – www.macaw.nl – Bram.de.Jager@macaw.nl – bramdejager.wordpress.com – @bramdejager

Hinweis der Redaktion

  1. SandboxedSolutionsdeprecated statement: http://msdn.microsoft.com/en-us/library/jj163114.aspx (optioneel no-code sandboxedsolutions voorlopig wel ondersteund?)
  2. 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 VS.NET development for both apps & solutions
  3. Use when app is ready for…Testing by anther person or teamUpload to Store or App CatalogUse the packages from app.publish folder
  4. Open Packaging Conventions (OPC): http://msdn.microsoft.com/en-us/magazine/cc163372.aspxStandard For Packaging Data, also used for Office Open XML.
  5. Legacy of Frontpage…, finally gone
  6. ACS = Access Control Service (Windows Azure Access Control Service)
  7. SharePoint  ACS (sendsClientID)ACS  SharePoint (sendsContext Token)SharePoint  Web Application (sends Context Token)Web Application  ACS (sends Context Token and Client Secrettovalidate)ACS  Web Application (sends Access Token)Web Application  SharePoint (sends Access Token forcommunication)
  8. Debugging Remote Event Receivers with Visual Studio (Provider-hosted apps)http://blogs.msdn.com/b/officeapps/archive/2013/01/03/debugging-remote-event-receivers-with-visual-studio.aspx
  9. VSTO downside is distributionOffice users around the globe 1 billion (June 2010). Noteverybody has Office 2013, but it’sverylikelylots of themwillupcomingyears. VSTO: http://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office