SharePoint Apps with Windows Azure Platform as a Service · SharePoint Apps with Windows Azure...

34
Copyright© 2012 Microsoft Corporation SharePoint Apps with Windows Azure Platform as a Service Don Kirkham Senior Engineer / Microsoft Solutions MCPD: SharePoint [email protected] @DonKirkham Christopher Webb Senior Engineer / Microsoft Solutions MCSM: SharePoint [email protected] @chriswebb18

Transcript of SharePoint Apps with Windows Azure Platform as a Service · SharePoint Apps with Windows Azure...

Copyright© 2012 Microsoft Corporation

SharePoint Apps with Windows Azure Platform as a Service

Don KirkhamSenior Engineer / Microsoft SolutionsMCPD: [email protected]@DonKirkham

Christopher WebbSenior Engineer / Microsoft SolutionsMCSM: [email protected]@chriswebb18

Copyright© 2012 Microsoft Corporation

Intro/Poll

Intro/PollOverview of

IaaS, PaaS, SaaS

Changes in SPO Development &

Pain Points

Copyright© 2012 Microsoft Corporation

Copyright© 2012 Microsoft Corporation

Copyright© 2012 Microsoft Corporation

Changes to SPO Development & Pain Points

Copyright© 2012 Microsoft Corporation

Full Trust SolutionsNo real control

Support is a nightmare

Upgrade is quite a challenge

Securing code to run in hosted environments is effectively

impossible

SP Code

More custom code: aspx, dlls, web services,

GAC

SandboxPartial control

App ModelControl, Trust, Manage

Way too strict for developers

Hard to maintain and expand

Managed by your self

SP Code

Sandboxed Custom Code

App code (client or server)

SP Code

Isolated App client side code

Host/language independent

Management and update easily doable per app

Emprases reusability

No server side sandbox, improved CSOM

Farm

• Full trust solutions

• Customizations to file system of servers

• Hosted in same process as SharePoint

• Server side SharePoint API access

• Classic model from 2007

Sandbox

• Declarative elements

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

• Hosted in isolated process

• Limited server side SharePoint API access

SP Apps

• New Apps model

• Deployed from corporate catalog or SharePoint store

• Manage permission and licenses specifically

• Simple install and upgrade process

• Preferred option

Copyright© 2012 Microsoft Corporation

Classic - Full trust solutions

• ISV solutions

• Platform level customizations to on-premises

• Custom service applications

• Custom WCF services

• SharePoint customizations, not customer-specific customizations

Client Side Solutions

• Server side controls as JavaScript on page layouts and master pages

• Remote provisioning for elements

• Embracing un-ghosted model

• SP App dimension with provider-hosted apps to provide new capabilities

• Customer-specific customizations

SP Apps

• App catalog based solution

• Packaged reusable solutions built for specific functionality

• Not only for marketplace or store, but also as platform for customer-specific customizations

Copyright© 2012 Microsoft Corporation

Copyright© 2012 Microsoft Corporation

Copyright© 2012 Microsoft Corporation

Provider Hosted App

Copyright© 2012 Microsoft Corporation

Provider Hosted Apps

SharePoint Farm

Remote connectivity

ACS

End users

App Admin

Registration of apps

Approve and publish apps

spapp_appname.contoso.com

Verification of registration

1

6

2

34

5

Contoso

Copyright© 2012 Microsoft Corporation

Copyright© 2012 Microsoft Corporation

Scope URI Available Rights

http://sharepoint/content/sitecollection Read, Write, Manage, FullControl

http://sharepoint/content/sitecollection/web Read, Write, Manage, FullControl

http://sharepoint/content/sitecollection/web/list Read, Write, Manage, FullControl

http://sharepoint/content/tenant Read, Write, Manage, FullControl

Copyright© 2012 Microsoft Corporation

IT’S DEMO TIME!

Copyright© 2012 Microsoft Corporation

OfficeDevPnPhttps://github.com/OfficeDev/PnP/wiki

Copyright© 2012 Microsoft Corporation

App Info Reference

Copyright© 2012 Microsoft Corporation

Site Definition

• No Office365

• Long term impact on costs

• Blocks transition to cloud

• Causes significant issues with future migration and upgrade

Site Templates

• Poor site collection creation story

• Negative impact on upgrades

• Causes additional maintenance costs with evergreen

• Not with publishing features

Web Templates

• Poor site collection creation story

• Causes maintenance costs with evergreen

SP Server side provisioning

• Provision oob sites, but modify them based on user selection and requirements

• Standardization of site creation in code

• No Office365

Remote provisioning

• CSOM supports creation of site collections only in Office365

• Standardization of site creation in code

• Can be done from any external system

Options

Options available

Cost impact (short and long term)

Support in cloud

Poor Fair Average Good Excellent

Copyright© 2012 Microsoft Corporation

Provider Hosted Apps

Assets and configuration• Branding Images• Master Pages• Page Layouts• Other settings

Remote Timer job

SharePoint Farm

