Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
App Web
Host WebSharePoint-Hosted App
Provision an isolated sub web on a host
web
• Reuse web elements
(lists, files, out-of-box web parts)
• No server code allowed; use client
JavaScript for logic, UX
Provider-Hosted App
“Bring your own server hosting infrastructure”SharePoint
Web
Get remote events from
SharePoint
Use CSOM/REST +
OAuth to work with SP
Cloud-based Apps
Your Hosted
Site
Autohosted App
Auto-managed by Office 365 SharePoint
Online – provisioned “invisibly” to
Windows Azure as apps are installed
Windows
Azure
SharePoint
Web
* All apps use the
AppManifest.xml file
Shape Description Example
Immersive Full
Page App
App that implements a new
scenario for customers
Resource Tracking,
Budgeting
App Part Provides new parts you can add to
your sites
Weather, News, Stock
Ticker
Extension App Add new actions for documents
and items
Display Document
Visualization, Print to
Print Service Vendor
App Chrome
Options
App
Template
Chrome
Control
Custom
Chrome
https://mySPOsite-bf473b5225nn0f.sharepoint.com/SharePointAppTitle
APPUID
Unique ID given to each app installation in tenancy
Makes each app domain unique
APPNAME
Name of SPWeb under where app is installed
Developers have control
• Dissecting the App URL:
http://tenant-APPUID.domain.com/APPNAME
Tenant A
Deploy AppApp Infrastructure
Tenant A
Tenant B
Deploy AppApp Infrastructure
Tenant A
Tenant B
Cloud Hosted Apps SharePoint Hosted Apps
Preferred hosting model for almost all
types of apps
Good for smaller apps & resource storage
Full power of web – choose your
infrastructure & technology
SharePoint-based; no server-side code
May require your own hosting Automatically hosted in SharePoint
May require you own handling of
multitenancy & permission management
Inherent multitenancy & isolation
_api
Lists
Sites
Security
User
Profiles
Search
Taxonomy
_api
Feeds
Publishing
Sharing
Workflow
E-
Discovery
IRM
And more…
JavaScript
Library
Silverlight
Library
.Net CLR
Library
Custom Client Code
Client
SharePoint
_api
Execute
Query
Supported Client TechnologiesSharePoint 2013 Client side Object Model (CSOM) and REST/OData
OData /
REST
REST/OData
Managed CodeClientContext ctx = new ClientContext("https://contoso.sharepoint.com");ctx.Load(ctx.Web.Title);ctx.ExecuteQuery();
JavaScript
All or nothing
User credentials
only provided?Start
End
User only
context
App only
context
User + App
context
Anonymous
context
App token
provided?
App token
Includes user?
Yes
No
No No
Yes Yes
SharePoint Server
App.com
Browser
Browser
SharePoint Server
App.com
STS (ACS)
Browser
SharePoint Server
1
App.com
STS (ACS)https://mySPSite.sharepo
Browser
SharePoint Server
1
App.com
2
STS (ACS)https://mySPSite.sharepo
Browser
SharePoint Server
1
App.com
2
STS (ACS)
3
https://mySPSite.sharepo
Browser
SharePoint Server
1
App.com
2
STS (ACS)
3
4
Developer Site
POST https://app.com/
…
SPAppToken=eyJ0eXAiOiJKV
1QiLCJhbGciOiJIUzI1NiJ9.e…
https://mySPSite.sharepo
Browser
SharePoint Server
1
5
App.com
2
STS (ACS)
3
4
Developer Sitehttps://mySPSite.sharepo
Browser
SharePoint Server
1
5
App.com
2
STS (ACS)
3
4
6
Developer Sitehttps://mySPSite.sharepo
Browser
SharePoint Server
1
5
App.com
2
STS (ACS)
3
4
6
7Developer Sitehttps://mySPSite.sharepo
Browser
SharePoint Server
1
5
8
App.com
2
STS (ACS)
3
4
6
7Developer Sitehttps://mySPSite.sharepo
Browser
SharePoint Server
1
5
8
9
App.com
2
STS (ACS)
3
4
6
7Developer Sitehttps://mySPSite.sharepo
Browser
SharePoint Server
1
10
5
8
9
App.com
2
STS (ACS)
3
4
6
7Developer Sitehttps://mySPSite.sharepo
Print Report Email Report Refresh
• All things Apps (Sign up for a O365 Dev Site!)• dev.office.com
• Apps for Office and SharePoint Blog• blogs.msdn.com/b/officeapps
• My Blog• blogs.msdn.com/donovanf
• Coming soon – more MSDN code samples
Resources