Design & MangageLarge-Scale
SharePoint Development
Steven M. FowlerSharePointPS.com@stevenmfowler
• 2 networks (SIPR/NIPR)• 8 Server Farm Configuration• 17 Server Farm Sites• 272 Servers!• 4000 sites per Farm• 30 custom web parts• Replication
Why have this session?
Session Objectives• Change your mindset!• Review key development principles• Explore key development practices• Get into the code!• Q&A
Traditional Development Mindset
User Interface
Business Object Layer
Data Access Layer
Data Store
Serv
ices
(log
ging
)
1) SharePoint is both a Product and a Platform
BusinessIntelligence
BusinessForms
SearchContentManagement
Collaboration
PortalPlatformServices
Site Columns
Content Types
List Templates
Site Templates
Site Definitions
Features
Event Receivers
Feature Receivers
Custom Controls Web Parts
Custom Actions
Master Pages Images
3rd Party Controls
Utility Libraries
Application Pages Page Layouts
List Instances
2) Extending SharePoint consists of many assists to design, develop, test, package, deploy, and manage…
Workflows
InfoPath Forms
Themes
Field Types
3) A new mantra…
Code
Content
4) Support “Old” and “New” business
Old New
Templates / DefinitionsProvisioned Sites
• Expect changes in your requirements• Expect bugs in your implementation• Provide early visibility to issues• Manage expectations
Use Agile SDLC – Why?
Multi Staged Environment
• Development • Unit testing
• Integration Testing• Regression Testing
• User Acceptance Testing
•Deployment Validation
Cod
e an
d C
onfig
urat
ions
Content
Old Business
New Business
Site Definitions Super Feature Features
SP Solutions
VS Solutions
VS Projects
Feature Receivers
Business Solution Anatomy
Site Columns
Content Types
List Definition
Custom Controls
Web Parts
Tight or Loosely Coupled Bits?
• Generic Feature?• Strong Business Rules?List Instance
< We love code />
Questions?
Steven M. FowlerSharePointPS.com@stevenmfowler
< Please fill out the survey forms />