Share via

Business Data Catalog Application Definition File

Defines the entities and associations used by the Business Data Catalog.

Real World Example

A business group has a requirement for displaying data from an external data source within many SharePoint sites. A developer creates a Business Data Catalog definition for them that will be used to query the back-end data source.

Technical Details

The Business Data Catalog is a Microsoft Office SharePoint Server 2007 shared service that can be used to perform three key actions against back-end data sources or Web services:

  • Real-time queries

  • Indexing of data for inclusion in the search indexes

  • Integration of data into list items by using a Business Data Catalog bound list column

Business Data Catalog high-level architecture

The Business Data Catalog application definition file is an XML file that defines all the queries, parameters, and elements necessary to allow the Business Data Catalog to access data sources, including SQL databases and remote Web services.

The Business Data Catalog queries data directly from the back-end data sources by using the front-end Web servers. The Shared Services Provider (SSP) that contains the Business Data Catalog definitions serves the Business Data Catalog metadata, but the front-end Web servers copy this metadata to a local cache and then use it to construct the objects that call the back-end data sources and interact with Business Data Catalog-enabled components, such as lists or Web Parts.

Any Business Data Catalog query to a data source is based on the query contained in the Business Data Catalog application definition file. As such, unless a limit is set within the internal query, the Business Data Catalog first queries a data source and gets a potentially large result set before filtering it to a smaller list.

Support Details

Using the Business Data Catalog to index data from a database to present in search results has two significant limitations, which you must consider carefully before deployment:

  • The maximum number of items per search index is 14M. This can be a limiting factor if indexing large databases.

  • The Business Data Catalog search system is currently single threaded and stalls all other indexing operations from continuing until it completes. This can cause significant, and possibly unacceptable, delays in the overall indexing process.

Because the Business Data Catalog is supplied by the SSP that is bound to the Web application, and which is frequently used by many other Web applications, any Business Data Catalog application definition file added to the SSP is then available to any other Web application that uses the same SSP.

Because the front-end Web servers perform the queries, Business Data Catalog calls could present an unbalanced load on the front-end Web servers within a server farm.

The Business Data Catalog does not cache data queried from data sources, but it does have a caching mechanism built in to cache only the Business Data Catalog metadata used in querying the data source.

The Business Data Catalog caches the objects when they are first loaded. A timer running on each front-end Web server looks for any changes to the metadata objects once every minute. If it sees a change to a metadata object, it clears and loads the cache again. As a result, after metadata is changed, it can take up to a minute for changes to propagate to all the servers in the server farm if the timer jobs are operating correctly. The changes are immediate on the server on which the metadata change is made.

Deployment and caching in Business Data Catalog