Veysel Uğur KIZMAZ

Sharepoint 2010 Business Data Connectivity 2

27.09.2011Okunma Sayısı: 4296Kategori: Sharepoint 2010

Sharepoint’in kendi içindeki verilere kolaylıkla erişebiliyoruz. Peki dışarıdan bir veri almamız gerektiğinde nasıl bir yol izleyeceğiz?

Bu noktada Sharepoint Business Connectivity Services (BCS) devreye girmektedir. Sharepoint 2007’de Business Data Catalog olarak bilinen bu servis, dış kaynaklı verileri alabilmek ve Office client uygulamaları ile Sharepoint’te kullanabilmeyi sağlamaktadır. Dış kaynaklı verilerden kastımız : web servisleri, WCF servisleri, veritabanları ve .Net assembly’lerinden ibarettir.
 
BCS’nin, web partlar ve listeler ile entegre çalışması en büyük avantajıdır.
 
Örneğin bir entity data modelini dış veri kaynağı olarak gösterilebilir. Dış veri kaynağının (bu örnekte entitynin) nesnelerine External Content Types (ECT) denmektedir. Bir Sharepoint listesi bir ECT ile ilişkilendirilebilir.
 
BCS tanımlaması 2 yöntemle yapılabilmektedir:
1.       Visaul Studio 2010 ile
2.       Sharepoint Designer 2010 ile
 
Şimdi Visual Studio 2010 ile BCS tanımlamasının nasıl olduğunu inceleyelim.
 
Visual Studio ile BCS Tanımlama:
 
Örneğimiz için deneme isminde bir veritabanı oluşturuyoruz. Bu veritabanımızda Kisi isminde bir tablomuz yer alsın.
 
 
 
Şimdi Visual Studio üzerinden bu tabloya erişelim.
Yeni bir Business Data Connectivity Model projesi oluşturalım.
 
 
 
Projemiz ilk oluşturulduğunda modelimiz aşağıdaki gibidir.
 
 
Entity1 seçili iken Methodlardan ReadList methodunun return değeri olan Entity1List’e tıklayıp Edit diyelim
 
 
BDC Explorer ekranında Entity1List’in detayı görüntülenmektedir.
 
 
Entity Model’in Solution Explorer’daki görünümü ve kodlarına göz atalım.
 
 
Entity1.cs
 
 
Entity1Service.cs
 
  1. public class Entity1Service
  2. {
  3.     public static Entity1 ReadItem(string id)
  4.     {
  5.         Entity1 entity1 = new Entity1();
  6.         entity1.Identifier1 = id;
  7.         entity1.Message = "Hello World";
  8.         return entity1;
  9.     }
  10.     public static IEnumerable<Entity1> ReadList()
  11.     {
  12.         Entity1[] entityList = new Entity1[1];
  13.         Entity1 entity1 = new Entity1();
  14.         entity1.Identifier1 = "0";
  15.         entity1.Message = "Hello World";
  16.         entityList[0] = entity1;
  17.         return entityList;
  18.     }
  19. }
 
 
Entity1Service sınıfımızda tüm işlemlerimizi gerçekleştirip sonuçta Entity1 türünden sonuçlarımızı döndürüyoruz. Bu örneğimizde hiçbir düzenleme yapmadan deploy işlemini yapalım.
 
Şimdi External Content Type’ı listeye ekliyoruz.
 
 
 
 
 
 
Create dediğimizde listemiz oluşacaktır. VSExternal listesine tıkladığmızda verilerimiz gelecektir.
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com