Home >

SharePoint - Introduction to the Business Data Catalog (BDC)

4. March 2011

SharePoint is often perceived as a point of integration or aggregation. This is the main reason why SharePoint Portal Server 2003 was used so much—it facilitated the publication of content and made it easy to gather multiple sites to create a cohesive portal.

As more and more consultants and developers began working with SharePoint, it became obvious that integrating content and data from non-SharePoint sources required tedious coding, testing, and deployment efforts often resulting in custom Web Part development or even in circumventing entire sections of SharePoint entirely. The BDC provides a means by which developers and administrators can connect SharePoint to external data sources. Those xternal data sources can be integrated so tightly that entities from external Line of Business (LOB) applications can appear in search results, on user profiles, in Web Parts, and even as custom columns in lists.

The BDC is driven by several core types of information:

  • Entities—An entity is a unit of data. This is typically a single row in a database table or a single element of information, such as a customer, a bug in a defect tracking system, an order, and so forth.
  • ID enumerators—For SharePoint to use the BDC to properly index remote entities such as customers or orders, it needs to be able to enumerate the unique IDs of each entity. BDC application definitions provide definitions for ID enumerators.
  • Methods—A method on a BDC entity is responsible for retrieving entity lists or retrieving related entities. These methods can be used to provide the user with the ability to filter the display and choose which columns are returned for each operation.
    Associations—Associations provide links between entities. These links can be one-to-many or many-to-many and go in either direction, giving the developer a lot of flexibility. These associations are used to go from one record (such as a Customer) to one or more related records (such as purchase history or a list of relatives).

The BDC is a shared service, which means it can be provided by any of the servers within a farm and you have to use the Shared Services administration console to configure the
BDC. The Shared Services administration console can be reached by going to the SharePoint Central Administration website and clicking on the link for your Shared Services instance (often called SharedServices1 by default).

BDC Pros and Cons

As a developer, you are often asked to make recommendations on systems as well as to develop against them. As such, you should know some of the things that the BDC does extremely well and some of the situations in which the BDC might not be a viable option for your solution.

The following are some of the benefits of the BDC:

  • Integrate existing LOB applications with relative ease.
  • Extend SharePoint’s reach to aggregate and integrate multiple disparate systems throughout your enterprise into a single cohesive location.
  • Allow external data to be searched and indexed in a meaningful way.
  • Wherever external entities appear, you can define custom actions that might take you to the entity’s host application (for example, launch your Defect Tracking system when looking at a bug within SharePoint).
  • Data is read-only; SharePoint adopts the “one and only one data owner” approach and leaves the work of editing remote entities up to their native host application.


The following are some of the drawbacks of the BDC:

  • Authentication—Although SharePoint provides multiple means of authentication, the most common LOB application authentication method is not supported. If the
    user credentials themselves are stored within the remote database or web service, SharePoint has no way of validating those credentials. This makes it extremely difficult
    to access large application data sets like those contained within third-party applications like SAP from within SharePoint.
  • Configuration—Configuration of the BDC is done entirely through very large, difficult-to-manipulate Extensible Markup Language (XML) files and there are currently no tools available to make this process any easier.
  • Data is read-only—Although some people consider this a positive aspect, other developers might consider it a negative.

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading