Koen vosters improving-yoursp_solutiondesign-spsbe13


Published on

SharePoint 2010 can be a complex beast. As a developer there is an extensive API that you have to master, lots of xml, code, files and configurations.
All of that needs to be deployed to your SharePoint farm in a proper way.
In the worst case scenario your deployment will be done by someone who hasn’t a clue about SharePoint development and would rather not have your solution on their farm as it will increase the risk of downtime. This session is about designing SharePoint solutions that will enable future solutions to be built besides or on top of it. Even if there are guidelines on the best practices to write SharePoint code, this specific topic will not be our main focus during the session.
It will give you a real life example of how combination of several projects done by multiple parties can be successfully deployed simultaneously. As a result of this approach we were able to build different public internet sites and put them into production at the exact same moment.
This session aims to create awareness that you, as a developer, are required to build a solution which will be deployed on a shared environment. Showing how these projects were designed and managed and what lessons we learned during the process will help you to reduce the risks of the deployments.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Koen vosters improving-yoursp_solutiondesign-spsbe13

  1. 1. Improving your SharePoint SolutionDesign – Experiences from the Field #spsbe13 Koen Vosters
  2. 2. Sponsors Venue Sponsor Platinum Sponsors Gold Premium Sponsors Gold Sponsors
  3. 3. About me• Consultant at Microsoft Services• 12 years of experience • Visual Basic • .net • SharePoint• Focus on Collaborative end-to-end solutions, coaching and QA for SharePoint customization projects• Blog: http://blogs.msdn.com/b/kvosters• Twitter: @koenvosters
  4. 4. Agenda• Situation• Architecture• Building the solution structure• Deploying Solutions• Upgrading Solutions• Q/A
  5. 5. Situation (do we know the situation) WHY? WHAT? WHO? WHEN? WHERE? HOW?Creating a solution design without knowing the current and future situation is only useful to get to know the current and the future situation
  6. 6. Situation (Project Organization)• 1 customer / multiple worldwide divisions• Multiple simultaneous customization projects (+- 20) • Deployed on prem and in the cloud • Company wide and division specific content/customizations• Provide services to • Internal users • External users • Anonymous users• Part of a larger Program• International team of partners (Europe)• Outsourcing to India
  7. 7. Key Points of the Design• Reusable Platform – SharePoint Architecture• Reusable Customizations (Solutions, UI Components...)• Easy to deploy, taking into account the different ownerships• Performance• Take into consideration • Business • IT • Governance • Customization / Maintenance
  8. 8. Architecture – Reusable Platform 3DMZ 12Corporate Extranets – Prod 15 2 On Premises Internet – Prod A Internet – Prod B Extranets – Prod On Premises On Premises Extranets – Prod On Premises 13 Internet 2 – Prod A On Premises Internet 2 – Prod B On Premises14 On Premises TFS Intranet – Production Intranet – Pre-Prod Cloud Cloud 10 1 Daily build 11 9 4 MSOCAF Intranet – Prod Intranet – QA 5 FIM / RMS On Premises On Premises 6 8 Integration testing 7
  9. 9. Solutions – Reusable Solutions and UIElements
  10. 10. Performance• Performance testing using Visual Studio Load Testing• Impact on design • Third Party Solutions • Long Running Processes (IIS Timeout)
  11. 11. Tools• Visual Studio 2010• Team Foundation Server 2010• Community Kit for SharePoint• SPDisposeChecker• MSOCAF• Lync
  12. 12. Demo Building the Visual Studio Solution Tools
  13. 13. Deploying Solutions• PowerShell scripts• Installation Guidance• Site Creation Scripts• Feature Activation Scripts• Don’t forget your mobile users• KNOW YOUR ARCHITECTURE!• Not only SharePoint! • AD • UAG • FIM
  14. 14. Rolling Release (High Availability) http://www.contoso.com Routed to servers A & B C&D Production QA QA Production Server A Server C Server B Server D Server E & F Server G & HRouting to servers managed using http://internetscripted DNS updates Routed to servers G & F E &H
  15. 15. Did you get it?• New Solution • Webparts • Termsets • Publishing Pages• Entering the switch for first time• Preparing Content Databases on QA before switch (2 weeks)• Will this work?
  16. 16. Upgrading Solutions• Granular approach• Different versions on different sites• Provisioning list instances in an upgrade• Upgrading solutions for Sandbox Solutions is different
  17. 17. Demo Upgrading Solutions
  18. 18. Conclusion• Architecture and application design ALWAYS start with the business needs• Make sure you know why you are building a solution and how it can be considered a success, technology is the enabler, not the goal• Solutions are more than just a file in Visual Studio • Which architecture do we provide • Which solution structure do we use • What deployment strategy do we use • Which dependencies do we need to sort
  19. 19. References• Deploying Solutions to SharePoint 2010 with PowerShell • http://msdn.microsoft.com/en-us/library/aa544500.aspx• Upgrading Solutions • http://msdn.microsoft.com/en-us/library/aa543659.aspx • http://msdn.microsoft.com/en-us/library/ee537575.aspx• Switch Architecture and How-To • http://technet.microsoft.com/en-us/library/hh495476.aspx
  20. 20. Questions?