Introduction to SharePoint as a development platform

Preview:

Citation preview

apps for the modern enterprise

INTRODUCTION TO SHAREPOINT AS A DEVELOPMENT PLATFORMRON COURVILLE

apps for the modern enterprise

Welcome to SharePoint Saturday Houston

•Please turn off all electronic devices or set them to vibrate.

•If you must take a phone call, please do so in the hall so as not to disturb others.

•Special thanks to our Diamond Sponsor, HSPUG

Thank you for being a part of the 7th Annual SharePoint Saturday

for the greater Houston area!

apps for the modern enterprise

Thanks to all our Sponsors!

apps for the modern enterprise

Information•Speaker presentation slides should be available from the SPSHOU website within a week or so•This presentation is available at http://slideshare.net/ronaldcourville

•The Houston SharePoint User Group will be having it’s next meeting Wednesday April 20th. Please join us at www.h-spug.org

apps for the modern enterprise

A software team that speaks your language

apps for the modern enterprise

About Me

•LSU alumnus•Working with custom SharePoint development since 2009

•With Entrance Consulting since 2012

apps for the modern enterprise

… !?

“So, what do you do?”

apps for the modern enterprise

Software platform

“A major piece of software, as an operating system, an operating environment, or a database, under which various smaller application programs can be designed to run.”

http://www.dictionary.com/browse/software-platform

apps for the modern enterprise

What is SharePoint? (technically)

•An application?• “Intranet to go”• Core features

Document / Item Versioning Basic workflowsMetadata SitesWikis SearchCollaboration Permissions

apps for the modern enterprise

What is SharePoint? (technically)•An application?•A framework?• Provides functionalities / solution to the particular

problem area• No code solutions (OOTB)

• SharePoint Designer workflows• Content Deployment

• Custom code solutions• APIs• Code libraries

• Higher business value: Custom software can be delivered with…Less time to delivery More consistent user experienceLess bugs More bang for the buck

apps for the modern enterprise

Why have custom development?

Why• The SharePoint application

lacks specific functionality• Automate or assist typical

user functions within SharePoint

• Integrate metadata from other LOB systems into SharePoint

• Surface external applications on SharePoint for a better user experience

Why not• It’s fun / cool • There’s a viable ISV on the

market • It’s a large project (large

scale applications should not be built directly on SharePoint)• SP lists < SQL tables• 5000 list item query threshold

• More costly, could introduce additional bugs

apps for the modern enterprise

SharePoint 2007 server side code•Server side languages• PHP, ASP.Net, Java

•SharePoint is built on ASP.Net

apps for the modern enterprise

SharePoint 2007 server side code

•Application Page = custom ASP.Net page

apps for the modern enterprise

Packaging and deploying custom code

Solution Package• Deploys to IIS application pool

• Dangerous• Memory leaks• Could crash server

• Difficult deployment (server restart)• Not supported in Office 365

apps for the modern enterprise

SharePoint 2010 server side code• Solution package Farm solutions• Elevated access: Timer jobs, event receivers, site definitions,

custom content organizer rules, etc.• Deployable by farm admin• Not supported in Office 365

• Sandbox solutions• Simple, limited scope functions: custom web parts, ribbon button,

menu items, site themes, etc.• Deployable by site collection admin• Deprecated in Office 365

apps for the modern enterprise

SharePoint 2010 custom code web parts

•Server side code•Or JavaScript-based• Primarily using web services (SOAP)• Easier to deploy• Protects the server

•SPServices• https://spservices.codeplex.com/

apps for the modern enterprise

SharePoint 2010: SPServices + Content Editor

apps for the modern enterprise

SharePoint 2013: Client code renaissance

JavaScript Object Model (JSOM)

• Runs in the browser• Language: JavaScript

Client Side Object Model (CSOM)

• Runs on local machine• Languages: C# or

Visual Basic

Representational State Transfer

(REST)• Highly standardized API• Upgraded from SOAP

API in 2010

Enabled SharePoint Apps…

apps for the modern enterprise

• Deployable from the app store• On prem and O365• Delivers functionality and/or

UI to the host SP site

Types of add-ins• SharePoint hosted add-in

• Lives on SharePoint• Provider hosted add-in

• Lives on external, independent website

• Webpage surfaced as an iframe

SharePoint 2013: Apps Add-ins

apps for the modern enterprise

Why host custom code outside of SharePoint?Farm not at risk of memory leaks or unstable code

• Degrade performance; difficult to track, and can take down the whole farm

Dedicated and isolated app resources• Separation of concerns

Complete control over architecture• Supports any programming language or data source

Support large scale applications• > 5000 rows and faster read/write access

Can re-use outside of SharePoint• App data readily accessible by other LOB

apps for the modern enterprise

Example add-in

apps for the modern enterprise

Example add-in

apps for the modern enterprise

Add-ins summary

Versioning Basic workflowsMetadata SitesWikis SearchCollaboration Permissions

Custom Architectu

re

Access core

SharePoint functionali

ty

Guaranteed stable

environment

apps for the modern enterprise

What is SharePoint? (technically)•An application?•A framework? •A platform?

“A major piece of software, as an operating system, an operating environment, or a database, under which various smaller application programs can be designed to run.”

“An ecosystem of applications”

apps for the modern enterprise

What’s next?

Office 365 as a platform

apps for the modern enterprise

What’s next?

apps for the modern enterprise

What’s next?

apps for the modern enterprise

How to get started?

Learning resources• Pluralsight• MSDN• Dev.Office.com• Office 365 Patterns and PracticesStart simple, with low impact project

apps for the modern enterprise

Questions?Learn more at www.entranceconsulting.com

Recommended