Best Practices For Developing on SharePoint Shared

SharePoint Services logo h As ISVs, you may want to extend your application into your customer SharePoint sites. The patterns & practices team has put together guidance to assist you  building collaborative applications that extend your line-of-business (LOB) systems. The recently published guidance.

This guidance will help architects and developers design and build applications that are both flexible and scaleable. It shows you how to provide IT Pros with the information they need to maintain those applications and diagnose problems when they arise.

There are two reference implementations that illustrate how to solve many of the common challenges you encounter. One reference implementation addresses basic issues such as creating lists and content types. The other addresses more advanced problems such as how to integrate line of business services, how to create collaboration sites programmatically, and how to customize aspects of publishing and navigation.

A library of reusable components helps you adopt techniques used in the reference implementations.

The guidance discusses approaches for testing SharePoint applications, such as how to create unit tests, and documents experiences with stress and scale testing one of the reference implementations.

See Developing SharePoint Applications. The guidance includes sample code files on Codeplex, videos on Channel 9, and QuickStarts.

Guidance for Common Development Scenarios

The guidance can help you to address these common SharePoint development scenarios:

  • How to use application and design patterns to address common development challenges.
  • The design and use of the SharePoint Guidance Library components.
  • Architectural decisions that affect site topology and security.
  • How to design and implement SharePoint applications that are scalable, manageable, and configurable.
  • How to integrate SharePoint applications with Web services. This includes discussions about design tradeoffs and decisions about security.
  • How to incorporate SharePoint's publishing and content deployment capabilities into your applications.
  • Flexible approaches to navigation and branding, such as how to implement custom, cross-site-collection global navigation and custom site navigation
  • How to decide between design options, such as how to choose between a list and database.
  • How to design a SharePoint application for testability, how to create unit tests, and how to run continuous integration tests.
  • A discussion of how scale and stress tests were performed on the Partner Portal application.
  • How to set up different team build and testing environments.
  • How to manage the application life cycle through the development, test, deployment, and upgrade stages.
  • How to implement a team-based development environment.

Getting Started with Developing for SharePoint

Paul Andrew provides a list of resources, videos on his blog posting Getting Started with SharePoint Development.

SharePoint for Developers screencast series shows you how to use Visual Studio Extensions for Windows SharePoint Services (VSeWSS). The full screencast series is listed here

Also there’s some great new tools for building in SharePoint in Visual Studio 2010 on your Windows 7 computer without needing to build out a virtual server. See Sharepoint Development with Visual Studio 2010 on Channel 9. For a list of features in Visual Studio 2010, see Visual Studio 2010 Tools for SharePoint Announced at TechEd EMEA Developers 2008.

You can find out more about what’s coming in SharePoint at the upcoming SharePoint Conference 2009 October 2009 19 - 22 in Las Vegas, NV. For more information about the conference, see Build Skills, Knowledge at SharePoint Conference 2009.

Selected Office SharePoint Server developer exams are 15% to 25% off through the end of 2009 See Career Campaign: Certification Exam Offer for details.

Other Guidance Available from patterns & practices Team

Solution Development Fundamentals. Solution development fundamentals cover the cross-cutting aspects of solution development, such as security, caching, data access, validation, exception management, and so on. It also includes application architecture, development process, the software development life cycle (SDLC), and application life cycle guidance.

Client Development. Client development covers guidance for building the user experience portion of a solution. This includes guidance for building client-side applications, mobile device applications, Web applications, and rich internet applications (RIA).

Server Development guidance include the new SharePoint guidance plus:

Building Secure ASP.NET Applications

Improving Web Application Security: Threats and Countermeasures

Services Development.  Services development covers service-oriented architecture guidance and Web services. In the future, this section will include guidance on designing for cloud computing services.

Bruce D. KyleISV Architect Evangelist | Microsoft Corporation

cid:image010.png@01C9DEED.1FDB2200 cid:image011.png@01C9DEED.1FDB2200 cid:image012.gif@01C9DEED.1FDB2200 channel9

Technorati Tags: SharePoint,Best Practices,SDK