SlideShare a Scribd company logo
1 of 29
apps for the modernenterprise
INTRODUCTION TO
SHAREPOINT AS A
DEVELOPMENT PLATFORM
RON COURVILLE
apps for the modernenterprise
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 modernenterprise
Thanks to all our Sponsors!
apps for the modernenterprise
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 modernenterprise
A software team that speaks your language
apps for the modernenterprise
About Me
•LSU alumnus
•Working with custom
SharePoint
development since
2009
•With Entrance
Consulting since 2012
apps for the modernenterprise
… !?
“So, what do you do?”
apps for the modernenterprise
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 modernenterprise
What is SharePoint? (technically)
•An application?
• “Intranet to go”
• Core features
Document / Item Versioning Basic workflows
Metadata Sites
Wikis Search
Collaboration Permissions
apps for the modernenterprise
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 experience
Less bugs More bang for the buck
apps for the modernenterprise
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 modernenterprise
SharePoint 2007 server side code
•Server side languages
• PHP, ASP.Net, Java
•SharePoint is built on ASP.Net
apps for the modernenterprise
SharePoint 2007 server side code
•Application Page = custom ASP.Net page
apps for the modernenterprise
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 modernenterprise
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 modernenterprise
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.codepl
ex.com/
apps for the modernenterprise
SharePoint 2010: SPServices + Content Editor
apps for the modernenterprise
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 modernenterprise
• 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 modernenterprise
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 modernenterprise
Example add-in
apps for the modernenterprise
Example add-in
apps for the modernenterprise
Add-ins summary
Versioning Basic workflows
Metadata Sites
Wikis Search
Collaboration Permissions
Custom
Architecture
Access core
SharePoint
functionality
Guaranteed
stable
environment
apps for the modernenterprise
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 modernenterprise
What’s next?
Office 365 as a platform
apps for the modernenterprise
What’s next?
apps for the modernenterprise
What’s next?
apps for the modernenterprise
How to get started?
Learning resources
• Pluralsight
• MSDN
• Dev.Office.com
• Office 365 Patterns and Practices
Start simple, with low impact project
apps for the modernenterprise
Questions?
Learn more at www.entranceconsulting.com

More Related Content

What's hot

iOS Remote Notifications
iOS Remote NotificationsiOS Remote Notifications
iOS Remote NotificationsLeeHericks
 
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich ApplicationsIntroducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich ApplicationsRyan McIntyre
 
OpenERP Touchscreen Point of Sale
OpenERP Touchscreen Point of SaleOpenERP Touchscreen Point of Sale
OpenERP Touchscreen Point of SaleOdoo
 
"Ask Me Anything" About Automating Workflows
"Ask Me Anything" About Automating Workflows"Ask Me Anything" About Automating Workflows
"Ask Me Anything" About Automating WorkflowsSafe Software
 
Frappé / ERPNext Open Day February 2016
Frappé / ERPNext Open Day February 2016Frappé / ERPNext Open Day February 2016
Frappé / ERPNext Open Day February 2016Anand Doshi
 
Salesforce Certifications:Explained
Salesforce Certifications:ExplainedSalesforce Certifications:Explained
Salesforce Certifications:ExplainedAtul Gupta(8X)
 

What's hot (7)

New Office Web Apps story
New Office Web Apps storyNew Office Web Apps story
New Office Web Apps story
 
iOS Remote Notifications
iOS Remote NotificationsiOS Remote Notifications
iOS Remote Notifications
 
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich ApplicationsIntroducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
 
OpenERP Touchscreen Point of Sale
OpenERP Touchscreen Point of SaleOpenERP Touchscreen Point of Sale
OpenERP Touchscreen Point of Sale
 
"Ask Me Anything" About Automating Workflows
"Ask Me Anything" About Automating Workflows"Ask Me Anything" About Automating Workflows
"Ask Me Anything" About Automating Workflows
 
Frappé / ERPNext Open Day February 2016
Frappé / ERPNext Open Day February 2016Frappé / ERPNext Open Day February 2016
Frappé / ERPNext Open Day February 2016
 
Salesforce Certifications:Explained
Salesforce Certifications:ExplainedSalesforce Certifications:Explained
Salesforce Certifications:Explained
 

Viewers also liked

Cloud computing ravi namboori
Cloud computing ravi nambooriCloud computing ravi namboori
Cloud computing ravi nambooriravi namboori
 
