Freigeben über


Patterns and Practices: Developing SharePoint Applications

The Patterns and Practices team has just “finished” Developing SharePoint Applications. I’m sure they’ll add more to it, and it’ll be a growing document, but it’s become a polished and well-rounded set of guidance.  You can find more at

www.microsoft.com/spg

<www.codeplex.com/spg>

and you can download the document here

I’m glad that it includes advice on testing, building, and designing the SharePoint applications. With some of the capabilities coming in VSTS 2010, I’m sure some of the advice will be revised. For the time being, we have see Using Continuous Integration, How to: Create an Automated Build and Deployment Solution with Team Foundation Server Team Build and Team-Based Development in Microsoft Office SharePoint Server 2007 on MSDN.

Kirk Evans also put together a number of videos and SharePoint resources, and they’re listed under his “Water Cooler” tag.

If you want some more information about the P&P guidance, I’ve attached some summary information below:

Customer Value

SharePoint provides a comprehensive platform for application development combined with extensible customer ready applications. However, using the full breadth of these capabilities takes experience and know how. patterns & practices Developing SharePoint Applications guidance helps customers accelerate constructing advanced applications through examples and documentation. The guidance compliments product documentation and helps architects and developers in the following areas:

· Use SharePoint capabilities to make more powerful applications

  • Integrate information from Line of Business Systems
  • Take advantage of publishing and content oriented capabilities
  • Create collaborative interactions around business processes
  • Design multi-site topologies with complex security and isolation needs, such as a partner extranet

· Build applications that are easier to scale, maintain, and grow

  • Improve maintainability, testability, and layering through patterns
  • Use techniques to improve flexibility, diagnostics, operations and performance
  • Show how to use SharePoint’s feature and solution framework

· Improve application quality through testing

  • Demonstrates unit testing and integration testing SharePoint applications
  • Describe experiences with acceptance testing SharePoint applications including stress and scale testing

· Improve and accelerate team productivity

  • Accelerate adoption of recommended practices with library components
  • Show how to build an effective team development environment
  • Understand fundamental design and implementation decisions

What’s in Developing SharePoint Applications?

clip_image002Developing SharePoint Applications guidance integrates new guidance with the original release, SharePoint Guidance – November 2008, into a single download.

The guidance contains the following components:

Component

Description

SharePoint Guidance Library

A set of reusable components that helps developers manage configuration, build repositories for SharePoint lists, log traces and events, and use service location.

Guide

The documentation includes a variety of topics, such as how to use design and application patterns, how to integrate LOB systems with SharePoint applications, building scalable applications, upgrading SharePoint applications, and using SharePoint capabilities to create, and deploy content. It also includes the design decisions made for the Partner Portal and Training Management applications and explanations of their implementations.

Contoso Partner Portal Reference Implementation

This SharePoint application shows how Contoso created an extranet where it can interact with its partners. Among the items demonstrated are techniques for building manageable and scalable enterprise applications, and how to incorporate publishing and page composition features, flexible navigation, collaboration sites, and LOB integration. It includes more advanced techniques than the Training Management reference implementation and requires Microsoft Office SharePoint Server 2007 with Service Pack 1 or Service Pack 2.

Contoso Training Management Reference Implementation

This SharePoint application illustrates how the Contoso Human Resources department manages its training course offerings. It shows how to solve many basic SharePoint challenges that you might encounter when you develop your own applications. Windows SharePoint Services 3.0 is required.

Click here to download this release.

Goals of This Release

This goal of patterns & practices Developing SharePoint Applications guidance is to help customers understand how to develop large scale, content-driven SharePoint applications that extend the value of existing line of business systems. We achieve this goal through the Partner Portal reference implementation and general guidance. We had three primary objectives to meet this goal:

· Large Scale – Show customers how to build a large scale SharePoint application. This includes guidance on building in the manageability, configurability, and performance expected from large scale applications.

· Content Driven – More advanced SharePoint applications often include many sites and combine custom coded logic with created content. We demonstrate areas like custom navigation and publishing, composing Web parts with published information, and managing a consistent user experience.

· Extend LOB Systems – SharePoint can aggregate and extend information from Line of Business systems to end users, enhancing structured business processes with informal processes through collaboration. We show how to integrate security considerations into business services, and demonstrate how to create collaborative sites that help manage business events like incident escalations and order exceptions.

The goal of the guidance incorporated from the first version was to help customers build effective development teams for creating SharePoint applications, and understand the fundamentals of building, updating and unit testing a SharePoint application.

The guidance provides value for experienced developers just starting in SharePoint development as well as experienced SharePoint developers looking to expand their skills.

If you are new to SharePoint development, the first step is to study the Training Management application, which is based on Windows SharePoint Services. The documentation and the application can help developers understand the fundamentals of SharePoint development, and compliments other training resources and publications.

For those that already are experienced in developing SharePoint applications, or who have gone through the Training Management application, the Partner Portal application and SharePoint Guidance library demonstrate these advanced areas. You can explore the guidance and Partner Portal reference implementation based upon your areas of interest. The general guidance refers into areas of the reference implementation that illustrate the covered concepts.

This guide enhances product documentation by applying the information to a realistic business situation illustrated in the reference implementations. In many cases, the guidance refers to the product documentation. You can use the guidance to gain initial understanding. You can then use the product documentation for deeper understanding.

The following topics may help in understanding the guidance and how it applies to your scenarios:

· When to Use This Guidance

· Intended Audience

· Evaluating the SharePoint Guidance

· Developing SharePoint Applications

Videos

Channel 9 videos

· Setting up the Contoso RI

· Walkthrough of the Contoso Reference Implementation

· How to use the configuration component?

· How to use the logging components?

· How to use the SharePoint Service Locator?

About patterns & practices

The Microsoft patterns & practices (p&p) team is responsible for delivering applied engineering guidance that helps software architects, developers, and their teams take full advantage of Microsoft’s platform technologies in their custom application development efforts.

Our goal is to help software development teams be more successful with the Microsoft application platform. We do this by delivering guidance that:

· Helps to simplify the Microsoft application platform.

· Provides solution guidance to common problems.

· Helps development teams grow their skills and learn.

For more information: msdn.microsoft.com/practices