Business Connectivity Services in SharePoint Foundation 2010
Published: May 2010
In Microsoft SharePoint Foundation 2010, Microsoft Business Connectivity Services (BCS) is designed to enable easy interaction with external systems from within SharePoint.
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
Business Data Connectivity (BDC) service is the new version of the Business Data Catalog that was provided in Microsoft Office SharePoint Server 2007. BDC, now provided in Microsoft SharePoint Foundation 2010, is implemented as a shared service and 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 Microsoft SharePoint Server 2010 with Enterprise Client Access License, in Microsoft Office 2010 applications also). BDC bridges the gap between SharePoint sites and your business applications, and enables you to bring in key data from various external systems to 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 that developers can use to plug in connectors for new external system types to enable access to these new data source types via BDC.
The following is a high-level diagram of the BDC.
BDC is designed to enable you to expose business data from various external systems declaratively, with very little coding. To achieve this , BDC provides homogeneous access to the underlying data sources through a metadata model that provides a consistent and simplified client object model.
Business Data Connectivity (BDC) service does not perform the actual method execution on the external system. It merely delegates the client invocation to the appropriate ADO.NET provider for databases, WCF adapters for web services and WCF endpoints, and Microsoft .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 Microsoft 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 for customers from the Northwind Sample database.
If you have Microsoft SharePoint Server 2010 with Enterprise Client Access License, 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 as you would work with 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 within SharePoint. Any changes made to the items in the list are synchronized automatically with the external system. Also, 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 in SharePoint. 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.
Microsoft Office SharePoint Server 2007 provided the External Data list column type that is now available to all SharePoint lists (except external lists) in Microsoft 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/Postal Code of a city instead of entering the ZIP Code/Postal Code manually.
If you have Microsoft SharePoint Server 2010 with Enterprise Client Access License, 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 to display in the list. For example, when you add a column of type Product (external content type), you can display other columns in the list such as ID, Name, QtyInStock, and Price that originate from that same external system.
Lists that contain external data columns support all the other features of standard SharePoint 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.