Introduction to Business Connectivity Services.
Business Connectivity Services (BCS) is a new term given to the improved SharePoint 2010 version of the Business Data Catalog (BDC) that was launched with Microsoft Office SharePoint Server 2007. BCS still provides a number of services for accessing and using Line of Business (LOB) data within SharePoint. It maybe that your company has islands of data from applications such as Accountancy, Enterprise Resource Planning, Customer Relationship Management or other applications that store data. Using BCS you can connect to these databases making your LOB data available to search upon, display, use in lists and libraries, and import user profile information from. Using the BCS object model, you can also build your own custom applications without the need for complicated connection strings or having knowledge of the database structure. BCS has many improvements over the BDC and also a number of changes and additions.
The services that BCS offer has been broken down into the following:
BCS Web Parts
The BCS Web Parts (Currently at time of writing displayed as Business Data web parts) are functionally the same as they were with the Business Data Catalog. The Web Parts are:
1. Business Data Actions – An Action is a something that can be performed on a single row of data returned by BCS. Using a URL with parameters you can configure an action to be performed such as looking up a customer name and address in Bing Maps. The Business Data Actions web part will display the list of actions for you.
2. Business Data Catalog Filter – The Business Data Catalog filter web part allows you to connect Line of Business Data to other web parts such as a List View Web Part for filtering purposes.
3. Business Data Item – The Business Data Item web part will display a single row of data in a columnar format. This web part can consume a connect from the Business Data List web part which is a grid of data. The Web Part is useful when you would like to show summary data in the Grid View, but detailed data in a vertical format upon selection.
4. Business Data Item Builder – Is used to pass the unique identifier across pages to a Business Data Item web part.
5. Business Data List – Displays the Line of Business data within a grid view format. The Business Data List web part is the most commonly used web part for displaying LOB data.
6. Business Data Related List – Shows the many side of a relationship when using associations between two result sets now known as External Content Types (ECT’s). External Content Types were referred to as Entity’s in the Business Data Catalog.
The below screen shot is from a SharePoint 2010 Team Site, and shows the Insert ribbon for inserting a web part. Clicking the Business Data Category will expose the Business Data web parts.
One of the improvements with these web parts compared with the 2007 version is that they are now Ajax enabled. Therefore as your back end data is updated, users will no longer have to refresh the page to see the new results.
This should also have a great impact on the load time and performance of the Web Part page. Below you can see a configured Business Data List web part.
Business Data Column
The Business Data Column within SharePoint Lists and Libraries allows user of the BCS to lookup live business data from the LOB system and store that information as meta data. This is especially useful if you are creating documents such as proposals and want to link that proposal back to the customer. Once this information is stored in the library, you can create views with filters to be able to find customer related documents quickly. One improvement to the Business Data Column is that a new check box exists allowing you to store only unique values.
Below you can see how the Business Data Column is created allowing you to select the column values to display within the default view.
The meta data can be selected when you upload the document as well as when you create a document using the Document Information Panel from within Microsoft Office applications.
Once the document is uploaded or created, you can see the published columns within your default view. These can be used within filters, web part connections and also workflows for conditions.
Using the Search feature of SharePoint 2010, you can configure new Search Content Sources which include File Shares, Web Sites, SharePoint Sites, Exchange Public Folders, and also Line of Business Data. For this to be successful you must create an IDEnumerator when you are creating your Enterprise Content Type.
Once you have configured a schedule to keep the index server up to date with Line of Business data changes, you can start a full crawl. Doing this will allow the ECT to be indexed immediately and allow for your search results to be displayed from your back end database under the All Sites scope. The All Sites scope will include all content, you can however create a new scope with rules so that you can search specifically the Enterprise Content Type.
Below you can see the Search Content Source being indexed.
External Lists are brand new to SharePoint 2010, and offer the ability to treat your Line of Business data as regular SharePoint Lists. This means you get full CRUD (Create, Read, Update Delete) functionality on your backend database. Using the External List, you can create views, filters, Edit Form Web Parts etc just like you would in a SharePoint list. The below screenshot shows an example with the Edit Control Block allowing for Edit, and Delete Item.
Upon editing the item you are taken to a dialog box providing you with a columnar format of the row providing you with the option of changing values for each field.
User Profiles in SharePoint are extremely useful for audience targeting, social networking and My Sites. However it is painful for users to provide yet another User Profile in yet another application. Business Connectivity Services provides the ability to take a user profile from an existing application and map the fields to the SharePoint 2010 user profile fields. The user profile information can then be imported on a scheduled basis from applications such as SAP, Great Plains or Microsoft CRM. The below screenshot displays the default user profile information that is quite often used for audience targeting, and is usually kept up to date by the user. If this information already exists in other back end systems, you can import the user profile information from that back end system by using the Business Connectivity Services.
The Business Connectivity Services comes with an entire Object Model allowing you to develop your own custom applications. This may be that you would like to develop your own suite of web parts or web services that allow for access to your Line of Business data via the BCS. The namespace in SharePoint 2007 was referred to as the application registry which has now since been renamed to BusinessData.
Using the object model it is possible to present the Line of Business data in many different ways rather than using the standard grid view. Ideas include a Business Data Calendar web part of Business Data Mapper web part which were solutions that Lightning Tools build for SharePoint 2007.
The Business Connectivity Services now comes with two tools to help connect to your data source. The tools are aimed at both Visual Studio Developers and also Information Workers. Microsoft Office SharePoint Designer is the offering for Information Workers wanting to configure connections to their Line of Business System. From with SharePoint Designer your IW’s can create what is now known as an External Content Type (Formerly Entity), configure the type which includes .NET Types (New to SP2010), SQL Server, Oracle Server, and WCF Web Service. They can then select the tables, and configure the methods for the content type such as Read or Read and Write. The below screenshot shows the SharePoint Designer interface which will allow your IW’s to connect to your data sources without seeing any XML.
Visual Studio is the tool that is aimed at your Developers allowing them to connect to your Line of Business Data by writing code. The code is packaged and deployed directly to your SharePoint environment. Using Visual Studio your developers will be unlimited as to how they present the data to SharePoint.