host webapp web remote web sharepoint hostedauto hostedprovider hosted js/html/cssjs/html/css/.net...
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: [email protected]
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!