Presentation1 forensi serology
Presentation1 forensi serologyPresentation1 forensi serology
Presentation1 forensi serologyDrahcir Codnubac
 
Cityzen ap idays_06_2014
Cityzen ap idays_06_2014Cityzen ap idays_06_2014
Cityzen ap idays_06_2014Vincent Ethier
 
Dying to be thin eating disorders overview
Dying to be thin eating disorders overviewDying to be thin eating disorders overview
Dying to be thin eating disorders overviewAmr Kamal Elmenyawi
 
Presentation1 ppt emma
Presentation1 ppt emmaPresentation1 ppt emma
Presentation1 ppt emmaJkoamoah
 
Ravi namboori Devops Presentation
Ravi namboori Devops PresentationRavi namboori Devops Presentation
Ravi namboori Devops Presentationravi namboori
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformRonald Courville
 
Criminologypowerpointone 2008-090519124504-phpapp01
Criminologypowerpointone 2008-090519124504-phpapp01Criminologypowerpointone 2008-090519124504-phpapp01
Criminologypowerpointone 2008-090519124504-phpapp01Drahcir Codnubac
 
Ravi Namboori Software Defined Network Presentation
Ravi Namboori Software Defined Network PresentationRavi Namboori Software Defined Network Presentation
Ravi Namboori Software Defined Network Presentationravi namboori
 
Historical Methods of ESL
Historical Methods of ESLHistorical Methods of ESL
Historical Methods of ESLBrettDavid
 

Viewers also liked (13)

Cloud computing ravi namboori
Cloud computing ravi nambooriCloud computing ravi namboori
Cloud computing ravi namboori
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
 
Presentation1 forensi serology
Presentation1 forensi serologyPresentation1 forensi serology
Presentation1 forensi serology
 
Cityzen ap idays_06_2014
Cityzen ap idays_06_2014Cityzen ap idays_06_2014
Cityzen ap idays_06_2014
 
About sandiganbayan
About sandiganbayanAbout sandiganbayan
About sandiganbayan
 
Modul_new
Modul_newModul_new
Modul_new
 
Dying to be thin eating disorders overview
Dying to be thin eating disorders overviewDying to be thin eating disorders overview
Dying to be thin eating disorders overview
 
Presentation1 ppt emma
Presentation1 ppt emmaPresentation1 ppt emma
Presentation1 ppt emma
 
Ravi namboori Devops Presentation
Ravi namboori Devops PresentationRavi namboori Devops Presentation
Ravi namboori Devops Presentation
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development Platform
 
Criminologypowerpointone 2008-090519124504-phpapp01
Criminologypowerpointone 2008-090519124504-phpapp01Criminologypowerpointone 2008-090519124504-phpapp01
Criminologypowerpointone 2008-090519124504-phpapp01
 
Ravi Namboori Software Defined Network Presentation
Ravi Namboori Software Defined Network PresentationRavi Namboori Software Defined Network Presentation
Ravi Namboori Software Defined Network Presentation
 
Historical Methods of ESL
Historical Methods of ESLHistorical Methods of ESL
Historical Methods of ESL
 

Similar to Introduction to SharePoint as a development platform

#SPSNYC14 translating sharepoint from beginning to ending
#SPSNYC14 translating sharepoint from beginning to ending#SPSNYC14 translating sharepoint from beginning to ending
#SPSNYC14 translating sharepoint from beginning to endingVincent Biret
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint FrameworkVincent Biret
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfxVincent Biret
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Talbott Crowell
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...SPTechCon
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Giuseppe Marchi
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stackVincent Biret
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017Marc D Anderson
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionNCCOMMS
 
WEBINAR PROFENAA NEYVEI (1).pptx
WEBINAR PROFENAA NEYVEI (1).pptxWEBINAR PROFENAA NEYVEI (1).pptx
WEBINAR PROFENAA NEYVEI (1).pptxssuserd83455
 
#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?Vincent Biret
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentEric Overfield
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSébastien Levert
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
Gokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentials
Gokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentialsGokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentials
Gokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentialsSharePoint Saturday Warsaw
 

Similar to Introduction to SharePoint as a development platform (20)

#SPSNYC14 translating sharepoint from beginning to ending
#SPSNYC14 translating sharepoint from beginning to ending#SPSNYC14 translating sharepoint from beginning to ending
#SPSNYC14 translating sharepoint from beginning to ending
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
 
Anatomy of a mail app
Anatomy of a mail appAnatomy of a mail app
Anatomy of a mail app
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
 
