External Data in SharePoint 2010
In SharePoint 2010, the functionality that enables you to work with external data is provided by Business Connectivity Services (BCS). BCS is an umbrella term—much like Enterprise Content Management (ECM) in SharePoint 2007—that encompasses a broad range of components and services.
Introducing Business Connectivity Services
Each of these components and services provide functionality relating to the modeling, access, and management of external data. The following illustration shows the key components of the BCS. SharePoint Server includes all components that are part of SharePoint Foundation.
Business Connectivity Services in SharePoint 2010
The Business Data Connectivity (BDC) service application and the BDC runtime are the core components of the BCS when it comes to modeling, managing, and accessing external data. The Secure Store Service (SSS) supports access to external data by allowing you to map the credentials of SharePoint users or groups to external system credentials. Other BCS components enable users to interact with external data in various ways. For more information about how these components relate from an execution perspective, see Hybrid Approaches.
The Business Data Connectivity service should not be confused with the Business Data Catalog (also referred to as the BDC) in Office SharePoint Server 2007, which was the predecessor to the BCS. In this documentation, BDC refers to the Business Data Connectivity service application.
Service Proxy Groups
The service application framework is a complex topic in its own right. This section discusses service applications and service application proxies with regard to specific issues in working with external data. For more information about the service application framework, see Service applications and service management on TechNet.
SharePoint 2010 introduces a new service application framework. This replaces the shared service provider found in Office SharePoint Server 2007 and enables third parties to build new service applications for the SharePoint platform. Instead of using a shared service provider to provide collections of services to SharePoint farms and Web applications, each service in SharePoint 2010 is architected as an individual service application. In BCS, both the SSS and the BDC are examples of service applications.
Administrators can create multiple instances of particular service applications. For example, you might configure one BDC instance for an intranet portal and another for a public-facing internet site. In order to use a service application, you must create a service application proxy. Where the service application provides a service, the service application proxy consumes a service. A default configuration of SharePoint 2010 largely contains pairs of service applications and service application proxies, as shown in the following illustration.
Service applications and proxies in the Central Administration Web site
Each Web application is associated with an application proxy group that contains a collection of service application proxies. This model supports a flexible approach to application proxy management—for example, an administrator may want different Web applications to use different subsets of the available application proxies. You can add a single service application proxy to multiple application proxy groups. Likewise, you can add multiple service application proxies of the same type to an application proxy group. However, the application proxy group will only use one of the proxies, and the proxy instance you want to use must be marked as the default instance of that proxy type for the application proxy group. Having more than one proxy instance for the same service type is an administrative convenience that enables you to easily switch between two instances by changing which is marked as default.
This arrangement can lead to confusion for developers who are not familiar with the service application framework. For example, if you add a new instance of the SSS application, and you want to use that SSS application instance in your Web application, you must ensure the following:
- The service application proxy for the service instance is in the application proxy group mapped to your Web application.
- The service application proxy is the default SSS proxy instance in the application proxy group.
Failure to configure application proxy groups correctly can lead to bugs that are hard to diagnose. For more information about application proxy groups, see SharePoint 2010 Shared Service Architecture Part 1 on MSDN Blogs.
The following topics help you to understand external data models in SharePoint 2010:
- Business Data Connectivity Models. This topic introduces business data connectivity models and describes how BDC models relate to external content types, external lists, and indexing external data for search.
- Modeling Complex Types in External Data. This topic describes various options for mapping complex types to a BDC model, including the use of .NET connectivity assemblies.
- Modeling Associations in External Data. This topic explains the concepts behind associations, which enable you to build relationships between external content types in a BDC model.
- Filters and Throttling in the BDC. This topic describes how you can use filtering to constrain the result set returned by a BDC operation and explains how the BDC uses throttling to limit the impact of BDC operations on the performance.
- BDC Models and Common Scenarios. This topic explains how the different approaches to creating BDC models map to common application development scenarios.