CSOM/REST

CSOM/REST

1

2

3

45

Copyright© 2012 Microsoft Corporation

Assets and configuration• Branding Images• Master Pages• Page Layouts• Other settings

Remote Timer job

Initial provisioning based on the out of the box site. Usually either team site or publishing site.Assets are uploaded from the provisioning engine using CSOM/REST

Apply the needed changes (configurations etc.) on top of the out of the box site based on the user selection.This is the specialization part, but since we start from oob site, we always get the latest improvements to it as a base line.

12

3

3

3

Copyright© 2012 Microsoft Corporation

IT’S DEMO TIME!

Copyright© 2012 Microsoft Corporation

Assets and configuration• Branding Images• Master Pages• Page Layouts• Other settings

Remote Timer job

Initial provisioning based on the out of the box site. Usually either team site or publishing site.Assets are uploaded from the provisioning engine using CSOM/REST

Apply the needed changes (configurations etc.) on top of the out of the box site based on the user selection.This is the specialization part, but since we start from oob site, we always get the latest improvements to it as a base line.

12

3

3

3

Copyright© 2012 Microsoft Corporation

Copyright© 2012 Microsoft Corporation

SharePoint Farm

Provider Hosted Apps

Assets

1

3

2

CSOM

• Upload CSS• Set JS Injection for CSS

to be executed in page process

Copyright© 2012 Microsoft Corporation

Copyright© 2012 Microsoft Corporation

SPCSPFont files describe the font scheme

Specify New Page Layout

Select New Master Page

Specify New Background Image

olor files describe the color palette

SP Color

Copyright© 2012 Microsoft Corporation

Theme • Custom Master Page• Can introduce any level of customizations

• When new changes are introduced to the out of the box master, those should be copied to custom master pages as well

• Additional maintenance burden

• Future major version upgrades will cause additional requirements to re-create the end user experience

Copyright© 2012 Microsoft Corporation

SharePoint Farm

Provider Hosted Apps

Theme elements

1

3

2

CSOM

• Upload needed files• Set theme to site• (Set master page to

site) • Color file• Font file• Background image• (Master page)

Copyright© 2012 Microsoft Corporation

SharePoint Farm

Modify oob site definition provisioning model

15\Template\Features\[StapledFeature]\

<xml>feature.xml

<xml>

2

15\Template\Features\[StaplerFeature]

<xml>element.xml

3

1

4

Copyright© 2012 Microsoft Corporation

https://*.contosoapps.com

https://intranet.contoso.com/sites/groupx

Root

News Organization Teams Search AppWeb

Root

Sub site AppWeb

1

2 2

3

4

4https://intranet.contoso.com/sites/team

Copyright© 2012 Microsoft Corporation

Root

Sub site

1

Root

AppWeb AppWebhttps://intranet.contoso.com/sites/t

eam

https://intranet.contoso.com/sites/catalog

Root

News Organization Teams Search

https://intranet.contoso.com /sites/orgZ

https://*.contosoapps.com

4

4

23

Copyright© 2012 Microsoft Corporation

Centrally deployed • Side loading• Supports adding app parts and app

custom actions to host web

• Requires specific feature to be enabled from host web for app installation

• No centralized control to add or remove the app

• No UI to deploy the app cross sites

• Application install/uninstall events do fire when deployed to sites

Copyright© 2012 Microsoft Corporation

https://github.com/OfficeDev/PnP/wiki

http://blogs.msdn.com/b/vesku/archive/2014/09/03/office-365-developer-patterns-and-practices-introduction-to-the-program.aspx

http://dev.office.com/sample-code

Don KirkhamSenior Engineer / Microsoft [email protected]@DonKirkham

Christopher WebbSenior Engineer / Microsoft SolutionsMCSM: [email protected]@chriswebb18

Copyright© 2012 Microsoft Corporation

http://blogs.msdn.com/b/kaevans/archive/2014/04/02/deploying-a-sharepoint-app-to-azure-as-part-of-a-build.aspx

http://blogs.msdn.com/b/kaevans/archive/2014/03/04/building-sharepoint-2013-apps-with-windows-azure-paas.aspx

http://blogs.msdn.com/b/kaevans/archive/2014/02/24/creating-a-sharepoint-2013-app-with-azure-web-sites.aspx

http://blogs.msdn.com/b/steve_fox/archive/2013/02/18/building-your-first-provider-hosted-app-for-sharepoint-using-windows-azure-part-1.aspx

http://blogs.msdn.com/b/kaevans/archive/2014/09/28/making-sharepoint-apps-scale-with-azure-redis-cache.aspx

Copyright© 2012 Microsoft Corporation

http://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-get-started/

http://blogs.msdn.com/b/richard_dizeregas_blog/archive/2014/04/07/sharepoint-timer-jobs-running-as-windows-azure-web-jobs.aspx

http://blogs.msdn.com/b/kaevans/archive/2014/03/02/building-a-sharepoint-app-as-a-timer-job.aspx