I just listened to an on-demand webcast on the Sharepoint Business Data Catalog - aka BDC. The webcast is laboriously called "Office SharePoint Server 2007 Business Data Catalog (Part 1 of 2): Integrating Line-of-Business Data and Applications into Your Enterprise Portal (Level 200)" and is available here: https://channel9.msdn.com/ShowPost.aspx?PostID=238622
Mike Fitzmaurice listed 4 ways that historically LOB apps could be surfaced into Sharepoint Portal.
- Re-use an existing HTTP/HTML interface. For example, the LOB system might have a companion web interface, and the portal could simply do HTML "screen scraping." This might be called the quick-and-dirty approach.
- Point-to-point approach. The webpart does all the work to integrate with the back-end system. This approach involves the fewest layers, but the most code. The webpart might, for example, communicate with the back-end system via a built-in messaging interface supported by that back-end LOB system.
- Data caching. If you've already got a data warehouse or datamart, your webpart could just access the staged data from the LOB system that is already cached in the DM or DW.
- via an Integration Server. In this case, your webpart calls into a service layer, possibly hosted by an integration or process server (like BizTalk Server), and the logic in the integration server does the work to bridge into the backend system.
Mike pointed out that Sharepoint customers asked for easier and better integration. For example, maybe index the LOB data for search purposes, centrally manage the connections from a portal to various back-end systems, and so on. This was the catalyst for the BDC.
Though the Business Data Catalog is a feature of Microsoft Office Sharepoint Server 2007 (MOSS 2007), and ships as part of MOSS 2007, it can be utilized from any app, including a non-portal app or an app that isn't a traditional Sharepoint app. Though the BDC is particularly easy to use from within Sharepoint, it is also nice to be able to use it from outside systems. What does the BDC do? Essentially it is acts as a broker of back-end systems that can be accessed either via standard data interfaces (ADO.NET) or web services. People can register back-end systems once in the catalog, then any Sharepoint webpart will be able to pick-and-choose from those registered data sources to display that data. Additionally, any .NET app (with a web UI or not) can connect to the BDC to indirectly access back-end systems. In this way BDC acts as a broker for LOB data.
The BDC includes webservices for common SAP and Siebel entities, "in the box", with the Sharepoint 2007 product. Partners can create definitions for arbitrary back end systems.
There is now a third-party tool for manipulating the metadata managed by the BDC - BDCMetaMan.