While the lists, libraries, and other features of SharePoint provide a useful platform for collaboration, SharePoint doesn’t operate in a vacuum. Users will frequently interact with external applications, such as line-of-business applications, alongside their regular use of SharePoint. At some point users may express a desire to have SharePoint integrate with external systems. It could be as simple as a desire to do everything possible within SharePoint; or, it may be a need to integrate data from an external source into a SharePoint list or library in order to enforce a business rule or to avoid duplicating data in
Business Connectivity Services, or BCS, exists to connect to external data. BCS represents a significant upgrade to the Business Data Catalog offered in SharePoint 2007. Specific improvements include:
- Simple support for Write operations (no coding required).
- Excellent tool support with SharePoint Designer 2010 and Visual Studio 2010.
- External Lists for surfacing BCS data as a SharePoint list.
- Support for both server object model and client object model.
- Integration with Microsoft Office client applications.
NOTE Microsoft made an unfortunate choice when it comes to the use of the acronym BDC. In SharePoint 2007 BDC refers to Business Data Catalog; in SharePoint 2010 BDC refers to the Business Data Connectivity service, which is a subsystem of Business Connectivity Services. For the remainder of this chapter, BDC refers to SharePoint 2010 Business Data Connectivity service unless otherwise noted.
There are several key components that make up the BCS architecture. These components work together to provide a complete solution for integrating external data.
BDC Metadata Store
The BDC Metadata Store is responsible for storing External Content Types. As you will see in a later section of the chapter, External Content Types provide metadata and connectivity information for external sources of data. The BDC Metadata Store may be updated via SharePoint Designer when creating or updating external types.
BDC Server Runtime
The BDC Server Runtime uses the contents of the BDC Metadata Store to reach into external systems and perform operations such as reading or writing data. These read/write operations are carried out without the need for custom code.
BCS Security provides authentication and authorization for browser-based clients as well as Microsoft Office clients. It is capable of passing the user’s credentials through to the external system, or impersonating a dedicated account to the external system on behalf of the user. BCS Security also supports claims-based authentication.
SharePoint User Interface
BCS continues the SharePoint 2007 model of exposing external data via web parts. However, it also provides the new External List to present external data to the user via the SharePoint browser-based user interface. The presentation of these External Lists are seamlessly integrated with other lists on a particular SharePoint site.
SharePoint Designer 2010 provides full support for creating BCS solutions, including the creation of External Content Types, the definition of External Lists, and the definition of InfoPath for presenting external data. Visual Studio 2010 builds upon this foundation and allows developers to further extend BCS capabilities, such as a scenario where significant transformation of the external data is necessary.
This post is an excerpt from the online courseware for our Microsoft SharePoint 2010: Enterprise Content Management course written by expert John Underwood.
John Underwood is a technical evangelist for a SharePoint consulting company, with 30 years of programming experience, including 20 years on the Microsoft platform and 10 years with .NET. John also has extensive experience using, configuring, and programming SharePoint.