introducing the new sharepoint 2013 app model

52
The SharePoint 2013 App Model: How it Impacts and Expands Azure Development Opportunities Jeremy Thake Chief Architect, AvePoint Inc.

Upload: jeremy-thake

Post on 08-May-2015

3.870 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Introducing the new SharePoint 2013 app model

The SharePoint 2013 App Model: How it Impacts and Expands Azure Development Opportunities

Jeremy ThakeChief Architect, AvePoint Inc.

Page 2: Introducing the new SharePoint 2013 app model

© 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.

SpeakerAuthor

AvePoint Labs

Chief ArchitectText/Icon/Pic

Jeremy Thake

[email protected]

Page 3: Introducing the new SharePoint 2013 app model

Agenda

• App Model• OAuth• Marketplace• Getting started• NAPA

Page 4: Introducing the new SharePoint 2013 app model

SP Apps – From pieces to “ready to use solutions”

• Web Parts• Lists• Content types• Controls• …

• Packaged solutions• Ready to use apps• Reusable as such

animated

Page 5: Introducing the new SharePoint 2013 app model

SharePoint2007

SharePoint2010

SharePoint W15

Services (IIS, Apache, Other, …)

Services (Azure, IIS, Apache, Other…) Services

(Azure, IIS, Apache,Other, etc…)

SP2007 SP2010 SP2013

Declar. App & Workflow Events

Custom Code

Custom Code

CSOM

_vti_bin_vti_bin

_api

_api

Evolution of customizations in SharePoint

Page 6: Introducing the new SharePoint 2013 app model

Customization packaging and deployment options

Farm

• Full trust solutions

• Customizations to file system of servers

• Classic model from 2007

Sandbox

• Declarative elements

• Partially trusted code service still included for limited server side support

• Resource monitored

SP Apps

• New Apps model

• Deployed from corporate catalog or office market place

• Manage permission and licenses specifically

• Preferred option

Page 7: Introducing the new SharePoint 2013 app model

Online vs. On-premises

Farm

• Server-side OM• Client-side OM• No marketplace• On-premises

only• No OAuth• UI integration

Sandbox

• Limited Server-Side OM

• Client-side OM• No marketplace• On-premises

and Online• No OAuth• UI integration

SP Apps

• Client-side OM only

• Marketplace• Online only• OAuth• No UI

integration

Page 8: Introducing the new SharePoint 2013 app model

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

Page 9: Introducing the new SharePoint 2013 app model

© 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.

Architecture of Apps

© 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.

SharePoint

SharePoint Azure Web & Worker Roles

Web application

IIS Web Server

Site CollectionRoot Site

App 1 App 2 App 3

App 2Web

App 2Worker

App 3Web

Sub Site

App 3

Page 10: Introducing the new SharePoint 2013 app model

SP App Design - A Choice of Three Approaches

App Web (from WSP)

Parent Web

SharePoint-hosted AppProvision an isolated sub web on a parent web• Reuse web elements

(lists, files, out-of-box web parts)

• No server code allowed; use client JavaScript for logic, UX

Azure Auto-Provisioned AppWindows Azure + SQL Azure provisioned invisibly as apps are installed

Azure (from

WebDeploy,

DacPac)

SharePoint Web

Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP

Cloud-based Apps

Developer-Hosted App“Bring your own server hosting infrastructure”Developers will need to isolate tenants

SharePoint

Web

Your Hosted

Site

animated

Page 11: Introducing the new SharePoint 2013 app model

App Project Anatomy

PAGES

Home.aspxMain page of the appWeb Part PageScript and Style references

Elements.xmlInstalls home page to the isolated app site

SCRIPTSApp.js

Template script fileElements.xml

Installs script file to isolated app site

STYLESApp.css

Template style sheet

Elements.xmlInstalls css to isolated app site

APP MANIFESTAppManifest.xml

ProductID, Version, TitleTile and StartPage UrlsAppEvent Urls: Installed, Uninstalling, UpgradedApp Permission requests

Page 12: Introducing the new SharePoint 2013 app model

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

Page 13: Introducing the new SharePoint 2013 app model

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

Tracking

Drivers

Service Bus

animated

Page 14: Introducing the new SharePoint 2013 app model

© 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.

Versioning

© 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.

© 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.

SharePoint

SharePoint Azure Web & Worker Roles

Web application

IIS Web Server

Site CollectionRoot Site

App 1V1.0

App 2V1.0

App 3V1.0

App 2WebV1.0

App 2Worker

V1.0

App 3WebV1.0

Sub Site

App 3V1.0

App 2WebV1.1

App 2Worker

V1.1

App 2WebV2.0