SharePoint 2013 Apps Introduction
SharePoint 2013 Apps IntroductionSharePoint 2013 Apps Introduction
SharePoint 2013 Apps Introduction
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Sharepoint 2013 App
Sharepoint 2013 AppSharepoint 2013 App
Sharepoint 2013 App
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in action
 
WEBINAR PROFENAA NEYVEI (1).pptx
WEBINAR PROFENAA NEYVEI (1).pptxWEBINAR PROFENAA NEYVEI (1).pptx
WEBINAR PROFENAA NEYVEI (1).pptx
 
#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
 
Gokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentials
Gokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentialsGokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentials
Gokan Ozcifci: The Office 365 and Hybrid SharePoint Deployments bare essentials
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Introduction to SharePoint as a development platform

  • 1. apps for the modernenterprise INTRODUCTION TO SHAREPOINT AS A DEVELOPMENT PLATFORM RON COURVILLE
  • 2. apps for the modernenterprise 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!
  • 3. apps for the modernenterprise Thanks to all our Sponsors!
  • 4. apps for the modernenterprise 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
  • 5. apps for the modernenterprise A software team that speaks your language
  • 6. apps for the modernenterprise About Me •LSU alumnus •Working with custom SharePoint development since 2009 •With Entrance Consulting since 2012
  • 7. apps for the modernenterprise … !? “So, what do you do?”
  • 8. apps for the modernenterprise 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
  • 9. apps for the modernenterprise What is SharePoint? (technically) •An application? • “Intranet to go” • Core features Document / Item Versioning Basic workflows Metadata Sites Wikis Search Collaboration Permissions
  • 10. apps for the modernenterprise 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 experience Less bugs More bang for the buck
  • 11. apps for the modernenterprise 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
  • 12. apps for the modernenterprise SharePoint 2007 server side code •Server side languages • PHP, ASP.Net, Java •SharePoint is built on ASP.Net
  • 13. apps for the modernenterprise SharePoint 2007 server side code •Application Page = custom ASP.Net page
  • 14. apps for the modernenterprise 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
  • 15. apps for the modernenterprise 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
  • 16. apps for the modernenterprise 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.codepl ex.com/
  • 17. apps for the modernenterprise SharePoint 2010: SPServices + Content Editor
  • 18. apps for the modernenterprise 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…
  • 19. apps for the modernenterprise • 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
  • 20. apps for the modernenterprise 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
  • 21. apps for the modernenterprise Example add-in
  • 22. apps for the modernenterprise Example add-in
  • 23. apps for the modernenterprise Add-ins summary Versioning Basic workflows Metadata Sites Wikis Search Collaboration Permissions Custom Architecture Access core SharePoint functionality Guaranteed stable environment
  • 24. apps for the modernenterprise 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”
  • 25. apps for the modernenterprise What’s next? Office 365 as a platform
  • 26. apps for the modernenterprise What’s next?
  • 27. apps for the modernenterprise What’s next?
  • 28. apps for the modernenterprise How to get started? Learning resources • Pluralsight • MSDN • Dev.Office.com • Office 365 Patterns and Practices Start simple, with low impact project
  • 29. apps for the modernenterprise Questions? Learn more at www.entranceconsulting.com

Editor's Notes

  1. Feel free to interrupt me with questions. If I don’t know the answer, someone else will.
  2. Sometimes all of that is not good enough Sometimes we need to extend SharePoint
  3. SP provides hidden value with a toolset under the hood Custom code using Microsoft libraries and APIs – 50 lines of code become one line of code
  4. Research or consult with a SP expert to be sure that functionality not present
  5. Server maintains session data: user account information, quantity of item, details of the item
  6. Server maintains session data: user account information, quantity of item, details of the item
  7. ** In 2007 and 2010: SharePoint as a framework; custom applications built on top of SharePoint
  8. Talk about a real world application. My very first SP development project
  9. Client = User’s machine or browser Session data, processing Even safer, easier to deploy
  10. App store – public or private
  11. Mission critical applications can use SQL or Oracle or even NoSQL Use PHP or Node.js Suppose we created a method for querying timesheet records
  12. Walled garden
  13. Microsoft is releasing control of the environment, and allowing more flexibility
  14. Add ins appear in multiple Office products with consistent experience Can pull data from different products – Unified API - Graph Examples: send an email from SharePoint ribbon button with an attachment stored in OneDrive, linking to a newly generated notebook in OneNote
  15. Bitly?