Friday, December 3, 2010

Business Connectivity Service (BCS) using WCF in SharePoint 2010

How to bring external Data into SharePoint via BCS using WCF. Here i am considering my MS-SQL DB as external Data source. so first we need to Host the WCF service with CURD Operations Contracts which will perform on MS-SQL DB Tables.

Creating a WCF Service and Hosting it

image
Here i am going to use  EF (Entity Framework) to model my Data source  from DB.  so now we need to add ADO.NET Entity Data Model Template to our WCF Project.

image
Now we are going to select  Generate from Database option and click next.image
Now Select the Tables you wanted to Include in the Entity Data Model.
image
Now Define the WCF Service & Operation Contracts and Implement the Operations Contracts. My Asset Table have lot of columns so i have created Data contract with only selected columns and named as AssetInfo.
image image


The below screenshot shows the  IAsset Contract Implementation.
image


image
Creating External Content Type
Once you get here you have successfully  created WCF Service. Now we are going to use SharePoint Designer 2010 to Create External Content Type. BCS its all about creating External content type.
Now Fire up SharePoint 2010 Designer and open your site.  once that is loaded now click on External content Types and create it.
image
Now we need edit settings for External content Type .
image
Now click on   Click Here to Discover External Data sources and define Operations( See above screenshot bottom).



image
Now Click Add Connection button, you will asked to select External Data source type selection . here in our case we are going to select  WCF Service.
image 
Now Edit WCF Connection Settings.
image
image
Once you successfully Connected to WCF Service you can see WCF Service Operation contracts in Data Source Explorer.
Now one by one, you will generate the method for CRUD (Create, Retrieve, Delete) and Retrieve List. Now  Right click “GetAllAssets” Operations and select “New Read List Operation”, a wizard will open up as shown below..

image
image
image

image
Now Save the work. Now this changes are saved into BDC Metadata Database.


image
Now time to create profile page this can be done within SharePoint designer or you can go to CA you can do it there. since we are already is SharePoint Designer environment i am going to create it from here just clicking  Create Profile page.
image
Profile Page:
Profile pages for an instance of a Business Data Connectivity service application site are stored in a site in the farm that hosts the Business Data Connectivity service. You can specify the site where profile pages are hosted.
image
Creating External List
Now go to SharePoint site and create External List .
image
image
Select the ECT Picker   ECT-External Content Type.

image
Here shows our External Data with in SharePoint as List. now you can Create, view an item etc..

image
Viewing an Item.
image
Adding new item.
image
Now with SharePoint 2010 we can  connect to our existing  Web Service(.ASMX) /WCF Service and display, edit,create and delete the data inside the SharePoint with gives unified User Interface experience  .

No comments:

Post a Comment