The creation of Business Connectivity Services (BCS) for Microsoft SharePoint Foundation 2010 and Microsoft SharePoint Server 2010 involved a massive investment of people and resources by Microsoft. The result of this investment is a set of services, components, and technologies that have significant implications for the entire SharePoint community. Gradually, the impact of BCS is beginning to sink in as developers peel back its layers and put it to work, but most people do not yet understand how deeply they will be affected.
At this writing, many people in the community have seen BCS presentations and demonstrations. The typical presentation involves a message that says “use BCS to integrate systems such as CRM and ERP with SharePoint.” The typical demonstration involves a no-code solution created in SharePoint Designer that rapidly integrates External Data, creates an External List, and synchronizes that list with Microsoft Outlook. While the typical presentation and demonstration fits well into an hour and looks sexy, it often misses the point. Business Connectivity Services is not simply middleware to use with existing systems, it is the data layer on top of which every SharePoint solution that uses External Data should be built.
When SharePoint developers architect solutions, they often discuss the differences between lists and databases. Lists are great for creating data structures that are easily editable by end users, but they lack the storage efficiency offered ...