App 2Worker

V2.0

App 3V1.1

App 3WebV1.1

Page 15: Introducing the new SharePoint 2013 app model

Marketpla

ce

SP App upgrade process

animated

New Version Available

1.0.0.01.0.1.0

Page 16: Introducing the new SharePoint 2013 app model

OAuth

Page 17: Introducing the new SharePoint 2013 app model

© 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.

App Trust

Page 18: Introducing the new SharePoint 2013 app model

© 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.

OAuth Token Example

SharePoint

SharePoint Azure Web & Worker Roles

Web application

IIS Web Server

Site CollectionRoot Site

App 1 App 2 App 3

App 2Web

App 2Worker

App 3Web

Site CollectionRoot Site

App 3

Page 19: Introducing the new SharePoint 2013 app model

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.

Page 20: Introducing the new SharePoint 2013 app model

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

Page 21: Introducing the new SharePoint 2013 app model

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

Page 22: Introducing the new SharePoint 2013 app model

Marketplace

Page 23: Introducing the new SharePoint 2013 app model

© 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.

Page 24: Introducing the new SharePoint 2013 app model

© 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.

Page 25: Introducing the new SharePoint 2013 app model

© 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.

Manage license

Page 26: Introducing the new SharePoint 2013 app model

© 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.

License Management

Page 27: Introducing the new SharePoint 2013 app model

© 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.

Page 28: Introducing the new SharePoint 2013 app model

© 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.

UI integration

Page 29: Introducing the new SharePoint 2013 app model

Apps and Market place process

Marketpla

ceApp Submission

SP Platform

Sto

refro

nt

1

2 3

4 6

animated

Office AppHub Office.com

5

7

Page 30: Introducing the new SharePoint 2013 app model

© 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.

Apps Competition

http://blogs.msdn.com/b/officeapps/archive/2012/08/07/game-on-win-big-prizes-in-the-app-contest.aspx

Page 31: Introducing the new SharePoint 2013 app model

© 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.

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

Page 32: Introducing the new SharePoint 2013 app model

Getting started

Page 33: Introducing the new SharePoint 2013 app model

© 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.

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

Page 34: Introducing the new SharePoint 2013 app model

© 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.

Development Machine

Cloud-hosted Apps dev environment

SharePoint Azure Web & Worker Roles

Web application

Visual Studio 2012

SQL 2012

IIS Web Server

Site CollectionRoot Site

App 1 App 2 App 3

App 2Web

App 2Worker

App 3Web

Page 35: Introducing the new SharePoint 2013 app model

Remote Development with NAPA

Page 36: Introducing the new SharePoint 2013 app model

© 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.

Remote Development environment

• “NAPA”• Sign up for Office 365 Developer Site• SharePoint-Hosted Apps only– Client-Side only

Page 37: Introducing the new SharePoint 2013 app model

© 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.

Page 38: Introducing the new SharePoint 2013 app model

© 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.

Page 39: Introducing the new SharePoint 2013 app model

© 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.

Page 40: Introducing the new SharePoint 2013 app model

© 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.

Page 41: Introducing the new SharePoint 2013 app model

© 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.

Debugging NAPA from Visual Studio

Page 42: Introducing the new SharePoint 2013 app model

© 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.

Page 43: Introducing the new SharePoint 2013 app model

Wrapping up

Page 44: Introducing the new SharePoint 2013 app model

© 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.

Call to action!

• Sign up for Office 365 2013 Previewhttp://www.microsoft.com/office/preview/en

• Get in the competition…because I can’t ;-)• Bring your existing Apps “into SharePoint”

Page 45: Introducing the new SharePoint 2013 app model

Q&AJeremy Thakewww.NothingButSharePoint.comwww.AvePoint.com

[email protected]@jthakewww.linkedin.com/in/jeremythake

Page 46: Introducing the new SharePoint 2013 app model

References

Page 47: Introducing the new SharePoint 2013 app model

© 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.

http://sharepoint.microsoft.com/en-us/preview/sharepoint.aspx

Page 48: Introducing the new SharePoint 2013 app model

© 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.

http://msdn.microsoft.com/en-us/library/jj162979(v=office.15).aspx

Page 49: Introducing the new SharePoint 2013 app model

© 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.

http://technet.microsoft.com/en-us/sharepoint/fp142366.aspx

Page 50: Introducing the new SharePoint 2013 app model

© 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.

http://delicious.com/jthake/%23sharepoint2013

Page 51: Introducing the new SharePoint 2013 app model

© 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.

https://www.nothingbutsharepoint.com

Page 52: Introducing the new SharePoint 2013 app model

© 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.

https://www.yammer.com/spyam