Features of Business Connectivity Services in SharePoint Foundation
Published: May 2010
In Microsoft SharePoint Foundation 2010, Microsoft Business Connectivity Services (BCS) is designed to enable easy interaction with external systems from withinSharePoint 2010. Business Connectivity Services in SharePoint Foundation 2010 is composed of the following features:
Business Data Connectivity (BDC) service
BDC Connectors and the pluggable Connector Framework
External data columns
BDC is the new version of the Business Data Catalog that was provided in Microsoft Office SharePoint Server 2007. It is now provided in SharePoint Foundation 2010. BDC is implemented as a shared service in SharePoint Foundation 2010, and it still relies on the Metadata Store. The BDC Service enables you to declaratively model external systems so that you can expose external data in SharePoint Server 2010 (and, with Business Connectivity Services Rich Client Components, in Microsoft Office 2010 applications also). BDC bridges the gap between SharePoint sites and your business applications, and enables you to bring key data from various external systems into SharePoint lists (via the new external lists feature and external data columns), Web Parts, search, user profiles, and custom applications.
The core function of the BDC is to provide connectivity to various kinds of external systems, and it has built-in support for connecting to the following kinds of data sources:
Windows Communication Foundation (WCF) and Web services
Microsoft .NET Framework assemblies
Custom data sources; BDC provides a pluggable Connector Framework which developers can use to plug in connectors for new external system types to enable access to these new data source types via BDC
Figure 1 is a high-level diagram of the BDC.
A major design goal for BDC is to enable you to expose business data from various external systems declaratively, with very little coding. To achieve this goal, BDC provides homogeneous access to the underlying data sources through a metadata model that provides a consistent and simplified client object model.
BDC does not perform the actual method execution on the external system or back-end plumbing. It merely delegates the client invocation to the appropriate ADO.NET provider for databases, WCF adapters for Web services and WCF endpoints, and .NET Framework DLL for .NET Framework assemblies. To communicate with these complex components, it provides connectors for each of the data source types that it supports. Business Connectivity Services includes the following connectors:
ADO.NET Connector for connecting to databases
WCF Connector for connecting to Web services and WCF endpoints
.NET Assembly Connector for connecting to .NET Framework connectivity assemblies
In addition, BDC provides a pluggable Connector Framework with which developers can plug in connectors for new external system types to enable access to these new data source types through the BDC.
An external list is a new feature in SharePoint Foundation 2010 that enables accessing data from external systems in the same way that SharePoint list data is accessed. External lists use external content types as their data sources. External lists enable you to use the metadata that is already defined about a business entity to create a SharePoint list with external data that looks and performs like any other SharePoint list.
Figure 2 shows an external list of customers from the Northwind Sample database.
If you have BCS Rich Client Components, you can also take external lists offline to Microsoft Outlook 2010 and Microsoft SharePoint Workspace 2010. This enables you to work with external data just like native Outlook Item types (such as Contacts, Tasks, and Posts) in Outlook, and lists in SharePoint Workspace. It also enables online and offline scenarios on external data in Office client applications.
External lists enable writing back to the data source if the data source allows it, and it is modeled accordingly in BDC. This implies that users can edit external data directly from withinMicrosoft SharePoint Foundation 2010. Any changes made to the items in the list are synchronized automatically with the external system. Also, by using the Refresh data button in the list, you can synchronize and get updated data from the external system automatically.
Notice that unlike a SharePoint list whose data is stored in the SharePoint content database, the data in an external list is stored only in the external system. External data is brought into the SharePoint list at run time when you navigate to the list by using BDC.
The schema of an external list relies on the model and cannot be extended by adding new columns inSharePoint Foundation 2010. Also in this release, external lists do not offer all of the functionality offered by typical SharePoint lists, such as workflow, content types, versioning, check-in, and check-out.
Office SharePoint Server 2007 provided the External Data list column type that is now available to all SharePoint lists (except external lists) in SharePoint Foundation 2010. The Business Data list column type is now renamed external data column, and it enables users to add data from external content types to standard SharePoint lists. Just like an external list, the external data column can display data from any external content type that is modeled in the BDC. Figure 3 shows a SharePoint list that was extended with external data columns from the Customer external content type.
Three scenarios in which to use external data columns follow:
Tagging a document in a list For example, in your Request for Proposal (RFP) document library, you can add an external data column to tag the proposal document with the customer who proposed it. This enables users to view the customer's details and perform actions associated with them from the document library.
Annotating (or extending) data in an external system without changing the external system For example, you can add a column to your list for tracking the number of hires referred by employees in your team, even if the external system does not track that data.
Picking values from a canonical list of values For example, you can use an external data column in a list that enables users to select the ZIP Code or postal code of a city instead of entering the ZIP Code or postal code manually.
If you have Business Connectivity Services Rich Client Components, you can use External Item Content Controls in Microsoft Word to show external data columns in Word. This enables you to perform the previous three scenarios inside a Word document.
When you add an external data column to a list, you can choose any number of fields to retrieve from the external system and display in the list. For example, when you add a column of type Product (external content type), you can display multiple fields such as the ID, Name, QtyInStock, and Price in the list.
The external data columns provide all the other features of SharePoint Foundation 2010 lists, such as workflow, versioning, check-in, and check-out. In addition, by using the Refresh data button in the list, you can synchronize and get updated data from the external system automatically.