Download - SharePoint Apps model overview

Transcript
Page 1: SharePoint Apps model overview

SharePoint Apps model overview

new challenges, new architecture

23/04/2014 – V1.0

Page 2: SharePoint Apps model overview

2

Competitive forces

• We want to pay only for what we need!• We want you to be quicker than wind!• We want the better quality for us!• We want it cheap!

• We want to control what we are doing with our environments

• We want to develop the easiest way

Page 3: SharePoint Apps model overview

3

Competitive forces

QUICK ACCESS to SPECIFIC NEED

SCALABILITY and

STABILITY

Page 4: SharePoint Apps model overview

4

The answer?

• Cloud model with multi-tenants• Control what is running on each

environment

• Microsoft cloud platform–Major platforms in the Microsoft ecosystem

available online– Owned and operated by Microsoft–Microsoft is a major competitor and goes

quickly

Page 5: SharePoint Apps model overview

5

The answer?

• Easier upgrade• Multi-hosts capability• Better integration • Multi-devices • SharePoint not required locally for

dev purposes

Page 6: SharePoint Apps model overview

6

App for SharePoint Defined

• "There's an App for that"– Popular catch phrase that demonstrates the

popularity of App Stores

• Like an App on a phone, Apps for SharePointprovide functionality that extends SharePoint

• Installed on a specific SharePoint Web butalways runs somewhere other than SharePoint

• Rectangle thru which users interact with functionality

Page 7: SharePoint Apps model overview

7

Technologies used for the apps• HTML (5)• CSS• JavaScript

• No SharePoint server-side code!• Need some server-code? It must be

hosted outside

Page 8: SharePoint Apps model overview

8

App Shapes for SharePoint

Page 9: SharePoint Apps model overview

9

Chrome Control

• Present the navigation header of the Host Web in a block element on the App page

• Register the SharePoint ChromeControl JavaScript using a <script> tag

• Provide an HTML block element to put the header into

• The control inherits its appearance from the Host Web

• Customize the control using the available options

Page 10: SharePoint Apps model overview

10

App Licensing

• 1 License for each App on each Host Web• Perpetual or Trial• All user or multiuser• Free, Trial, Paid, or Site• With or without an expiration date• 15, 30, 60 days, unlimited, OR Perpetual• Per user or Unlimited• Free or Paid• Only applies to Apps in the SharePoint Store• Microsoft currently receives a 20% fee for

paid Apps in the SharePoint Store

Page 11: SharePoint Apps model overview

11

Authentification & authorization• Specific set of permissions• If user has the ability to grand

permissions, app can be installed

• SharePoint-Hosted apps have the benefit of using built-in security

• Oauth is required for Self-hosted and Azure-Provisioned apps

Page 12: SharePoint Apps model overview

12

App rights

• Default rights : Read, Write, Manage and Full Control

• Not possible to customize• Apps are granted permissions to a

scope and all children of the scope• Defined in declarative XML

Page 13: SharePoint Apps model overview

13

Impacts

• New model based on well-known architectures

• New way for doing business– Sell to the mass– Expose online apps in SharePoint

• New way of thinking about IT and services

Page 14: SharePoint Apps model overview

14

Tools

• Office Developer Tools in Visual Studio 2012+

• Napa for SharePoint/Office

Page 15: SharePoint Apps model overview

15

Napa for SharePoint

• Develop on the cloud from any device

• HTML/CSS/Javascript• Available for free• Can be opened in Visual-Studio

2012+• Many great dev features

Page 16: SharePoint Apps model overview

16

Hosting models

• SharePoint-hosted• Cloud-hosted (AKA self-hosted)– Provider-hosted (On-premise, ISP, etc.)– Azure-Autohosted (Office 365)

• Hybrid– SharePoint-hosted but depend on Cloud

resources– Cloud-hosted but depend on SharePoint

resources

Page 17: SharePoint Apps model overview

17

SharePoint-hosted Apps

• App resources are hosted in SharePoint butcode only runs in the client browser

• Code is HTML and JavaScript,no server-side code can run at all

• Unless deployed using JSOM, no JavaScript on the Host Web

• App resources are stored in an App Web

• Deployed entirely to SharePoint

Page 18: SharePoint Apps model overview

18

Provider-hosted

• All files are located on an external server• Pre-deployed Web/Database:– On-premise– Third-party (ISP) hosting service

