In this article I want to talk about one of the most, in my opinion, useful features in SharePoint 2010. It will be about BCS: Business Data Conectivity Services. BCS, in terms of use cases, is a kind of analogue of what was known in MOSS 2007 as BDC (Business Data Catalog). However, in the new version of SharePoint, these services are much older. So what is the conceptual difference:
BDC provides only read-only capabilities.
BCS provides two-way access with deeper integration into SharePoint and Office
BCS provides a mechanism for “external content types,” which allows you to describe the internal relationships of the data source and abstract them behind the user interface (and object model) of SharePoint or Office
So what's all the same good BCS?
BCS is an evolution of Business Data Catalog (BDC) capabilities in SharePoint 2007 that helped improve SharePoint capabilities as a composite application development platform. This solution contains ready-made functionality, services, and tools that improve integration with external data and services. BCS provides the ability to connect SharePoint 2010 and Office 2010 applications to any external system, be it a business application (for example, Microsoft Dynamics, Oracle or Siebel), a Web 2.0 service, or a proprietary application. "
Brad Stevenson,lead development team at Microsoft
Full support for CRUDQ operations for external systems , i.e. SharePoint (hereinafter implicitly paired with Office) can act as a “rich client” for virtually any data source, as well as provide flexible options for integrating your company's systems.
Uniformity of access , i.e. You can only use SharePoint as an entry point for your data.
The simplified connection model includes the possibilities of a declarative description of the connection, which is possible not only by the developer, but also by an IT specialist, in some cases even an experienced user. Two tools come to help these operations: Visual Studio 2010 (which is discussed in more detail later in this article), as well as the free Office SharePoint Designer 2010 tool.
Deep integration here, I mean access to third-party systems to all the capabilities of SharePoint as a platform, be it corporate search, access rights policies, data source administration.
Lifecycle management for BCS applications , i.e. any of your decisions, even if only a small setting, will be available as an application that can be distributed for deployment on the server or client side, and later updated if necessary. These are very useful, frequently used features.
Mechanisms of work of BCS
To understand the mechanisms of work it is necessary to deal with two concepts:
I think that with theory it is enough, now it is necessary to show how this is done in life (meaning the development life from the Visual Studio window). Working with BCS from Visual Studio 2010 is a bit like working with Entity Framework 4, you can create your own data model and map all the links to your sources.
Using the flexible expansion capabilities of Visual Studio 2010 ( MEF ), many developers have already managed to make their lives easier, as well as for SharePoint development. One of these solutions is called BCS Meta Man (developed by Lighting Tools ).
The essence of this utility is to help generate domain entities and data access services from their sources. In other words, all you have to do is to drag (the elegance is not there) the label from the server explorer and determine the data mapping, how the corresponding POCO objects and data access services for them are generated in your application, and this is certainly very convenient.
A video of working with this utility is available here: