What’s new in Business Connectivity Services in SharePoint 2013

Business Connectivity Service (previously Business Data Catalogue / BDC) was one of the most exciting features in Microsoft SharePoint Server since its first release. Although it had a lot of short comings in its first version, but the idea behind it made it an important tool in the package. In SharePoint Server 2010, we have the possibility of using external data almost like a native list and it is possible to work with BCS in client object model which opens new doors for its extensibilities. Microsoft has made some changes in the next version (2013) to bring it to the next level. The new interoperability between BCS and other services (e.g. Visio Services) makes the ground ready for new solutions that were not possible / easy before.

Here are the most important changes (In my opinion):

  • SharePoint now supports OData as a data source for BCS
  • It can receive events from external systems
  • External content types can be application scoped
  • REST support is enhanced
  • Richer object model for BCS
  • It’s now possible to use external data in Visio / Visio Services and data will be refreshed when it’s changed!

OData (Open Data Protocol) Support

OData is one of the most popular protocols used for exposing data over http. It is actualy based on HTTP, Atom, and JavaScript Object Notation (JSON) to let developers write applications that communicate with data sources (called Producer in OData). You can also find different live data sources that expose data over the internet. If you are new in this field and want to know what applications support OData I suggest to take a look at this page. You will find SharePoint, Dynamics CRM 2011, TFS and Tridio in the list of applications and Facebook, Netflix, Pluralsight, eBay and many others in the list of live services.

External System Events

The external event system works as a push model meaning that the external system (LOB application) sends a notification to let SharePoint know that an event is occurred, SharePoint then keeps record of the event in a notification list and notifies to it’s subscribers. The external system notifies SharePoint by sending a message to a REST endpoint in SharePoint that is configured as delivery address. [Read the following article in MSDN for more information: External events and alerts in SharePoint 2013]

Accessing external data in Visio

External list can now be used in visio diagrams. The procedure is really easy and from the Visio point of view you don’t feel any difference at all. After you create an external content type with BCS, and an external list. You just need to open up Visio 2013, go to “Data” tab and click “Link data to Shapes” (as you normally do with any data source) and this time select “Microsoft SharePoint Foundation”, Select the web site and the list that you’ve created previously. [More about new features in Visio 2013 on MSDN]

How to view / change web site properties in SharePoint by PowerShell

In SharePoint, Property bags are usually used to store values / configurations related to a web site. Reading / Writing them via PowerShell is really easy just fire up “SharePoint 2010 Management Shell” from the Start Menu and type the following commands:

$web = Get-SPWeb "http://yourwebsite"
$web.Properties["PropertyName"] = "Property Value"