• Web content NOT hosted on SharePoint's Azure

• Content can use any Web technology• Content can be common for all tenants• If a WSP is included, an App Web is

generated

Page 19: SharePoint Apps model overview

19

Azure-Autohosted

• Auto-deployed Azure Web/Database• Azure Web Site

– Limit 1– ASP.NET (including MVC)

• Azure DB– Limit 1– Limits during preview

• 1 GB in size• Not in SharePoint Store

• Workflow– No Limit– 2013 Workflow Manager

Page 20: SharePoint Apps model overview

20

Auto-hosted options

• Provider-hosted: Lots of Users, Few Apps

• Azure Autohosted: Lots of Apps, Few Users

Page 21: SharePoint Apps model overview

21

Hosting options summarized

Page 22: SharePoint Apps model overview

22

Hosting options summarized

Page 23: SharePoint Apps model overview

23

Characteristics Of An App for SharePoint

• Always Web-scoped• Always installed the Host Web• Always contain an AppManifest.xml

file that defines characteristics about the App

• Never run server-side code on SharePoint server

• Optionally, house App resources on an auto-created subweb called the App Web

Page 24: SharePoint Apps model overview

24

Structure of an App

Page 25: SharePoint Apps model overview

25

Host Web

• Web where the business user installs the App

• The user interacts with the App on the Host Web

• Only limited SharePoint resources allowed:– App Parts– Custom Actions

• App resources can be housed in an App Webor elsewhere on the Web

Page 26: SharePoint Apps model overview

26

App Web

• Dynamically created subweb,created when the App Package includes a WSP

• Used to store Web resources:– Pages, CSS, Images, JavaScript, etc.

• The App Web is used to store SharePoint resources:– Master Pages, Lists/Libraries, SharePoint Lists,

Site Columns and Content Types, Web Parts, etc.

• Isolated endpoint the App can securely call using client side code (CSOM, JSOM, REST)

• The App always has Full Control of its App Web

Page 27: SharePoint Apps model overview

App configuration for on-premises farm• Ensure that App service application and subscription service are

created and running in farm• Subscription service is used to provide unique Site Collection ID

for App Urls

• Apps will be hosted on own domain, within their own frame– Leverages web browser same-origin policy for script isolation

• URL naming – each app has unique URL – one app = one URL– http://default-appUID.apps.contoso.com – appUID – combination of site collection ID and particular SPWeb where

app is installed

http://sp/sites/webhttp:// /sites/web/appguid

tenant-apphash1.contosoapps.com

main SharePoint site app1 SharePoint site

http://apps-87e90ada14c175.contosoapps.com/sites/web/014c9c59-5d9c-4a59-a5ce-2116a4c90296

Page 28: SharePoint Apps model overview

28

App Architecture with SP2013

Page 29: SharePoint Apps model overview

29

Client Script Object Models

• .NET and Silverlight API• JavaScript API• REST API (useful when .NET is not

available)

• Choose the right object model according to your needs, constraints and existing apps

Page 30: SharePoint Apps model overview

30

SharePoint 2013 Remote API

Page 31: SharePoint Apps model overview

31

How to choose the API

Page 32: SharePoint Apps model overview

32

Sandboxed Solutions

• Sandboxed solutions are deprecated• Really?• Sandboxed code is deprecated and

should not be used anymore• Sandboxed solution without code are

used for App Web with CAML declarative XML

Page 33: SharePoint Apps model overview

33

App Stores

• SharePoint Store– Managed by Microsoft– Must be a Microsoft Seller to upload an App– Handles discovery to purchase to updates

• Web Application App Catalog– Managed in SharePoint Central Administration– Company-developed or purchased Apps

• Apps in Testing– Managed in a Developer Site– Sideloaded by Napa/Visual Studio– Intended for testing Apps only

Page 34: SharePoint Apps model overview

34

App Catalogs

Page 35: SharePoint Apps model overview

35

SharePoint 2010 applications• Full-trust farm solutions and

sandboxed solutions are still available

• SharePoint 2010 developments still work in SharePoint 2013

• Small changes can be required

Page 36: SharePoint Apps model overview

36

Next steps?

• Speak about cloud-model around you!

• Office 365 trial subscriptions

• 5-days Training session @ Boost-IT in the next few months

Page 37: SharePoint Apps model overview