Wednesday, June 22, 2011

SharePoint 2010: BCS and BDC

Trying to figure out what's the difference between 2007 BDC and 2010 BCS?
Here is the post for you -enjoy)

[What you have]:

You understand the SharePoint 2007 BDC concept. You are planning to move on SharePoint 2010.

[What you want]:

Understand the difference between 2007 BDC and 2010 BCS concepts.

[What you want to know]:

 BCS - Bussiness Connectivity Services ~ similar to ECM - Enterprise Content Management in 2007.
 BCS in 2010 is NOT an analog of BDC in 2007. It's a smarter replacement for Shared Services in 2007.

BDC  - Business Data Connectivity - in 2010 is a service application which is one of the services under an umbrella of BCS

BDC service holds the BDC models. The BDC model (roughly an analog of adf file) holds the external data configuration:
- connection details;
- authentication details;
- business data entity with one or more external content types (ECT).

External content type - similar to a regular SharePoint content type. The BDC model gets translated into a set of the  ECT. The external content type includes one or more identifiers and stereotyped operations (CRUD)

New opportunities  working with BDC in 2010:


BDC 2010 handles CRUD operations. Now on you are able to write  data back to the source of BDC. In previous version of SharePoint 2007 - it was impossible.

External list

Unlike SharePoint lists and content types, each external list is mapped to a single ECT.
The external list doesn't have event receivers and workflow association, item-level security is not supported.

.Net connectivity assemblies 

In 2010 you have 3 types of connection for a BDC model: SQL, WCF, Microsoft .Net type.
.Net connectivity assemblies allows you to:
- aggregate data from multiple services and expose a single date model to SharePoint;
- access data that is not available  through a SQL db connection\ a WCF Web service;
 -transform the data before it got consumed by BDC

Filters and Throttling

Throttling -controls the load that BDC operators put on SharePoint.
Filters - constrain the result set by restriction the scope of the query (control load on the external systems)

[What you want to consider]:

 Do you want deeper understanding - read the book Designing Solutions for Microsoft SharePoint 2010: Making the right architecture and implementation decisions (Patterns & Practices) Part II

Do you want save your money:
1. go to the Bibliography for the book above- Chapter 6
2.  read on MSDN - Business Connectivity Services: How-tos and Walkthroughs