There are several methods to customize SharePoint. Developers have the option of creating new cloud applications for SharePoint or maintaining legacy full trust code. Coupled with the complexity many organizations have in terms of managing SharePoint customizations across Office 365 and on-premises implementations, developers and solution architects will need to understand how to adjust application lifecycle management (ALM) techniques to support and deploy quality solutions. This session will focus on the establishment of development, testing and deployment best practices for on-prem and cloud applications and solutions. We, too, will include concepts such as continuous integration, release management and automated testing.
6. 2003 – What is an Application?
SharePoint was not an Application Platform, except Web Parts
Investments were in MOSTLY portals and content
2007 – Everything is an Application!
Push to embrace SharePoint for LOB applications
Custom server side code
2010 – Choose the right Application
SharePoint and Developer Tools come together
Silverlight, CSOM and other new capabilities
Partially trusted code reduces impact and risk to farm
2013 – Redefine Application as App
Client side experience via HTML or iFrame
Leverage CSOM and REST APIs from Azure and other clients
Investments in App discovery and Management via SharePoint store
Deployments
2013 2010 2007
7.
8.
9. No custom code on the SharePoint server
Reduces the ramp time for building Apps
Leverage hosting platform features in new Apps
Isolation – Private vs. Public clouds
10.
11.
12.
13. Developer Site
Napa Office 365 Development
Tools
SharePoint-hosted App Autohosted App Provider-hosted App
Visual Studio
Office Developer Tools
SharePoint Client Components
18. On-PremisesFarm
(Integration/Systems testing environment)
Integration/Systems testing
site collection
Office 365 SharePoint Online
(Integration/Systems Testing site
collection)
Check in to Team Foundation Server
Deployment of compiled .app to
SharePoint target environment
Test execution
Visual Studio
Office Developer Tools
SharePoint Client Components
Features, Package,
manifest, etc.
Supporting files,
certificate(s), etc.
Pages, JavaScript,
libraries, etc.
SharePoint Continuous Integration Build
ProcessTemplate/Workflow
SharePoint Continuous Integration App
Deploy PowerShell Scripts(requires
SharePoint Online Management Shell
extensions)
Team Foundation Server or
Visual Studio Online
SharePoint App Build Definition
Coded UI/Build Verification Tests
SharePoint App Build Definition
19. On-PremisesFarm
(Integration/Systems testing environment)
Integration/Systems testing
site collection
Office 365 SharePoint Online
(Integration/Systems Testing site
collection)
Provider hosted infrastructure (Azure/
IaaS/on-premises web and data)
Check in to Team Foundation Server
Deployment of compiled .app to
SharePoint target environment
Approve application trust level
Deployment of cloud hosted
components to target
infrastructure
Test execution
Visual Studio
Office Developer Tools
SharePoint Client Components
Features, Package,
manifest, etc.
Supporting files,
certificate(s), etc.
Pages, JavaScript,
libraries, etc.
Provider/Auto
hosted Web Project
SharePoint App
Project
SharePoint Continuous Integration Build
ProcessTemplate/Workflow
SharePoint Continuous Integration App
Deploy PowerShell Scripts(requires
SharePoint Online Management Shell
extensions)
Team Foundation Server or
Visual Studio Online
SharePoint App Build Definition
Coded UI/Build Verification Tests
SharePoint App Build Definition
20.
21.
22.
23. On-Premises Farm
(Development Site
Site Collection)
Office 365 SharePoint Online
(Development Site
Site Collection)
SharePoint Development Environment
Napa Office 365 Development
Tools
Visual Studio
Office Developer Tools
SharePoint Client Components
Execute Tests
Provider hosted infrastructure (Azure/
IaaS/on-premisesweb and data)
Cloud-hosted Development Environment
Application Deployment
24. On-PremisesFarm
(Integration/Systems testing
environment)
Office 365 SharePoint Online
(Integration/Systems Testing site
collection)
SharePoint Integration/Systems testing environment
On-PremisesFarm
(UAT/QA testing environment)
Office 365 SharePoint Online
(UAT/QA Testing site collection)
Provider hosted infrastructure (Azure/
IaaS/on-premises web and data)
Cloud-hosted Testing Environment(s)
One Azure subscription with multiple services
deployed (integration/system and UAT/QA services)
SharePoint App Build
Definition
Execute Tests
Application Deployment
Release Manager
Test Scripts/Manual
Testing
Application Deployment
Team Foundation Server or
Visual Studio Online
25.
26. Evergreen and release cycle – Old model
SP2013 O16 O17 O18
Tightly coupled
SharePoint customizations
Upgrade Upgrade Upgrade Upgrade
Specific upgrade project each time new version is introduced
Customizations have to be upgraded to get access on new capabilities in product
Will cause additional costs during each release cycle of customizations
Customization updates cause downtime each time something is changed
ComplexALM processes for ensuring quality of the code
27. Evergreen and release cycle – NEW model
SP2013
Loosly coupled
SharePoint customizations
O16 O17 O18
Development
You choose when and how applications are updated...
Backwards compatibility forAPI level to move customizations cross versions
Customizations don’t block new capabilities from SharePoint
Customizations extend, not change SharePoint
Customizations can be updated with minimal impact on SharePoint
Customizations will utilize services from
SharePoint and other services, but won’t
usually change out of the box services.