0
Apps 101
Moving to the SharePoint 2013 App Model
Derek Cash-Peterson – SharePoint Practice Director
Bob German – SharePoin...
SharePoint Principal
Architect
@Bob1German
http://blogs.msdn.com/B
obGerman/
SharePoint Practice
Director
@spdcp
www.spdcp...
Key Topics
2003
2007
2010
2013
Apps 101
Host
Web
App
Web
• Link or
IFrame
• REST or Client OM
• App Security
App Hosting Options
Host
Web
App
Web
SharePoint
Hosted App
Provider or
Auto-Hosted App
App Azure
or other provider
Host
We...
App Isolation
App Azure
or other provider
Host
Web
App Web
(optional)
http://myserver/sites/myweb/
http://app12345/sites/m...
App
Host
Web
App
Web
Mix and match App Web and Cloud
 Provisioned by SharePoint on
app installation
 Code in Javascript ...
DEMONSTRATION
Concepts Shown:
- Declarative features in App Site
- Client Side Object Model
- Simple Client Web Part (“App...
Choosing an Approach
 Backward compatibility with
existing solutions
 Leverages SharePoint
development skills
 Full acc...
Choosing a Hosting Model
 No server side code, period
 Access to OOB SharePoint
web controls on the page
 Hosted on cus...
App Access to SharePoint
Choosing an Access Method
 Synchronous or
asynchronous in Javascript
 Returns entities (e.g.
Contact, Task)
 Easier acc...
Accessing Data with Client OM
OData
(REST)
What’s New in CSOM
 User Profiles
 Search
 Taxonomy
 Feeds
 Publishing
 Business Connectivity
Services
 Sharing
 W...
Representational State Transfer (REST)
JSON ATOM
WPF/WinForm/Office
Silverlight
JavaScript
JSON ATOM
Representational State Transfer (REST)
• Operations map to HTTP verbs
• Retrieve items/lists  GET
• Create new item  POS...
URL Conventions
Addressing lists and items
List of lists /_api/web/lists
List /_api/web/lists(‘guid’)
List /_api/web/lists...
DEMONSTRATION
Concepts Shown:
- Use of RESTful services
- Accessing the host web from with the Cross-Domain Library
- App ...
App Isolation
App Azure
or other provider
Host
Web
App Web
(optional)
SharePoint Authentication
SharePoint Authentication
...
Open Authentication
• Standard in use by dozens of public
sites
• Similar to a valet key
• App gives to a partly
trusted 3...
Remote Event Receivers
• Require a provider or Azure-hosted app
• Uses Access Control Services (ACS) token
• Passed from S...
DEMONSTRATION
Concepts Shown:
- Provider hosted App
- Remote Event Receiver
- SP 2013 Geolocation Features
Locations Map
Workflow New workflow engine hosted outside of SharePoint
 Author workflows in SharePoint Designer or Visual Studio 2012...
Resources
SharePoint 2013 Development
• Host webs, Web apps, and SharePoint Components: http://bit.ly/R3tUiO
• Data Access...
Housekeeping
• Please remember to turn in your filled out bingo cards
and event evaluations for prizes.
• SharePint is spo...
Thanks to Our Sponsors!
Thank You!
BOSTON | NEW YORK | CHICAGO
44 Pleasant Street, Watertown, MA 02472
www.bluemetal.com
Blog.bluemetal.com
@bluem...
Upcoming SlideShare
Loading in...5
×

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

1,246

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

Published in: Technology, Design
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,246
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. Apps 101 Moving to the SharePoint 2013 App Model Derek Cash-Peterson – SharePoint Practice Director Bob German – SharePoint Principal Architect
  2. 2. SharePoint Principal Architect @Bob1German http://blogs.msdn.com/B obGerman/ SharePoint Practice Director @spdcp www.spdcp.com <Insert info> Meet Bob and Derek
  3. 3. Key Topics
  4. 4. 2003
  5. 5. 2007
  6. 6. 2010
  7. 7. 2013
  8. 8. Apps 101 Host Web App Web • Link or IFrame • REST or Client OM • App Security
  9. 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. 10. App Isolation App Azure or other provider Host Web App Web (optional) http://myserver/sites/myweb/ http://app12345/sites/myweb/ http://whatevs.com/somepath/ Different domain names leverage browsers’ same-origin policy
  11. 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. 12. DEMONSTRATION Concepts Shown: - Declarative features in App Site - Client Side Object Model - Simple Client Web Part (“App Part”) Chord Calculator
  13. 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. 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. 15. App Access to SharePoint
  16. 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. 17. Accessing Data with Client OM OData (REST)
  18. 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. 19. Representational State Transfer (REST) JSON ATOM WPF/WinForm/Office Silverlight JavaScript JSON ATOM
  20. 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. 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. 22. DEMONSTRATION Concepts Shown: - Use of RESTful services - Accessing the host web from with the Cross-Domain Library - App part settings Image Rotator
  23. 23. App Isolation App Azure or other provider Host Web App Web (optional) SharePoint Authentication SharePoint Authentication OAuth
  24. 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. 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. 26. DEMONSTRATION Concepts Shown: - Provider hosted App - Remote Event Receiver - SP 2013 Geolocation Features Locations Map
  27. 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. 28. Resources SharePoint 2013 Development • Host webs, Web apps, and SharePoint Components: http://bit.ly/R3tUiO • Data Access Options for Apps in SharePoint 2013: http://bit.ly/Peeof9 • OAuth and SharePoint 2013: http://bit.ly/Ny1jNd • SharePoint 2013 Workflows: http://bit.ly/PEJCze • Programming using the SharePoint 2013 REST service: http://bit.ly/LR66Ju • Programming using the SP 2013 CSOM (JavaScript): http://bit.ly/OJUARG Contact Us • Bob German - @Bob1German http://msdn.microsoft.com/BobGerman Bobg@bluemetal.com • Derek Cash Peterson - @SPDCP http://spdcp.com Derekcp@bluemetal.com
  29. 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. 30. Thanks to Our Sponsors!
  31. 31. Thank You! BOSTON | NEW YORK | CHICAGO 44 Pleasant Street, Watertown, MA 02472 www.bluemetal.com Blog.bluemetal.com @bluemetalinc
  1. A particular slide catching your eye?

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

×