The SharePoint 2013 App Model:How it Impacts and Expands AzureDevelopment OpportunitiesJeremy ThakeChief Architect, AvePoi...
Jeremy Thake © 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, o...
Agenda•   App Model•   OAuth•   Marketplace•   Getting started•   NAPA
SP Apps – From pieces to “ready to usesolutions”                                         animated
Evolution of customizations in SharePoint                                                   _api_vti_bin               _vt...
Customization packaging and deploymentoptions       Farm                 Sandbox               SP Apps• Full trust        ...
Online vs. On-premises         Farm               Sandbox             SP Apps•   Server-side OM     • Limited Server-   • ...
SharePoint Hosted App – what is it?• Sub web of site collection• ―One app – one Web (SPWeb)‖   – Host header SPWeb – each ...
Architecture of Apps                                                                   SharePoint                         ...
SP App Design - A Choice of Three Approaches                Developer-Hosted AppCloud-based     “Bring your own server hos...
App Project AnatomyPAGES                            SCRIPTSHome.aspx                         App.js      Main page of the ...
Example use cases for SP Apps• Services and applications hosted in Azure to provide  extended services for portal users• O...
Scenario - B2B sales models –Case Office Supplies• B2B app for Intranet’s of larget enterprises• Exposes simple UI for ord...
Versioning                                                                   SharePoint                                Sha...
SP App upgrade process                         animated
OAuth
App Trust   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or...
OAuth Token Example                                                                 SharePoint                            ...
App Scopes• SPSite—site collection• SPWeb—website• SPList—list• Tenancy—the tenancy scope is at  http://<sharepointserver>...
App Rights• Rights:  – Read-Only  – Write  – Manage  – Full Control• Not customizable!• If an app is granted permission to...
Setting App Rights• App rights are set when:   – An app is installed by an SPWeb administrator   – An app is explicitly gr...
Marketplace
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
Manage license   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval syste...
License Management   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval s...
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
UI integration   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval syste...
Apps and Market place process                                  7         2            3                                  S...
Apps Competition  http://blogs.msdn.com/b/officeapps/archive/2012/08/07/game-on-win-big-prizes-in-the-app-contest.aspx    ...
Concerns• Submission process approves SharePoint manifest  – No control over external changes  – Once App granted permissi...
Getting started
Local Development environment• Has to be on Windows Server• 10Gb RAM server (SharePoint, SQL, VS2012)• Don’t develop in Pr...
Cloud-hosted Apps dev environment                                                      Development Machine                ...
Remote Development with NAPA
Remote Development environment• ―NAPA‖• Sign up for Office 365 Developer Site• SharePoint-Hosted Apps only   – Client-Side...
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
Debugging NAPA from Visual Studio   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored i...
© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted...
Wrapping up
Call to action!• Sign up for Office 365 2013 Preview  http://www.microsoft.com/office/preview/en• Get in the competition…b...
Q&AJeremy Thakewww.NothingButSharePoint.comwww.AvePoint.comjeremy.thake@avepoint.com@jthakewww.linkedin.com/in/jeremythake
References
http://sharepoint.microsoft.com/en-us/preview/sharepoint.aspx   © 2011 AvePoint, Inc. All rights reserved. No part of this...
http://msdn.microsoft.com/en-us/library/jj162979(v=office.15).aspx   © 2011 AvePoint, Inc. All rights reserved. No part of...
http://technet.microsoft.com/en-us/sharepoint/fp142366.aspx   © 2011 AvePoint, Inc. All rights reserved. No part of this m...
http://delicious.com/jthake/%23sharepoint2013   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduc...
https://www.nothingbutsharepoint.com   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, store...
https://www.yammer.com/spyam   © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a r...
Upcoming SlideShare
Loading in...5
×

Introducing the new SharePoint 2013 app model

3,993

Published on

Jeremy will introduce the new App Model and compare it to the existing app models available in SharePoint. Attendees will leave this session with a better understanding of:

• How Windows Azure can be leveraged in SharePoint apps, showcasing the oAuth and auto provisioning features

• An overview of the new SharePoint App model to bring your products to the Marketplace

• An comparison between the new App Model and existing Solutions Model in SharePoint

Published in: Technology
2 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,993
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
184
Comments
2
Likes
6
Embeds 0
No embeds

