Share pointguidance2010

  • Published on
    14-Jan-2015

  • View
    5.653

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Transcript

<ul><li> 1. D E V E L O P I N G A P P L I C AT I O N SFORMICROSOFT S H A R E P O I N T 2010Design Patterns forDecomposition, Coordinationand Scalable Sharing Feedback http://spg.codeplex.com</li></ul><p> 2. IntroductionMicrosoft SharePoint 2010 includes many new areas of functionality that extend the capabilities of the platformand provide exciting new opportunities for developers. The Developing Applications for SharePoint 2010 releaseprovides technical insight and best practice guidance for architects and developers who want to design anddevelop applications for SharePoint 2010.This introductory section includes the following topics: Overview. This topic provides a brief description of the Developing Applications for SharePoint 2010 release.It identifies the scope of the guidance and describes the different types of components included in therelease. Intended Audience. This topic describes the prerequisites for understanding the contents of this release, andidentifies the people who will benefit most from the guidance within. Getting Started. This topic describes how to get started with the various components that comprise theDeveloping Applications for SharePoint 2010 release. C opyright and Terms of Use. This topic explains the terms under which you may use the components in theDeveloping Applications for SharePoint 2010 release.Generated from CHM, not final book. Will be superseded in the future. Page 2 3. OverviewSharePoint 2010 introduces new ways of developing applications for the SharePoint platform. With SharePoint2010, you can build multi-tenant, hosted applications on an infrastructure that is scalable, secure, and stable,while taking advantage of modern browser capabilities for an improved user experience. SharePoint 2010 alsointroduces improved tools and APIs that address many of the application development and configurationchallenges of SharePoint 2007. The new features, operational models, and tooling introduce new designpossibilities for developers and architects. This guidance will help you understand the key decisions you face, andto learn how best to take advantage of the new capabilities that SharePoint 2010 provides.The Developing Applications for SharePoint 2010 release includes three different types of resources: Guidance documentation that provides deep technical insight into different aspects of applicationdevelopment with SharePoint 2010. Reusable components that can help you implement best practice design patterns in your own applications. Reference implementations that illustrate how best to work with particular areas of SharePoint functionality.The guide itself is divided into four broad areas of design and development for SharePoint 2010 applications:execution models, data models, client-side development, and application foundations. Each represents a key areaof architectural decision making for SharePoint developers, as shown in the following illustration.Key architectural decision drivers in SharePoint 2010Execution Models provides insight into how different types of SharePoint solutions are managed and executed.It describes how you can develop effective applications in different operating environments and under a variety ofconstraints. In particular, it provides deep technical insight into the new sandboxed solution model, and it explainsthe different ways in which you can extend the sandbox environment with various types of full-trust functionality.Execution model decision pointsGenerated from CHM, not final book. Will be superseded in the future. Page 3 4. Data Models addresses the challenges involved in consuming and manipulating data in SharePoint applications.SharePoint 2010 includes a great deal of new functionality in the data area, particularly with the introduction ofexternal content types, external lists, and the ability to build relationships and constraints between SharePointlists. This section of the documentation provides insights that can help you choose between standard SharePointlists and external data sources as a platform for your SharePoint applications, and it offers approaches andpatterns that you can use to mitigate the performance degradation associated with large lists. It also providesdetailed insights into data access techniques, including the new LINQ to SharePoint capability.Data model decision pointsClient Application Models shows how you can make effective use of the new client-side development featuresGenerated from CHM, not final book. Will be superseded in the future.Page 4 5. in SharePoint 2010. These features include several new mechanisms for data access, such as client-side APIs forJavaScript, Silverlight, and managed clients, as well as a Representational State Transfer (REST) interface. TheSharePoint 2010 platform also provides more out-of-the-box support for rich Internet application (RIA)technologies such as Ajax and Silverlight.Client-side development decision pointsApplication F oundations shows how best to meet common development challenges in SharePoint applications,such as providing effective isolation of classes and services, managing configuration settings, logging events andtrace information, and performing unit testing and integration testing. Addressing these challenges enables you tobuild flexible, robust, and modular solutions that are easy to maintain as your applications evolve. The conceptsdescribed in this section of the documentation should underpin everything you do in the areas of executionmodels, data models, and client-side development.The scope of technical material that falls under the umbrella of SharePoint development grows increasingly broadwith every release, and so several decisions were needed to constrain the scope of this guidance. In the clientsection, the guidance concentrates on new opportunities for building RIA user interfaces with Silverlight and Ajax.Office client development also includes many new areas of functionality, but this area is worthy of its own bookand is too broad a topic to include here. In the data section, the guidance concentrates on lists and libraries,external data, and data access. While site structure is also an important component of an effective SharePointdeployment, in many ways its more of an operational issue than a development issue and as such its notincluded in the guidance. The new service application model in SharePoint is powerful, but as most organizationswill not need to build their own service applications the guidance does not address this area.Note:TheDeveloping Applications for SharePoint 2010 release has an associated community site on C odePlex. Youcan use this site to post questions, participate in discussions, provide feedback, and download interim releases.Generated from CHM, not final book. Will be superseded in the future. Page 5 6. Intended AudienceThe Developing Applications for SharePoint 2010 release is intended primarily for software architects andexperienced developers with some prior experience with SharePoint products and technologies. It offers technicalinsights, guidance, and design patterns for developers who know the basics and want to extend their skills to thedesign of robust, enterprise-scale applications. Although the release is not intended to provide an introduction toSharePoint development, experienced developers will benefit from many areas of the guidance even if they arenew to SharePoint.To get the greatest benefit from this guidance, you should have some experience with or an understanding of thefollowing technologies: Microsoft Office SharePoint Server 2007 or Windows SharePoint Services 3.0 Microsoft .NET Framework 3.5 Microsoft Visual C # Microsoft ASP.NET 3.5The release does not assume that you are already familiar with all the new functionality in SharePoint 2010. Linksto the product documentation are provided where appropriate.Generated from CHM, not final book. Will be superseded in the future. Page 6 7. Getting StartedAs described previously, the Developing Applications for SharePoint 2010 release includes three different types ofresourcesguidance documentation, reusable class libraries, and reference implementations. These resourcesspan the key areas covered by this release, as shown in the following table.ComponentDescription Key AreasGuidance The guidance documentation associated with this release includesApplicationdocumentationdetailed technical insights and design patterns for developers in key Foundations functional areas. It also includes accompanying documentation for each of the reference implementations, together with how-to topics that canExecution help you meet specific technical challenges. For more information onModels the guidance documentation, see Documentation Overview. Data Models C lient-Side DevelopmentReusable class The SharePoint Guidance Library is a downloadable collection of class Applicationlibrarieslibraries that you can compile and deploy with your own SharePointFoundations solutions. The SharePoint Guidance Library includes three components(SharePointthe SharePoint Service Locator, the C onfiguration Manager, and theGuidance Library)SharePoint Loggerthat are designed to help you address common development challenges in SharePoint applications. For information on how to download and compile the SharePoint Guidance Library, see The SharePoint Guidance Library.ReferenceThe Developing Applications for SharePoint 2010 release includes eightExecutionimplementationsreference implementations that illustrate how best to work with Models different areas of functionality in SharePoint 2010. Each reference implementation is a fully functional SharePoint solution, consisting of Data Models source code, supporting resources, and an installation script, that you C lient Models can deploy to a test environment and explore at your leisure. The guidance documentation includes a walkthrough of each reference implementation that explains each aspect of the design and implementation. For more information on how to use the reference implementations, see Reference Implementations.The best way to get started with the Developing Applications for SharePoint 2010 release is to allow thedocumentation to guide you through the other resources. For example, the documentation explains how and whyyou should use the components in the SharePoint Guidance Library, and the reference implementations reinforcethe execution and data concepts introduced in the documentation.Generated from CHM, not final book. Will be superseded in the future.Page 7 8. Documentation OverviewThe guidance documentation for the Developing Applications for SharePoint 2010 release is organized into fourchapters. These chapters map to the four key areas of SharePoint 2010 design and development that aretargeted by this release. Application Foundations for SharePoint 2010 provides guidance on how to build your SharePoint applicationson solid foundations. In particular, it explains how to address the challenges of testability, flexibility,configuration, logging and exception handling, and maintainability. This chapter introduces the reusablecomponents in the SharePoint Guidance Library and provides in-depth guidance on how to use them in yourown applications. Execution Models in SharePoint 2010 provides guidance on how to meet the challenges of differentexecution environments. It provides deep technical insights into the mechanics of the full-trust executionenvironment, the sandbox execution environment, and various hybrid approaches to the execution of logicon the SharePoint 2010 platform. The chapter includes accompanying documentation for each of thereference implementations in the execution area. It also includes several how-to topics on how to meetvarious execution-related challenges in SharePoint 2010 development. Data Models in SharePoint 2010 provides guidance on how to meet common challenges in working with dataon SharePoint 2010. It explains key design decision points that can help you to choose between standardSharePoint lists and external lists, and it describes techniques that you can use to mitigate performancedegradation when you work with large lists. It also introduces application patterns for data aggregation withSharePoint lists. The chapter includes accompanying documentation for each of the referenceimplementations in the data area. C lient Application Models in SharePoint 2010 provides guidance on how best to use the new client-sidedevelopment features in SharePoint 2010, such as the client data access object model, the REST-basedservice architecture, and the support for RIA technologies such as Silverlight and Ajax.In addition to these Web pages, the guidance documentation is included as a C HM file in the download associatedwith this release.Generated from CHM, not final book. Will be superseded in the future. Page 8 9. The SharePoint Guidance LibraryThe SharePoint Guidance Library is a collection of reusable code-based utilities that address common challengesin application development for the SharePoint platform. You can use these components in your own SharePointapplications to help you improve your development speed and follow best practice guidance. The SharePointGuidance Library consists of three key components: The SharePoint Service Locator provides a simple implementation of the service location pattern forSharePoint applications. This enables you to isolate your code from dependencies on external types, whichmakes your code more modular, easier to test, and easier to maintain. The Application Setting Manager provides a robust and consistent mechanism for storing and retrievingconfiguration settings at each level of the SharePoint hierarchy, from individual sites (SPWeb) to the entireserver farm (SPF arm). The SharePoint Logger provides easy-to-use utility methods that you can employ to write information to theWindows event log and the SharePoint Unified Logging Service (ULS) trace log. It also enables you to createcustom diagnostic areas and categories for logging.To get started with the SharePoint Guidance Library, we recommend that you read Application Foundations forSharePoint 2010. It puts each component in the SharePoint Guidance Library into context and provides detailedinformation on using each component.Deploying the SharePoint Guidance LibraryThe SharePoint Guidance Library is distributed as source code. To build and install the library, you must open andbuild the Microsoft.Practices.SharePoint solution in Microsoft Visual Studio 2010. This will create theMicrosoft.Practices.SharePoint.Common assembly, which includes all three library components.To use the SharePoint Service Locator, you must also deploy the Microsoft.Practices.Serv iceLocationassembly to the global assembly cache. This assembly defines the common service locator interfaces on whichthe SharePoint Service Locator is developed. The Microsoft.Practices.Serv iceLocation assembly is included inthis release as a compiled assembly.The end user l...</p>