![]() | |||||||||||||||||||||||||
Team Foundation Server Nesne Modeli - TFSOM | 13.06.2008 23:30:00 | ||||||||||||||||||||||||
| Kategori : Visual Studio ve Araçlar Özet : Team Foundation Server’a Visual Studio ile bağlanmak için genellikle Team Explorer aracını kullanılır. Team Explorer TFS’e erişmek için Team Foundation nesne modelini kullanan bir istemci uygulamasından başka bir şey değildir. Team Explorer’in da kullandığı bu nesne modeli “Team Foundation Server Object Model” .net kütüphanelerinden oluşan ve üçüncü parti yazılımların da kullanımını açık bir uygulama geliştirme arayüzüdür. | |||||||||||||||||||||||||
|
Team Foundation Server Nesne Modeli
Team Foundation Server’a Visual Studio ile bağlanmak için genellikle Team Explorer aracını kullanılır. Team Explorer TFS’e erişmek için Team Foundation nesne modelini kullanan bir istemci uygulamasından başka bir şey değildir. Team Explorer’in da kullandığı bu nesne modeli “Team Foundation Server Object Model” .net kütüphanelerinden oluşan ve üçüncü parti yazılımların da kullanımını açık bir uygulama geliştirme arayüzüdür. Team Foundation Nesne Modeli Team Foundation Nesne Modelini oluşturan assembly dosyaları <sürücü>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies klasörü altında bulunmaktadır. Nesne modeli üzerinden bir işlem gerçekleştirilmek istendiğinde nesne modeli implementasyonu arka planda “Team Foundation Services” olarak genel bir ad altında toplanmış olan Team Foundation Server’in web servislerini kullanılır. Team Foundation Services web servisleri ise en son olarak arkaplanda sql server veritabanı üzerinde host edilmekte olan veriye ulaşmaktadır. Team Foundation Server uygulama geliştirme arayüzü alt yapı katmanları
Team Foundation Services adındaki web servisleri Team Foundation Server’in kurulu olduğu işletim sistemi üzerinde Internet Information Services Manager aracılığı ile gözlemlenebilmektedir. Team Foundation Server tüm hizmetlerini IIS üzerinde host ettiği bu web servisleri ile vermektedir. Yani Team Foundation Server IIS üzerinde host edilmektedir diye özetleyebiliriz.
Team Foundation Nesne Modeli ile neler yapılabilir? Team Foundation Server’in Version Control nesne modeline, Work Item Tracking nesne modeline, Team Build nesne modeline, Team Foundation Data Warehouse nesne modeline ve sistem genel bilgilerine(Team Foundation Server Core Services) erişilebilecek nesne modellerine TFS Nesne modeli kütüphaneleri ile erişilebilmektedir. Team Foundation Server Nesne Modeli ile ilk uygulama 1. Yeni bir Windows Forms Application projesi oluşturun. 2. <sürücü>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies klasörü altından Microsoft.TeamFoundation.Client.dll ve Microsoft.TeamFoundation.dll dosyalarını referans olarak ekleyin. 3.
Aşağıdaki form tasarımını oluşturun.
Team Foundation Server’a bağlanmak için Microsoft.TeamFoundation.Client.TeamFoundationServer sınıfı kullanılır. Bu türden bir nesne oluşturmak için TeamFoundationServer sınıfının string parametre alan constructor overlodu kullanılabilir ancak bunun yerine TeamFoundationServerFactory sınıfının GetServer metodunu kullanmak performans açısından tavsiye edilir.
Uygulamanın çıktısı aşağıdaki gibi gözükmektedir.
Yukarıdaki örnekte gözüktüğü gibi Team Foundation Server core servislerine teamfoundationserver sınıfı ile erişebiliyoruz. Ancak TFS nesne modeli ile erişebileceğimizden bahsettiğimiz diğer servislere erişmekte için GetService metodu kullanılır. GetService metodu istenilen servisin type’ini alır ve geriye o servisin üzerinde işlem yapabileceğimiz nesnesini döner. GetService ile elde edilebilecek servis listesi.
GetService metodu kullanımı GetService metodu ile IServerStatusService nesne modeline erişerek server durumu ile ilgili bilgi almaya çalışalım. Bunun için aynı forma bir buton ekleyin ve adını btnServerStatus yapın. Butonun click eventine aşağıdaki kod yazın.
Yukarıdaki kod bloğunda IServerStatusService arayüzünün type’ının GetService metoduna parametre olarak vererek geriye IServerStatusService interfaceini implemente eden Microsoft.TeamFoundation.Proxy.ServerStatusService türünde bir nesne döner. Bu metodun dönüş türü object olduğu için açıkca IServerStatusService tipine cast ederek dönüş nesnesini bir değişkene (statusService) alıyoruz. Artık statusService değişkenin gösterdiği nesnenin üzerindeki GetServerStatus metodu ile server durum bilgisini alabiliriz. Geriye dönen sonuç aşağıdaki ekran görüntüsünde gözükmektedir.
Team Foundation Server nesne modeli ile erişebileceğimiz diğer servisler ve hangi amaçlar doğrultusunda kullanılabileceklerini anlatacağım diğer makalelerim devam edecek. Örneğin WorkItemStore ile nasıl work itemlara erişebiliriz neler yapabiliriz sonraki makalelerimde bunları anlatıyor olacağım.
| |||||||||||||||||||||||||
Yazgelistir.com | |||||||||||||||||||||||||