Jamie McAllister - Design Solutions for a SharePoint landscape in

Design Solutions for a SharePoint in Flux
Agenda
© 2014 Jamie McAllister
My Perspective Comes From…
© 2014 Jamie McAllister
SharePoint History
History of SharePoint Dev
© 2014 Jamie McAllister
History of SharePoint Dev
© 2014 Jamie McAllister
History of SharePoint Dev
© 2014 Jamie McAllister
What do we have so far?
© 2014 Jamie McAllister
SharePoint Dev Crimes – MS List
© 2014 Jamie McAllister
Cloud’s Long March
Parallel Developments in Cloud
© 2014 Jamie McAllister
Enter SP2013
Enter SP 2013
© 2014 Jamie McAllister
Enter SP 2013
From http://msdn.microsoft.com/en-us/library/jj164060.aspx
Enter SP 2013
© 2014 Jamie McAllister
Enter SP 2013
© 2014 Jamie McAllister
Enter Workflow Manager 1.0
© 2014 Jamie McAllister
On Premises
© 2014 Jamie McAllister
App Model
• An App is a self-contained functional
application complete with user experience,
data storage and business logic
• Apps give us the ability to apportion
responsibility to different services or providers
using a services based approach.
• With the new App Model, SharePoint 2013 can
be highly decoupled from extended
functionality which may be hosted on entirely
different infrastructure
© 2014 Jamie McAllister
App Model
© 2014 Jamie McAllister
SharePoint Hosted Apps
© 2014 Jamie McAllister
Provider Hosted Apps
© 2014 Jamie McAllister
Auto Hosted Apps
© 2014 Jamie McAllister
App shapes
© 2014 Jamie McAllister
App shapes
© 2014 Jamie McAllister
App shapes
© 2014 Jamie McAllister
App Model - High Trust
© 2014 Jamie McAllister
App Model – Low Trust
© 2014 Jamie McAllister
Apps Can…
© 2014 Jamie McAllister
SSOM Should still…
© 2014 Jamie McAllister
The Future?
SP 2015 Intent
© 2014 Jamie McAllister
Developers
Search
Sites
Insights
Content
Credit to Darren Marsden
Now what do we have?
State of flux!
© 2014 Jamie McAllister
Key Takeaway
© 2014 Jamie McAllister
Enterprise Considerations
Viewed From The Top
© 2014 Jamie McAllister
Enterprise Javascript
© 2014 Jamie McAllister
Enterprise App Patterns
© 2014 Jamie McAllister
Enterprise Services Architecture
© 2014 Jamie McAllister
Key Takeaway
© 2014 Jamie McAllister
Developer Specifics
Old Toolkit
© 2014 Jamie McAllister
New Toolkit
© 2014 Jamie McAllister
My Legacy SharePoint Cheat Sheet
© 2014 Jamie McAllister
Examples – Web Parts
Other App
SP Page
© 2014 Jamie McAllister
Examples – Timer Jobs
© 2014 Jamie McAllister
Examples – Timer Jobs
© 2014 Jamie McAllister
Aside – CSOM/REST Trade Offs
© 2014 Jamie McAllister
Aside – CSOM/REST Trade Offs
© 2014 Jamie McAllister
Aside – CSOM/REST Trade Offs
© 2014 Jamie McAllister
Use Adapter Pattern
Examples – Application Pages
© 2014 Jamie McAllister
Examples – Branding
© 2014 Jamie McAllister
Examples – WF
© 2014 Jamie McAllister
Examples – Event Receivers
© 2014 Jamie McAllister
Examples – Full Trust Proxy
SharePoint
Your
Solution
Your
Proxy
© 2014 Jamie McAllister
Examples - Data
© 2014 Jamie McAllister
Examples – Issues
© 2014 Jamie McAllister
Examples – Benefits
© 2014 Jamie McAllister
Take Aways
© 2014 Jamie McAllister
Overall Wrap Up
© 2014 Jamie McAllister
Useful Links
http://msdn.microsoft.com/en-us/library/office/fp179887.aspx
http://msdn.microsoft.com/en-us/library/office/jj163114.aspx
http://msdn.microsoft.com/en-us/library/office/jj220048.aspx
http://www.andrewconnell.com/blog/sharepoint-2013-csom-vs.-rest-...-mypreference-and-why
© 2014 Jamie McAllister
Useful Links
http://msdn.microsoft.com/enus/library/ee857094(v=office.14).aspx#SP2010ClientOM_Asynchronous_Processing
http://msdn.microsoft.com/en-us/office/dn448480
http://code.msdn.microsoft.com/office/SharePoint-2013-Add-list-2c6e71e0
http://www.shillier.com/archive/2013/05/02/migrating-sharepoint-2010-solutionsto-sharepoint-2013-apps.aspx
© 2014 Jamie McAllister
Useful Links
http://msdn.microsoft.com/en-us/library/jj860569.aspx
http://msdn.microsoft.com/en-us/library/jj164022.aspx
http://msdn.microsoft.com/en-us/library/jj164060.aspx
http://csharperimage.jeremylikness.com/2010/04/mo
del-view-viewmodel-mvvm-explained.html
© 2014 Jamie McAllister
Useful Links
http://blog.codinghorror.com/understanding-model-view-controller/
http://msdn.microsoft.com/en-us/library/office/dn268593.aspx#Branding
http://msdn.microsoft.com/en-us/library/office/fp179922.aspx#Upgrade
http://msdn.microsoft.com/en-us/library/office/fp179887.aspx
http://weblogs.asp.net/dwahlin/archive/2011/08/02/techniquesstrategies-and-patterns-for-structuring-javascript-code-revealing-modulepattern.aspx
© 2014 Jamie McAllister
THANK YOU
CSOM Capabilities in SP 2013
© 2014 Jamie McAllister
REST Capabilities in SP 2013
© 2014 Jamie McAllister