SharePoint24x7 It's all about SharePoint.

9Feb/110

Article – Business Connectivity Services (BCS) Part I – Introduction

Business Connectivity Services (BCS) is not something new in SharePoint 2010. This has been there from the SharePoint Portal Server 2003 (SPS 2003) and through Microsoft Office SharePoint Server 2007 (MOSS 2007). I assume everyone is familiar with the Business Data Catalog (BDC).

What is BCS?

Simply put, BCS is a platform feature of SharePoint 2010 which allows us to integrate business data from legacy/ Line-Of-Business (LOB) systems such as PeopleSoft, SAP, Siebel, etc… This integration technique allows us not only to surface business data but also to write-back to business data systems.

Evolution of BCS

Microsoft first introduced BDC in year 2003 and it was delivered as a premium feature as part of the Enterprise CAL. In this 1st release of BDC, Microsoft provided the capability only to surface LOB data within SharePoint. Also the implementation semantics were very primitive compared to other related technologies. What was meant by that is integration between SharePoint and LOB data required intensive coding exercises.

Integration Options in SPS 2003 - Source: Microsoft

Integration Options in SPS 2003 - Source: Microsoft

As you can see from the above figure, developers were required to write lot of codes to surface LOB data within SharePoint. Following was the feedback we received from both customers and System Integrators (SIs):

  • Need a way to reduce the integration code – it required intensive ADO.NET code to implement the solutions.
  • Much deeper integration of data into the places users work (Office System) – ability to surface data in Office clients was very limited though Office is the familiar tool among Information Workers.
  • Improve structured data search – though we could surface data with BDC, we were not able to search same information via SharePoint Search.
  • Need a way to centrally manage security, auditing and connections – there was no single screen in which we can manage all the aspects of the BDC solutions.

Based on the above feedback we received Microsoft did some enhancements to the BDC infrastructure and provided the 2nd version of it with MOSS 2007. With BDC in MOSS 2007, we were able not only to surface data but also to write back to LOB systems. But to be honest, write back was very reliable and promising with SQL Server back-end and with other database management systems, developers had to take a challenge most of the time.

As you can see from the following figure, implementation semantics shifted from intensive code to declarative fashion. This eliminated the need of writing intensive code.

Integration Options in MOSS 2007 - Source: Microsoft

Integration Options in MOSS 2007 - Source: Microsoft

Following is the feedback we received from both customers and SIs for the 2nd release of BDC:

  • Read is nice, Write back should have been more powerful – though Microsoft introduced write-back facility, it was at a very primitive level and didn't meet the industry standards. In short, lot of developers didn't even want to consider BDC as a way of write-back mechanism to LOB data.
  • Lack of tooling support , need an easier way to create, debug and maintain application definition XML files – though implementation mechanism shifted from .NET code to XML declaration, there were no rich tools provided by Microsoft to help developers to generate the required XML. Developers had to either write it manually or invest on 3rd party tools such as BDC Meta Man.
  • We wish it was baked into the platform – BDC was offered as a premium feature with SharePoint Enterprise CAL and lot of customers had to go all the way up to Enterprise to get this feature when they could have easily settled with WSS 3.0 for rest of the things.
  • Wouldn't it be nice to have offline capabilities – BDC didn't support Information Workers to take data offline and manipulate them on the go and sync them back to the server when they are back online. BDC couldn't cater roaming users.

Based on the above feedback we received for the BDC, Microsoft decided to re-engineer the entire technology to cater all of the customer feedback. Following is the architecture of new BCS technology:

Architecture of BCS in SharePoint 2010 - Source: Microsoft

Architecture of BCS in SharePoint 2010 - Source: Microsoft

Based on the feedback on 2007 release, Microsoft has invested in 03 main areas in this release of BCS and they are:

  • Presentation
  • Connectivity
  • Tools

Presentation

Microsoft has enhanced the end-user experience of working with external data by investing heavily on SharePoint 2010 and Office 2010. Some of the main features of the presentation investments are:

  • External List – this is a brand-new list type we see in SharePoint 2010 and this list template allows us to create a new list associating with an External Content Type (ETC). External Lists looks and feels like any other normal list in SharePoint 2010 and this list allow all the CRUD operations against the external system.
  • External Data Column – in MOSS 2007 we had a column type called Business Data Column and this has been re-engineered in this release to form the External Data Column. We can add a new column to an existing list or library based on this to bring data from an external system.
  • External Data Web Parts – SharePoint 2010 provides 05 web parts named Business Data Item, Business Data List, Business Data Related List, Business Data Actions and Business Data Item Builder that can be added to any SharePoint page to display external data.
  • Enterprise Search – SharePoint 2010 Search allows users to search data available in external systems within the SharePoint Search Center.
  • Office 2010 – SharePoint Workspace (SPW) and Outlook clients provide the capability of connecting to External Lists and take external data offline and sync them later. Word client allows creating or editing documents with data coming from lists and libraries as external data columns.

Connectivity

BCS provides both read and write capability with the new connectivity infrastructure. This facility has been extended to Office clients as SharePoint Workspace, Outlook as well. New connectivity infrastructure allows reading/ writing capability to ADO.NET databases, WCF/ Web Service Services and any other custom data sources through .NET assemblies.

Main player in this connectivity infrastructure is the Business Data Connectivity (BDC) which has 02 implementations for the Server (SharePoint) and Client (Office) and they are almost identical.

Tools

This is one of the major limitations in the 2007 release of BDC and in this release BCS provides an integrated tooling experience that scales from simple no-code solutions to complex code-based solutions including powerful packing and deployment. The tools provided are:

  • SharePoint Designer 2010 – allows us to bring data from Databases and WCF/ Web Service Services. All the CRUD operations can be generated using a simple wizard. Allows surfacing external data within SharePoint and Office.
  • Visual Studio 2010 – allows us to aggregate external data from multiple external systems by creating a .NET assembly connector. Allows us to execute custom business logic/ rules. Surface external data into other Office applications which are not supported out-of-the-box using VSTO.

BCS features by SKU

Though BCS is a part of SharePoint platform, depending on the SKU, the features of the BCS varies. Following table will show how BCS features vary depending on the SKU:

BCS Features by SKU - Source: Microsoft

BCS Features by SKU - Source: Microsoft

Posted by Joy