host webapp web remote web sharepoint hostedauto hostedprovider hosted js/html/cssjs/html/css/.net...

Post on 10-Dec-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Leveraging SaaS Applications using the SharePoint App ModelBrian Prigge

Thanks to our sponsors! And you.

Images © 2013 http://www.flickr.com/photos/boliyou/2884130773/

About Brian

• SharePoint Architect @ RAMP (@rampinc)

• Blog: brianprigge.com• Twitter: @brprigge• LinkedIn:

http://www.linkedin.com/in/brianprigge• Email: bprigge@ramp.com

Agenda

• App Model Overview• App Design• Pedal to the Metal• Speed Bumps• Alternative Implementations

App Model Overview

App Model Entities

Host Web

App WebRemote Web

SharePoint Love Triangle

App Types• SharePoint Hosted• Auto Hosted• Provider Hosted

SharePoint Hosted Paradigm

Host Web App Web

Provider/Auto Hosted ParadigmHost Web App Web

Remote Web

App Design

App Type

SharePointHosted Auto Hosted Provider Hosted

JS/HTML/CSS JS/HTML/CSS/.Net

JS/HTML/CSS/.Net

No Asynchronous

Asynchronous Difficult

Easy Asynchronous

Yes On-Prem

No On-Prem

On-Prem with Slight

Modifications

StorageHostWeb AppWeb Remote Web

Near Complete Control withinSharePoint

Complete Control within SharePoint

Complete Control

Automatic Authorization Automatic Authorization No Automatic Authorization

Easily Orphaned No Orphans Orphanable

Searchable Searchable NotSearchable

Multi-instance Single-instanceFully upgradable, but must support

backwardscompatibility

User ExperienceAppWeb Remote Web

Less Code Samples Abundant CodeSamples

Lots of UX pieces for “free” Complete Control of the UX

Bugs in certain functionality

“Features”

App Permissions• Full Control

• Disqualified from App Store• Permission Scopes

• Full Control Required

Pedal to the Metal

Desired Design• Provider Hosted App• Storage – App Web• UX – App Web• No Special Permissions

Provider/Auto Hosted ParadigmHost Web App Web

Remote Web

Context Management• Cross Domain• Cookies vs. Sessions• Pseudo-expired Cookie

Context Demo

Remote Web Service Layer• Context Management Problem• Same Origin Policy• Context Token Request• IFrame Custom Proxy• Reusable Instantiation

Custom Proxy Demo

Asynchronous Processing

Pushing Data Down• No Anonymous Pages• Anonymous = Unprotected• Alternative Authentication• DSA Signing• Service Bus Queue

Speed Bumps

Display Templates• No More XSLT!• Entirely HTML and JavaScript• Awkward Conversion

Display Templates Continued• Debug when deployed• Valid XML Schema Required for Conversion• Use Web Debugger to debug JavaScript• Be careful on property changes

Display Templates – Result Type

Display Templates – Result Type

Web Part Management• Context Management• Edit Mode• Hovering on Ribbon Styles• Saving Custom Properties

Alternative Implementations

SaaS Backwards• Utilize On-Prem data in Office 365• Provider Hosted Only• Remotely Accessible Web Servers

Standard Provider Hosted App

Host Web

App WebRemote Web

SaaS Backwards Provider Hosted App

Host Web

App Web

Remote Web

Fir

ew

all

Questions?

One final note• Fill out your evaluation form & turn for the

big raffle (tablet)• SharePint next door (American) 5:30pm• Don’t forget WaterFire downtown tonight!

top related