Makale Özeti

Business Connectivity Services yani kısaca BCS yi SharePoint Server 2007 de Business Data Catalog olarak tanıyorduk. CRM (Customer Relationship Management) ve ERP (Enterprise Resource Planning) gibi sistemler, SharePoint ile kolay kolay çözülemediğinden, bu sistemlerin özel rolleri vardır. Sonuç olarak, farklı görevleri olan bu sistemler ve SharePoint server arasında ortak çalışabilir yapıların sağlanabilmesi gerekebilir. BCS bize, SharePoint tabanlı verilerimizin dışarıya açılmasına olanak veriyor.

Makale

SharePoint 2010 Business Connectivity Services

Business Connectivity Services yani kısaca  BCS yi SharePoint Server 2007 de Business Data Catalog olarak tanıyorduk. CRM (Customer Relationship Management)  ve ERP (Enterprise Resource Planning) gibi sistemler, SharePoint ile kolay kolay çözülemediğinden, bu sistemlerin özel rolleri vardır. Sonuç olarak,  farklı görevleri olan bu sistemler ve SharePoint server arasında ortak çalışabilir yapıların sağlanabilmesi gerekebilir. BCS bize, SharePoint tabanlı verilerimizin dışarıya açılmasına olanak veriyor, bu özellik sayesinde dış kaynaklardaki verileri okuyabiliyor ve direk SharePoint siteleri veya webpartlar aracılığıyla düzenleyebiliyoruz. BCS nin standart özelliği olan SharePoint Search ile artık ilişkisel veritabanlarınızdaki verileri alıp SharePoint sitenizin güçlü arama modülleri ile de kullanabilirsiniz.

BCS Servisleri,  BDC (Business Data Connectivity Service) ile yönetilir. Buradaki BDC yi, yukarıda bahsettiğim “Business Data Catalog” olan BDC ile karıştırmayın lütfen. BDC diyince artık BCS servislerini konfigüre etmemize yarayan servis aklımıza gelsin.

Biraz BCS terimlerini açalım :

·         External System : BCS nin bağlanabileceği herhangi bir veri kaynağı

·         External Content Type (ECT) : Dış bir sistemle bağlanabilmek için alanların ve operasyonların tanımı

·         External Data : Dış bir sistemle birlikte kullanılan veri

·         External List : Dış veriyi baz alan, SharePoint üzerinde bir liste

·         External Data Column : Kaynağı dış bir sistem olan standart bir library ya da list de bulunan bir kolon

·         External Data Web Part : Dış veriyi gösterebilen herhangi bir web part

BDC yi kullanarak External Content Type ları, External Sistemleri (SQL Server vs.) ve BDC modellerini yönetebiliriz. BDC 2 tip XML tanımını destekler,

1.       Application Models

2.       Resource Files

Application Model (Uygulama Modeli) , ECT nin XML tanımlarını içerir, Resource File (Kaynak Dosya) ise dışarınan alınan veya dışarıya verilen özellikleri ve izinleri tanımlar.

BCS şu aşağıda bulunan External Data tiplerine bağlanabilir :

  • SQL Server Veritabanı
  • SAP Uygulamaları
  • Web Servisleri (WCF de dahil )
  • SharePoint tabanlı web siteleri
  • 3rd Parti uygulamalar

Şimdi bir örnek üzerinden giderek somut birşeyler görelim. Ben BDC servisini bir SQL Server veritabanına bağlayacağım.

Deneme yapmak amacıyla “bcs_test” adında bir veritabanı oluşturdum ve “arabalar”  adından bir tablo yarattım. “marka”, ”model”  ve “ulke” varchar(50) tipinde 3 alan ekledim tabloya. İçini de dummy verilerle doldurdum. Yani dış veri kaynağımızı oluşturdum aslında.

Sırada SharePoint Designer 2010 ile yapacaklarımız var. SPD yi açıyoruz. Soldaki navigasyon menüsünden “External Content Types” a tıklıyorum.

Yukarıda bulunan ribbon üzerinden, yeni bir ECT yaratmak için “External Content Type” a tıklıyorum. Daha sonra açılan ekranda da “Name” ve “Display Name” alanlarını “arabam” olarak düzenliyorum.

Daha sonra “Click here to discover external data sources and define operations” yazan mavi linkli yazıya tıklıyorum.

 Gelen ekranda “Add Connection” ı tıklıyorum ve External Data Type olarak da SQL Server seçiyorum ve Ok diyorum.

 

Ve karşımıza yarattığımız tablomuz geliyor.

Bu ekranda “arabalar” tablomuza sağ klikliyoruz ve “Create All Operations” diyoruz. Bu sihirbaz yardımıyla, CRUD işlemlerimiz için gereken bütün operasyonları gerçekleştireceğiz.

Burada tek dikkat etmemiz gereken, tablomuzda unique bir alanımızın olması. Ben burada “marka” alanını unique varsaydım ve “marka” alanı seçili iken “Map to Identifier” kutusunu seçip devam ettim. Eğer herhangi bir sorun yaşamazsanız şu şekilde birşeyler görmeniz gerekiyor :

Herşey yolundaysa, ribbondan “Create Lists & Form ” u tıklayıp devam ediyoruz. Yeni gelen ekranı dolduruyoruz. Liste ismini “arabalarim” yaptım, screen shot u aldığım esnada “arabalarım”di, tekrar screen shot almaya üşendim J

 İşlem tamam ! External Listemiz SharePoint e  deploy oldu bile !

Şimdi SharePoint sitemize gidip listelere baktığımızda “arabalarim” adlı bir liste  görmelisiniz. Yani SQL  Server veritabanınızdaki verileri  BCS kullanarak SharePoint 2010 da gösteriyorsunuz artık !

Bir ihtimal “Access Deny” hatası almış olanlarınız olabilir, bunun için :

1.       Central Administration ı açıyoruz

2.       Application Management altındaki Manage Service Applications a gidiyoruz

3.       Business Data Connectivity Service e tıklıyoruz

4.       Burada benim yarattığım ECT nin adı “arabam” idi. Onu görüyorum ve sağ tıklıyorum üzerine, siz de kendi ECT nizi görüyor olmalısınız

5.       Set Permissions ı seçiyorum ve gerekli kişilere haklarını veriyorum.

Artık tek bir satır kod yazmadan, arabalar tablosu üzerinde edit/delete/create  işlemlerimizi yapabiliyoruz. Tek ihtiyacımız olan SPD .

Listeye bir eleman eklediğinizde, aynı zamanda bunun veritabanına da eklendiğini kendiniz de test edebilirsiniz.

Çok basit bir girişle BCS yi anlatmaya çalıştım, umarım işinize yarar bir yazı olmuştur.