No notes for slide
  • Getting started with SharePoint 2010 Online developmentJeremy Thake, SharePoint MVP, will introduce SharePoint 2010 Online as an application development platform inside Office 365. The session will explain how to get started with the different approaches from web UI configurations, to SharePoint Designer 2010 customizations to full blown Visual Studio development with Sandbox Solutions. Jeremy will introduce the concepts of how Application Lifecycle Management can be introduced to this along with migrating existing applications across from on-premise. From this session you should walk away with:Using SharePoint Online 2010 as an Application Development PlatformGetting Started with SharePoint Online 2010 developmentApplication Lifecycle Management with SharePoint Online 2010 in Office 365Migrating SharePoint 2010 Apps to SharePoint Online 2010 
  • OAuthallows users to authorize SharePoint to provide access tokens to apps that can be used to retrieve data from SharePointEach token can be used to access:A specific siteA specific resource (for example, documents from a folder)For a defined duration (for example, 30 minutes)No need to share username and password
  • An app uses permission requests to specify the permissions that it needsThe requests specify both the rights and scope which are neededScopes indicate where in the SharePoint hierarchy a permission request applies. SharePoint supports four different content scopes:SPSite—site collectionSPWeb—websiteSPList—listTenancy—the tenancy scope is at http://&lt;sharepointserver&gt;/&lt;content&gt;/&lt;tenant&gt;/There are also scopes for things like performing search queries, accessing taxonomy data, user profiles, etc.
  • Permission rights indicate what an app is permitted to do within a scope. SharePoint supports four rights levels for content (there are others for things like search, term store, etc.):Read-OnlyWriteManageFull ControlUnlike SharePoint user roles, these rights levels are not customizableIf an app is granted permission to a scope, the permission applies to all children of the scopeIf an app is granted perms to an SPWeb, the app is also granted perms to each SPList in the SPWeb, and all SPListItems in each list, but NOT each subweb
  • Introducing the new SharePoint 2013 app model

    1. 1. The SharePoint 2013 App Model:How it Impacts and Expands AzureDevelopment OpportunitiesJeremy ThakeChief Architect, AvePoint Inc.
    2. 2. Jeremy Thake © 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    3. 3. Agenda• App Model• OAuth• Marketplace• Getting started• NAPA
    4. 4. SP Apps – From pieces to “ready to usesolutions” animated
    5. 5. Evolution of customizations in SharePoint _api_vti_bin _vti_bin Declar. App & Workflow Events CSOM _api
    6. 6. Customization packaging and deploymentoptions Farm Sandbox SP Apps• Full trust • Declarative • New Apps model solutions elements • Deployed from• Customizations to • Partially trusted corporate catalog file system of code service still or office market servers included for place• Classic model limited server • Manage from 2007 side support permission and • Resource licenses monitored specifically • Preferred option
    7. 7. Online vs. On-premises Farm Sandbox SP Apps• Server-side OM • Limited Server- • Client-side OM• Client-side OM Side OM only• No marketplace • Client-side OM • Marketplace• On-premises only • No marketplace • Online only• No OAuth • On-premises and • OAuth• UI integration Online • No UI integration • No OAuth • UI integration
    8. 8. SharePoint Hosted App – what is it?• Sub web of site collection• ―One app – one Web (SPWeb)‖ – Host header SPWeb – each app has its own http address• Apps can deploy only web scoped features – Site collection resources deployed using classic solution options• None of app deployed features are visible outside of app• End users cannot manipulate app web to avoid breaking of the apps using browser or SharePoint Designer• Apps can not talk to each other
    9. 9. Architecture of Apps SharePoint SharePoint Azure Web & Worker Roles Web application App 2 App 2 Site Collection Web Worker Root Site App 1 App 2 App 3 IIS Web Server App 3 Web Sub Site App 3 ©© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent ofof AvePoint, Inc. without the prior written consent AvePoint, Inc.
    10. 10. SP App Design - A Choice of Three Approaches Developer-Hosted AppCloud-based “Bring your own server hosting SharePoint Your HostedApps infrastructure” Web Site Developers will need to isolateGet remote tenantsevents fromSharePoint Azure Auto- AzureUse CSOM/REST Provisioned App SharePoint (from+ Windows Azure + SQL AzureOAuth to work provisioned invisibly as apps Web WebDeploy,with SP are installed DacPac) SharePoint-hosted App Parent Provision an isolated sub web on a parent web Web • Reuse web elements App Web (lists, files, out-of-box web (from WSP) parts) • No server code allowed; use client JavaScript for logic, UX animated
    11. 11. App Project AnatomyPAGES SCRIPTSHome.aspx App.js Main page of the app Web Part Page Template script file Script and Style Elements.xml referencesElements.xml Installs script file to Installs home page to isolated app site the isolated app site STYLES APP MANIFEST App.css AppManifest.xml Template style ProductID, Version, Title sheet Tile and StartPage Urls Elements.xml AppEvent Urls: Installed, Installs css to Uninstalling, isolated app site Upgraded App Permission requests
    12. 12. Example use cases for SP Apps• Services and applications hosted in Azure to provide extended services for portal users• On-premises LOB systems hosted in other web applications – Examples – HR systems, vacation booking, travel expenses – Easy integration of existing applications to SharePoint without requirement to host them there• Integration of other cloud based systems to on- premises or hosted SharePoint environments without requirements to install customizations
    13. 13. Scenario - B2B sales models –Case Office Supplies• B2B app for Intranet’s of larget enterprises• Exposes simple UI for ordering Office Supplies• Hosted in cloud – orders processed using Azure service bus from numerious customers animated
    14. 14. Versioning SharePoint SharePoint Azure Web & Worker Roles Web application App 2 App 2 Site Collection Web Worker Root Site V2.0 V1.1 V1.0 V2.0 V1.1 V1.0 App 1 App 2 App 3 V1.0 V1.0 V1.0 IIS Web Server App 3 App 3 Web Web V1.0 V1.1 Sub Site App 3 V1.0 V1.1 ©© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent ofof AvePoint, Inc. without the prior written consent AvePoint, Inc.
    15. 15. SP App upgrade process animated
    16. 16. OAuth
    17. 17. App Trust © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    18. 18. OAuth Token Example SharePoint SharePoint Azure Web & Worker Roles Web application App 2 App 2 Site Collection Web Worker Root Site App 1 App 2 App 3 IIS Web Server App 3 Web Site Collection Root Site App 3 © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    19. 19. App Scopes• SPSite—site collection• SPWeb—website• SPList—list• Tenancy—the tenancy scope is at http://<sharepointserver>/<content>/<tenant>/• performing search queries, accessing taxonomy data, user profiles, etc.
    20. 20. App Rights• Rights: – Read-Only – Write – Manage – Full Control• Not customizable!• If an app is granted permission to a scope – the permission applies to all children of the scope
    21. 21. Setting App Rights• App rights are set when: – An app is installed by an SPWeb administrator – An app is explicitly granted permission by a tenant administrator or SPWeb administrator – An end user gives consent – An app is removed• Once provisioned, the rights for an app cannot change – they can only be revoked in whole – This ensures the app will not have to account for missing rights, i.e. become broken after installation
    22. 22. Marketplace
    23. 23. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    24. 24. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    25. 25. Manage license © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    26. 26. License Management © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    27. 27. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    28. 28. UI integration © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    29. 29. Apps and Market place process 7 2 3 SP Platform App Submis sion 4 61 5 animated
    30. 30. Apps Competition http://blogs.msdn.com/b/officeapps/archive/2012/08/07/game-on-win-big-prizes-in-the-app-contest.aspx © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    31. 31. Concerns• Submission process approves SharePoint manifest – No control over external changes – Once App granted permissions • App can do what it likes in that scope• Trust element of vendor – Will hurt small unknown companies – Different to phone market – corporate data © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    32. 32. Getting started
    33. 33. Local Development environment• Has to be on Windows Server• 10Gb RAM server (SharePoint, SQL, VS2012)• Don’t develop in Production! – Debug Provider-Hosted• VM’s © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    34. 34. Cloud-hosted Apps dev environment Development Machine SharePoint Azure Web & Worker Roles Web application App 2 App 2 Site Collection Web Worker Root Site App 1 App 2 App 3 IIS Web Server App 3 Web SQL 2012 Visual Studio 2012 © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    35. 35. Remote Development with NAPA
    36. 36. Remote Development environment• ―NAPA‖• Sign up for Office 365 Developer Site• SharePoint-Hosted Apps only – Client-Side only © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    37. 37. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    38. 38. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    39. 39. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    40. 40. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    41. 41. Debugging NAPA from Visual Studio © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    42. 42. © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    43. 43. Wrapping up
    44. 44. Call to action!• Sign up for Office 365 2013 Preview http://www.microsoft.com/office/preview/en• Get in the competition…because I can’t ;-)• Bring your existing Apps ―into SharePoint‖ © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    45. 45. Q&AJeremy Thakewww.NothingButSharePoint.comwww.AvePoint.comjeremy.thake@avepoint.com@jthakewww.linkedin.com/in/jeremythake
    46. 46. References
    47. 47. http://sharepoint.microsoft.com/en-us/preview/sharepoint.aspx © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    48. 48. http://msdn.microsoft.com/en-us/library/jj162979(v=office.15).aspx © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    49. 49. http://technet.microsoft.com/en-us/sharepoint/fp142366.aspx © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    50. 50. http://delicious.com/jthake/%23sharepoint2013 © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    51. 51. https://www.nothingbutsharepoint.com © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    52. 52. https://www.yammer.com/spyam © 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×