Business Data Catalogue (BDC) is one of the very exciting features of SharePoint. It got introduced in SharePoint 2007. This gives a declarative way to connect SharePoint to business applications such as standard ERPs, CRM, home grown apps etc.
It supports direct DB access as well as access through Web services. You can find good details at MSDN site (http://msdn.microsoft.com/en-us/library/ms551230.aspx). Ramping up to know BDC might be little work initially. One of the good way to get started is playing with samples provided at http://www.microsoft.com/downloads/details.aspx?familyid=6d94e307-67d9-41ac-b2d6-0074d6286fa9&displaylang=en.
If you decide to use BDC for your organization. You can follow the guidelines below.
1. Prepare BDC metadata (XML) which contains following information about back end system in a defined format:
a. Connectivity details
b. Entity details
c. Details around different entity methods/APIs with arguments & return types
2. You can use the tool developed by SharePoint to write these definitions. More details are at http://blogs.msdn.com/sharepoint/archive/2007/08/22/announcing-the-microsoft-business-data-catalog-definition-editor-for-microsoft-office-sharepoint-server-2007.aspx.
3. Import the BDC metadata file into SharePoint
a. You can find the place to do this at Shared Services in SharePoint central administration
b. It might take few cycles to get all the errors corrected here
And you are done with letting SharePoint know the details which it will use to connect to your LOB (line of business)/back end application. Many capabilities can be surfaced using BDC. You can get more details at http://blogs.msdn.com/sharepoint/archive/2006/04/18/business-data-catalog.aspx.
IMHO, one of the biggest advantage BDC provides is a great help in surfacing a common platform for the users, where they are dealing with different applications/data sources. For example lets assume that an organization uses MSCRM to deal with a set of data, and other App to deal with some other set of data. Many a times data stored in these two different App ends up having relationships with each other. In this case, it becomes very painful for user to switch applications for getting their daily work done. BDC comes here for rescue and provides a common platform with some nice out of box Web parts using that one can perform activities right in SharePoint without changing the context & applications.
In addition to this, it provides a strong programming environment through its object model. Using this one can very easily build applications which talks to different LOB apps. Guess what, developer does not need to learn different back end applications APIs & schemas. They just need to know BDC object model, and they can easily develop common platform talking to disparate systems.
If prudently used, it can prove to be a magic for end users, where they will love navigating to different types of records from different back end systems (related & unrelated) so smoothly as if data is coming from one source system. Enterprise search using BDC becomes even more stronger here, as searching in data coming from disparate systems become so cheap to own.
Because of the reasons above, importance of building BDC metadata for MSCRM cannot be undermined. And so there have been various efforts toward this. Some important ones are as follows:
MSCRM V3 – http://blogs.microsoft.co.il/files/folders/9188/download.aspx. This is a link to the BDC metadata file which can be a good starting point for building your own BDC metadata for MSCRM. Pls note that this might not work ‘as is’ for your implementation of MSCRM.
While implementing BDC for the organization, one more thing we should keep in our mind is to define a good process around getting BDC metadata definitions changed if source system goes thorough some customizations like new attribute creations, relationship creations etc.
Some good resources around BDC can be found at: