Your SlideShare is downloading. ×
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at SharePoint Saturday NYC
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at SharePoint Saturday NYC


Published on

Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at SharePoint Saturday NYC - by Bob German and Derek Cash-Peterson

Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at SharePoint Saturday NYC - by Bob German and Derek Cash-Peterson

Published in: Technology, Design

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Apps 101 Moving to the SharePoint 2013 App Model Derek Cash-Peterson – SharePoint Practice Director Bob German – SharePoint Principal Architect
  • 2. SharePoint Principal Architect @Bob1German obGerman/ SharePoint Practice Director @spdcp <Insert info> Meet Bob and Derek
  • 3. Key Topics
  • 4. 2003
  • 5. 2007
  • 6. 2010
  • 7. 2013
  • 8. Apps 101 Host Web App Web • Link or IFrame • REST or Client OM • App Security
  • 9. App Hosting Options Host Web App Web SharePoint Hosted App Provider or Auto-Hosted App App Azure or other provider Host Web App Web (optional)
  • 10. App Isolation App Azure or other provider Host Web App Web (optional) http://myserver/sites/myweb/ http://app12345/sites/myweb/ Different domain names leverage browsers’ same-origin policy
  • 11. App Host Web App Web Mix and match App Web and Cloud  Provisioned by SharePoint on app installation  Code in Javascript on browser No Server Code – period! (though you can leverage installed ASP.NET controls)  May contain declarative, web- scoped features (lists, site pages, client script, images, css)  Access host web via cross- domain library  Auto-hosted apps are provisioned by Office 365 on app installation (Office 365 only; not yet released)  Any hosted web site can work; pretty much anything goes  Access host and app webs via OAuth – run under:  End user’s permissions  App permissions App Web Provider or Autohosted
  • 12. DEMONSTRATION Concepts Shown: - Declarative features in App Site - Client Side Object Model - Simple Client Web Part (“App Part”) Chord Calculator
  • 13. Choosing an Approach  Backward compatibility with existing solutions  Leverages SharePoint development skills  Full access to server OM – you can do nearly anything  Elevate privileges and be omnipotent!  Sandboxed solutions   Scalability / reliability issues  “Deprecated”  App code is reusable in SharePoint and Office  Leverages general web development skills  Better isolation – no more leftover web parts and lists  Run under App identity – safer way to elevate  Auto-hosted apps   Office 365 Only  Not really released even there SharePoint Solutions SharePoint Apps
  • 14. Choosing a Hosting Model  No server side code, period  Access to OOB SharePoint web controls on the page  Hosted on customer’s SP infrastructure  Server-side code  Server is not subject to cross-domain policy  More flexible data storage (SQL Azure, etc.) SharePoint Hosted Provider / Azure Hosted Remember you can combine both hosting models in your app
  • 15. App Access to SharePoint
  • 16. Choosing an Access Method  Synchronous or asynchronous in Javascript  Returns entities (e.g. Contact, Task)  Easier access from jQuery– no dependency on SP.JS  Asynchronous only in Javascript  Returns SharePoint objects (e.g. List, ListItem)  Easier access from .NET server side  Batched requests REST CSOM
  • 17. Accessing Data with Client OM OData (REST)
  • 18. What’s New in CSOM  User Profiles  Search  Taxonomy  Feeds  Publishing  Business Connectivity Services  Sharing  Workflow  E-Discovery  IRM  Analytics So much more than simple site and list access!
  • 19. Representational State Transfer (REST) JSON ATOM WPF/WinForm/Office Silverlight JavaScript JSON ATOM
  • 20. Representational State Transfer (REST) • Operations map to HTTP verbs • Retrieve items/lists  GET • Create new item  POST • Update an item  PUT or MERGE • Delete an item  DELETE • These apply to links (lookups) as well • SharePoint rules apply during updates • Validation, access control, etc.
  • 21. URL Conventions Addressing lists and items List of lists /_api/web/lists List /_api/web/lists(‘guid’) List /_api/web/lists/getbytitle(‘Title’) Items /_api/web/lists/getbytitle('listname')/items Item /_api/web/lists/getbytitle('listname')/items(1) Single column /_api/web/lists/getbytitle('listname')/items(1)/fields/getByTitle('Description') Sorting ?$orderby=Fullname Filtering $filter=JobTitle eq 'SDE' Projection ?$select=Fullname,JobTitle Paging ?$top=10&$skip=30 Inline expansion ?$expand=Project Presentation options
  • 22. DEMONSTRATION Concepts Shown: - Use of RESTful services - Accessing the host web from with the Cross-Domain Library - App part settings Image Rotator
  • 23. App Isolation App Azure or other provider Host Web App Web (optional) SharePoint Authentication SharePoint Authentication OAuth
  • 24. Open Authentication • Standard in use by dozens of public sites • Similar to a valet key • App gives to a partly trusted 3rd party • Grants limited access • SharePoint grants the app access on the user’s behalf • No need to pass the user’s credentials • SharePoint can limit the scope of access
  • 25. Remote Event Receivers • Require a provider or Azure-hosted app • Uses Access Control Services (ACS) token • Passed from SharePoint to remote web service • Web service can request a token to send back to SharePoint • SharePoint calls a web service with the following methods: • ProcessEvent() – Synchronous • ProcessOneWayEvent() – Asynchronous • List, ListItem, Web, and App level scopes • App Events – call AppEventReceiver.svc • App Installed • App Uninstalling • App Upgraded • Caveats: • Before and after properties are still quirky  • No guaranteed delivery • Watch latency and performance on synchronous events
  • 26. DEMONSTRATION Concepts Shown: - Provider hosted App - Remote Event Receiver - SP 2013 Geolocation Features Locations Map
  • 27. Workflow New workflow engine hosted outside of SharePoint  Author workflows in SharePoint Designer or Visual Studio 2012  Access SharePoint via built-in actions and web services  Access SharePoint under App identity (instead of Impersonation Step)
  • 28. Resources SharePoint 2013 Development • Host webs, Web apps, and SharePoint Components: • Data Access Options for Apps in SharePoint 2013: • OAuth and SharePoint 2013: • SharePoint 2013 Workflows: • Programming using the SharePoint 2013 REST service: • Programming using the SP 2013 CSOM (JavaScript): Contact Us • Bob German - @Bob1German • Derek Cash Peterson - @SPDCP
  • 29. Housekeeping • Please remember to turn in your filled out bingo cards and event evaluations for prizes. • SharePint is sponsored by Slalom at Whiskey Trader (Between 55th and 56th on 6th Avenue). • Follow SharePoint Saturday New York City on Twitter @spsnyc and hashtag #spsnyc
  • 30. Thanks to Our Sponsors!
  • 31. Thank You! BOSTON | NEW YORK | CHICAGO 44 Pleasant Street, Watertown, MA 02472 @bluemetalinc