Windows Server AppFabric Management Extensions is Out

18. July 2010

First code bits of my project Windows Server AppFabric Management Extensions is out at CodePlex. You can visit project page at http://appfabricextensions.codeplex.com/

Currently it has cache allowed account management module embedded into IIS Manager; more to come…

image 

image

 

Application setup is on the way; but source code can be download and compile from CodePlex project site. By the way; English and Turkish localizations are build in provided.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

AppFabric

Windows Server AppFabric Yayınlandı

8. June 2010

Uzun bir maratonun ardından nihayet Windows Server AppFabric yayınlandı. Kısa bir süre önce RC sürümü yayınlanmış olan Windows Server AppFabric son sürümüyle birlikte artık üretim ortamlarında kullanılabilir durumda.

Güncel sürümü buradan indirip kurabileceğiniz gibi Web Platform Installer üzerinden de kurabilirsiniz. RC sürümüyle birlikte Türkçe desteği olan Windows Server AppFabric’in son sürümüne ait kurulum kılavuzunu burada bulabilirsiniz.

Windows Server AppFabric güncellemelerini bu adresten indirip kurmanızı tavsiye ederim.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Türkçe, AppFabric

Windows Server AppFabric Özel Sağlayıcılarını Kaydetme

24. May 2010

Windows Server AppFabric ile ilgileniyorsanız sağlayıcılarla çoktan tanıştınız bile. Bir önceki makalemdeki kurulum ve yapılandırma adımlarını takip ettiyseniz SQL Server AppFabric Caching Service Configuration Store Provider ve sqlStoreProvider ile yapılandırma yaptınız bile. Varsayılan olarak Windows Server AppFabric bizlere aşağıdaki sağlayıcıları sunmaktadır;

  • System.Data.SqlClient : İzleme sağlayıcısıdır, kurulum seçeneklerinde barındırma hizmetler seçildiyse bu sağlayıcı sisteminizde bulunacaktır.
  • sqlStoreProvider : Kalıcılık sağlayıcısıdır, bir önceki sağlayıcı gibi barındırma hizmetleri kurulduysa sisteminizde bulunacaktır.
  • SQL Server AppFabric Caching Service Configuration Store Provider : Önbellek sağlayıcısıdır, önbellek hizmetleri, önbellek istemcisi ya da önbellek yönetimi kurulumuyla birlikte sisteminizde bulunacaktır.

 

Windows Server AppFabric bize iş mantığımız ve ihtiyaçlarımız doğrultusunda varsayılan sağlayıcıların dışında kendi özel sağlayıcılarımızı oluşturma ve sistem içerisinde kullanma olanağını sağlamaktadır.

İster varsayılan, isterse de özel olsun her bir sağlayıcı Windows Server AppFabric tarafından kullanılabilir olması için sistem kütüğünde kendini kaydetmiş olmalıdır. Kullanılabilir tüm sağlayıcılar AppFabric tarafından aşağıdaki kayıt kütüğü adresi altında aranmaktadır;

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppFabric\v1.0\Providers

İzleme, kalıcılık ve önbellek gibi üç ana bileşene sahip olan Windows Server AppFabric’in sağlayıcıları da bu bileşenlerden hangisi için tasarlandı ise yukarıdaki kayıt kütüğü altında sırasıyla Monitoring, Persistence ve AppFabric Caching gibi ilgili alt girdileri içerisinde toplanmaktadır.

Sisteme kaydedilecek yeni bir sağlayıcı desteklediği bileşene ait ilgili alt girdi içerisinde yeni bir girdi olarak eklenerek içerisinde aşağıdaki alt anahtarların bulunması gerekmektedir;

  • (Default)/(Varsayılan) alt anahtarında çalıştırılabilir sağlayıcının adı ve bulunduğu yer belirtilmelidir. Burada AppFabric’in sağlayıcıları adreslerinde boşluk bulunması durumunda doğru şekilde yükleyemediğini belirtmeliyim; fakat bu problemden tüm adresi çift tırnak içerinde vererek kurtulabilirsiniz.
  • DisplayName alt anahtarında sağlayıcının AppFabric yapılandırma sihirbazında görünecek olan adı belirtilmelidir.
  • Type alt anahtarında sağlayıcının tanımlandığı türü belirten tür adı, versiyonu, kültürü, açık anahtarı gibi bilgiler belirtilmelidir.

 

Kayıt Kütüğü

Windows Server AppFabric için yazacağınız özel sağlayıcılar, kurulumları sırasında yukarıda bahsettiğim anahtarlar ile kayıt kütüğündeki ilgili adreslerde girdi oluşturmanız sonrası kullanılabilir olacaktır.

Özel sağlayıcılar RC sürümü öncesine kadar PoweShell üzerinden Register-CacheProvider komutu ile de sisteme kayıt edilebiliyorken RC sürümüyle birlikte bu özellik kaldırılmış durumdadır.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Türkçe, AppFabric

Windows Server AppFabric kurulumu ve yapılandırması

22. May 2010

AppFabric ile yeni ilgilenmeye başlayanlarınızı için hızlı bir başlangıç olacağınız düşündüğüm bu makalemde sizlere Windows Server AppFabric kurulumunu anlatacağım.

Windows Server AppFabric, Windows 6 grubu (Windows Vista, Windows Server 2003) ve sonrası (Windows 7, Windows Server 2008, Windows Server 2008 R2) Windows işletim sistemlerinde kurulabilir. Tabi bu Windows XP kullanıcılarına kötü bir haber olacaktır.

Windows Server AppFabric kurulumu Web Platform Installer üzerinden ya da kurulum dosyası üzerinden yapılabilmekte. Her iki kurulumun detaylarına da değineceğim makalemde öncelikle AppFabric ile yeni ilgilenmeye başlayan sizler için pek çok adımı otomatikleştirilmiş olan ve Microsoft Web Platform Installer üzerinden yapılan kurulumu paylaşacağım. Unutmadan not düşeyim; her iki kurulum yönteminde de bilgisayarınızda .Net Framework’ün kurulu olması gerekli. Aşağıdaki tabloda Windows Server AppFabric’in kullanacağınız özelliklerine göre ihtiyaç duyulacak .Net Framework sürümünü bulabilirsiniz:

Özellik

.NET Framework 4

.NET Framework 3.5 SP1

Barındırma Hizmetleri

Uygun

 

Barındırma Yönetimi

Uygun

 

Önbellek Hizmetleri

Uygun

Opsiyonel

Önbellek İstemcisi

Uygun

Uygun

Önbellek Yönetimi

Uygun

Opsiyonel

Web Platform Installer ile kurulum

Microsoft Web Platform Installer ile AppFabric kurulumuyla hedeflediğimiz, geliştirme makinemizde Windows Server AppFabric’i daha yakından tanıyarak ilk uygulamalarınızı geliştirmek. Kuruluma başlamadan önce bilgisayarınızda Web platform installerın yüklü olup olmadığını kontrol etmelisiniz. Eğer yüklü değilse http://www.microsoft.com/web/downloads/platform.aspx adresinden güncel halini indirip kurabilirsiniz. 2MB’lık bir büyüklüğü sahip olan ve hızlı ve kolaylıkla kurulabilen Web platform installer’ı kurulum sonrasında bu linki kullanarak çalıştırdığınızda güncel uygulamaların bilgilerini denetleyecektir;

WPI Güncelleme Kontrolü

Güncel ürün bilgilerinin alınması sonrası Web platform installer sizi yeni uygulamaların listelendiği “What’s New” ekranıyla karşılayacaktır;

WPI Ana Sayfa

Karşımızdaki ekranda 3 segme görülmektedir; yeni ürünlerin listelendiği “What’s new”, IIS, veritabanı ve çeşitli araçların bulunduğu “Web Platform” ve web uygulamalarının bulunduğu “Web Applications”.

Windows Server AppFabric kurulumu ise Enterprise segmesinde yer almaktadır; fakat bu segme web platform installer ilk kurulduğunda varsayılan olarak gizlenmiştir. Enterprise segmesinin görülebilmesi için sağ alt köşede yer alan Options linkine tıklayarak, gelen “Change options” diyaloğunda Enterprise checkbox’ını işaretlemelisiniz;

WPI "Change Options" diyaloğu

ok butonuna basarak “Change Options” diyaloğundan çıkıldığında Enterprise segmesinin geldiği görülecektir. Bu segmede tek bir ürün listelenmektedir; Application Server.

WPI Enterprise segmesi

Windows Server AppFabric ürününü seçmek için Application Server ürünü altında bulunan Customize linkine tıklamalıyız. Bu yazı hazırlandığı sırada burada sadece iki seçenek yer almaktaydı. Bu seçeneklerden “Windows Server AppFabric Beta 2 Refresh”i seçerek kuruluma başlayabiliriz.

WPI_AppFabricBeta2Refresh

Eğer ürün hakkında daha fazla bilgi almak isterseniz, hemen sağ tarafında yer alan i şeklindeki imaja tıklayabilirsiniz.

WPI More Info

“Windows Server AppFabric Beta 2 Refresh” ürününün seçilmesi sonrası sağ alt köşede yer alan Install butonu aktif hale gelecektir. Kurulumu başlatmak için Install butonuna basabilirsiniz. Kurulumun başlaması ile birlikte Web platform installer sisteminizi analiz edip gerekli güncelleme ve kurulumları size listeleyecektir. Kurulacak ürünlere ait sözleşmeleri kabul ettiğinizi belirtmek için “I Accept” butonuna basmalısınız.

Kuruluma başlamadan önce bilgisayarınızda FTP servisinin çalışmıyor olduğunu kontrol etmelisiniz. Windows Server AppFabric kurulumu sırasında bu servisin kapalı olması gerekli. FTP servisi komut satırından yazılacak aşağıdaki komutla durdurulabilir;

net stop ftpsvc

WPI Pre Requests

Sözleşmeleri kabul etmeniz ardından web platform installer gerekli uygulama ve güncellemeleri sizin adınıza indirerek kuruluma başlayacaktır. Web platform kurulumunun en güzel yanlarından birisi de kuruluma başlamak için tüm bileşenlerin inmesinin beklenmemesi. Akıllı bir şekilde hangi sırayla kurulum yaplacağına karar vererek ilgili bileşen indirildikçe kurulumunu gerçekleştirir.

WPI Install Progress

Kurulum sırasında yapılan bazı güncellemeler bilgisayarınızın yeniden başlatılmasına neden olabilir. Bu yüzden kurulum yapılırken başka bir uygulamanın açık olmamasını tavsiye ederim. Eğer bilgisayarınız yeniden başlatılırsa, kurulum bilgisayarınız açıldığında kaldığı yerden devam edecektir.

WPI Kurulum tamamlandı

Kurulumun tamamlandığı web platform installer tarafından yukarıdaki ekran vasıtasıyla size bildirilecektir.

Problemsiz bir kurulumu IIS yönetim konsolu üzerinden kontrol edebiliriz. Başarılı bir kurulumda IIS yönetim konsolunda aşağıda da görüldüğü gibi AppFabric grubunun eklenmiş olması gereklidir.

IIS yönetim konsolu

 

MSI ile kurulum

MSI kurulumu web platform installer ile karşılaştırıldığında daha kötü bir kullanıcı deneyimi olduğu bir gerçek; fakat Windows Server AppFabric’in son kullanıcılar tarafından değil sistem yöneticileri tarafından kurulacağı düşünülürse bu bir avataja dönüşmekte.

Peki web platform installer (WPI) gibi acısız bir kurulum varken ne zaman msi üzerinden bir kurulum tercih edilir? Aslına bakarsanız pek çok sistem yöneticisinin bunu tercih edeceğine eminim; çünkü WPI ile yapılan kurulumlar otomatize, sisteminizin ihtiyaçlarına göre değil varsayılan ayarlara göre kurulum yapmakta. Bu durumda her ne kadar sunucu işletim sistemlerini desteklesede WPI kurulumu yerine daha rahat özelleştirilebilecek olan ve kurulum adımlarında yapılandırılmaya müdahale edilebilecek olan msi kurulumu tercih edilecektir.

Windows Server AppFabric msi kurulumlarına http://go.microsoft.com/fwlink/?LinkID=169435 adresinden erişilebilir. Eğer Windows Server 2008 ya da Windows Vista yüklü bir sistemde kurulumu gerçekleştirecekseniz öncelikle Windows PowerShell 2.0 sisteminizde kurulu olmalı. Bu makale kaleme alındığı sırada, her ne kadar Windows Server AppFabric kurulumu sırasında kontrol etmese de sisteminizde KB980423 ve KB970773 güncellemelerinin de yapılmış olması önemli. Windows Server AppFabric için yayınlanmış olan tüm güncellemeleri http://go.microsoft.com/fwlink/?LinkID=185864 adresinde bulabilirsiniz.

Msi kurulumlarının bulunduğu sayfaya gittiğinizde indirebileceğiniz bir kaç farklı dosya göreceksiniz, farklı işletim sistemlerine göre farklı kurulumların sunulduğu bu sayfada bulunan tüm dosyaları indirmenize gerek yok. Aşağıdaki tabloda kurulumun yapılacağı işletim sistemine göre indirmeniz gereken kurulum paketini bulabilirsiniz;

İşletim Sistemi

Kurulum Paketi

Windows Vista x64
Windows Server 2008 x64

WindowsServerAppFabricSetup_amd64_6.0.exe

Windows 7 x64
Windows Server 2008 R2 x64

WindowsServerAppFabricSetup_amd64_6.1.exe

Windows Vista x86
Windows Server 2008 x86

WindowsServerAppFabricSetup_x86_6.0.exe

Windows 7 x86

WindowsServerAppFabricSetup_x86_6.1.exe

WPI kurulumunda olduğu gibi msi kurulumunda da kurulum öncesi çalışan FTP servislerinin durdurulması gerekli. Bunun için komut satırından aşağıdaki komutu çalıştırmalısınız;

net stop ftpsvc

net stop ftpsvc

Eğer üretim ortamında ve birden fazla sunucudan oluşan bir küme üzerinde kurulum yapmayı planlıyorsanız uzaktan Yönetim için IIS 7.0 Yöneticisini de kurmanız gerekecektir.

Uzaktan Yönetim için IIS 7.0 yöneticisi

Uzaktan Yönetim için IIS 7.0 yöneticisi 2

Uzaktan Yönetim için IIS 7.0 yöneticisi 3

İşletim sisteminize uygun olarak indirdiğiniz kurulum dosyasını çalıştırdığınızda kurulum sizi lisans koşulları ile karşılayacaktır.

Lisans Koşulları

Yukarıdaki ekranda da görüleceği gibi RC sürümü ile birlikte Windows Server AppFabric kurulumu artık Türkçe. Lisans sözleşmesini okuyarak kabul ederek kuruluma devam edebilirsiniz.

Müşteri Deneyimi

Lisans sözleşmesi sonrası sizi müşteri deneyimi geliştirme programı sayfası karşılayacak. RC öncesi tüm sürümlerinde kurulum deneyim bilgilerinin paylaşılması seçeneği varsayılan olarak seçili ve değiştirilemiyor iken, RC ile birlikte artık seçimli hale gelmiş durumda.

Özellik Seçimi

Sıradaki ekran size kurmak istediğiniz özellikleri soracaktır. Windows Server AppFabric’in kullanmak istediğiniz özelliklerine göre buradan kurulumu özelleştirme şansını bulacaksınız. Yönetim araçları bir sunucu kümesindeki tüm sunucularda bulunması zorunlu bir özellik değildir, sadece yönetim işlerini gerçekleştirmeyi planladığınız sunucu üzerine kurmanız yeterli; fakat hepsine kurulmasında bir zarar da olmadığını belirtmeliyim.

İhtiyacınız olan özellikleri seçerek ileri dediğinizde kurulum sizin için platform doğrulaması yapacaktır. Bu sayede Windows Server AppFabric tarafından ihtiyaç duyulan her şeyin sisteminizde kurulu olduğu ya da gerekli yapılandırma dosyalarına erişimin olduğunu doğrulanmış olacaktır.

Aşağıdaki ekranda Uzaktan yönetim için IIS yöneticisinin kurulu olmamasına uyarı verilirken, FTP hizmetinin çalışıyor olması hata olarak verilmiştir.

Başarısız Platform Doğrulaması

Platform doğrulamasında bir ya da bir kaç hata bulunması durumunda bu hatalar düzelene kadar kurulum devam etmenize izin vermeyecektir. Hata aldıktan sonra bunları düzelttiğinizde sağ alt köşede yer alan yenile butonu vasıtasıyla tekrar kontrol edilmesini sağlayabilirsiniz. Tüm hataların giderilmesi sonrası ileri butonu aktif hale gelecektir.

Başarılı Platform Doğrulaması

Platform doğrulaması geçildikten sonra kurulum sizden son bir kez yükleme seçimlerinizi onaylamanızı isteyecektir.

Yükleme Seçimleri

Yukarıdaki ekranda .Net 3.5.1, WCF HTTP olmayan etkinleştirme ve IIS yönetim konsolu gibi bileşenleri aktif hale getirileceği, ardından da seçtiğimiz Windows Server AppFabric bileşenlerinin kurulacağı belirtilmekte. Listenen seçeneklerde bir sıkıntı yok ise yükle butonuna basarak yüklemeye başlayabilirsiniz.

Yükleme

Platform doğrulamasından bahsederken sizlere gerekli yapılandırma dosyalarına erişiminde kontrol edildiğinde bahsetmiştirm. Windows Server AppFabric machine.config, applicationHost.config ve kök web.config  dosya içeriklerine müdahale ederek çalışması için ihtiyaç duyacağı değişiklikleri yapacaktır. Bu sebeple kurulum yapan kullanıcının bu dosyaları değiştirebilme yetkisinin bulunması gerekmektedir.

Yükleme Sonuçları

Başarılı bir kurulum sonrasında karşınıza yükleme sonuçları ekranı gelecek ve yapılan işlemler hakkında özet bilgi verecektir. Dilerseniz sağ alt köşede yer alan linki tıklayarak kurulum hakkında ayrıntılı bir rapor görebilirsiniz.

Eğer yapılandırma aracını başlat seçeneği seçili olarak son butonuna basarsanız karşınıza Windows Server AppFabric yapılandırma aracı çıkacaktır. Dilerseniz bu aracı daha sonra da başlatabilirsiniz.

Windows Server AppFabric Yapılandırması

Başlat menüsünden ya da msi kurulumunun sonlanması sonrası başlatabileceğiniz windows server appfabric yapılandırması sizi aşağıdaki ekranla karşılayacaktır;

Başlamadan önce

Kurulumda olduğu gibi bu sayfada da size müşteri deneyimi geliştirme programına katılıp katılmayacağınız sorulacaktır.

Barındırma hizmetleri yapılandırması

Karşılama sonrası göreceğiniz ilk sayfa barındırma hizmetleri yapılandırmasıdır. Bu sayfada izleme (monitoring) ve kalıcılık (persistence) yapılandırma bilgileri sorulacaktır. İlgili servis kullanıcısını ve yapılandırma sağlayıcısını bu ekran üzerinden belirtebilirsiniz.

Bu makalede izleme ve kalıcılık sağlayıcısı olarak MSSql server express sürümünü kullanacağım.

İzleme deposu yapılandırması

İzleme deposu sağlayıcı olarak System.Data.SqlClient seçip yapılandır dediğimizde karşımıza yukarıdaki ekran gelecektir. Bu ekran vasıtasıyla  bağlanılacak veritabanını ve güvenlik yapılandırmasını yapabiliriz. “İzleme deposunu başlat” seçeneği bize veritabanı sunucunda verdiğimiz isimle bir veritabanı oluşturulmasını sağlayacaktır. Önceden oluşturulmuş bir veritabanına bağlanmayı planlıyorsanız bu seçeneğin seçili olmadığını kontrol etmelisiniz, bu sayede sağlayıcı yeni bir veritabanı oluşturmak yerine yapısı önceden hazırlanmış ve içerisinde veri bulunan bir veritabanına bağlanacaktır.

Güvenlik yapılandırması bölümünde izleme deposu yönetici, okuyucu ve yazıcı gruplarını belirleyebilirsiniz. Yukarıdaki örnekte gördüğünüz gruplar Windows Server AppFabric kurulumu sırasında yerelde oluşturulmuş gruplardır. Bir sunucu kümesinde bu yerel gruplar yerine domain üzerindeki ortak grupları kullanmanız yönetimsel açıdan daha doğru olacaktır.

Yukarıdaki gruplara göz atacak olursanız yönetici ve yazıcılar aynı grup; dilerseniz mimari tasarımınız ve güvenlik ihtiyaçlarınız doğrultusunda bunlara darklı iki grup atayabilirsiniz.

Güvenlik yapılandırmasında windows kimlik doğrulaması bir küme ortamı için en doğru seçenek olsa da DMZ’e alınarak dış dünyaya açılmış ya da bir domain yapısı olmayan yerlerde Sql Server kimlik doğrulamasını kullanmak isteyebilirsiniz. Bu durumda girdiğiniz kullanıcı adı ve şifre bilgilerinin yapılandırma dosyası içerisinde text olarak tutulacağını bilmelisiniz ve eğer bu durum sizin için güvenlik zaafiyeti oluşturuyorsa kurulum sonrası elle bu alanların şifrelenmesini sağlamanız gerekecektir.

Kalıcılık deposu yapılandırması

Kalıcılık deposu sağlayıcısı olarak sqlStoreProvider seçip yapılandır dediğimizde karşımıza yukarıdaki ekran gelecektir. İzleme deposu yapılandırma ekranında olduğu gibi bu ekran vasıtasıyla  bağlanılacak veritabanını ve güvenlik yapılandırmasını yapabiliriz.

Her iki yapılandırma ekranın aynı olması sizi yanıltmasın; arka planda kullanılan sağlayıcılar aslında birbirinden tamamen farklı iki sağlayıcıdır.

İki yapılandırma ekranı için şunu da not olarak düşmeliyim; her iki ekran da seçtiğiniz yapılandırma sağlayıcısına ait ekranlardır ve farklı bir sağlayıcı seçmeniz durumunda karşınıza daha farklı ekranlar gelecektir.

Yapılandırmalar sırasında “local service” kullanıcısını seçtiğimizi göreceksiniz. Örnek kurulumumuzda yerel bir veritabanı kullandığımız için bu herhangi bir sıkıntı oluşturmayacaktır; fakat farklı bir veritabanı kullanmayı planlıyorsanız bu veritabanına erişim yetkisi olan bir kullanıcı vermeniz gerekli.

Yapılandırmalar sırasında aynı veritabanını kullanabilir olsanızda bu durum pek fazla tavsiye edilmemektedir.

Yapılandırması tamamlanmış barındırma hizmetleri ekranı

Barındırma hizmetleri yapılandırma ekranında yapılan düzenlemeler ana web.config içerisine kaydedilmektedir. Bu yapının bize getirdiği bir avantaj aksini söylemedikçe yapılandırmanın IIS üzerindeki tüm alt uygulamalar için geçerli olması ve istenirse özel olarak bazı alt uygulamalar için farklı yapılandırmalar yapılabilmesi esnekliğidir. Tabiki bunu söyledikten sonra, alt uygulamaların yapılandırmasını ancak sağlanan PowerShell komutları ile yapabileceğimizi de belirtmeliyim.

İzleme ve kalıcılık bileşenlerini ihtiyaçlarımız doğrultusunda yapılandırmamız sonrasında ekran yukarıdaki gibi görünecektir, ileri diyerek bir sonraki adım olan önbelleğe alma hizmeti yapılandırmasına geçebiliriz.

Önbelleğe alma hizmeti yapılandırması

Gelen ekranda “Önbelleğe alma hizmeti yapılandırmasını ayarla” seçeneğini işaretlediğinizde ekrandaki kontroller kullanılabilir duruma gelecektir; fakat kurulum yapılan sunucu bir domain’e dahil ise önbelleğe alma hizmeti hesabının değiştirilemediğini göreceksiniz. Domain içerisindeki kurulumlarda önbellek hizmeti hesabı“NT AUTHORITY\NETWORK SERVICE”’dir. Eğer kurulum yapılan sunucu domain dışında ise “LOCAL SERVICE” ya da benzeri farklı bir hesap belirtilmek zorundadır.

SQL sağlayıcı workgroup hatası

Önbelleğe alma hizmeti iki varsayılan sağlayıcıyla birlikte gelmektedir;

  • SQL Server AppFabric Caching Service Configuration Store Provider
  • XML

 

Bu sağlayıcılardan SQL Server sağlayıcısını seçmeniz durumunda yapılandır butonu vasıtasıyla aşağıdaki yapılandırma ekranını açarak gerekli yapılandırma bilgilerini verebilirsiniz.

Önbelleğe alma hizmeti yapılandırma deposu

Daha öncekilerden farklı olarak bu ekranda herhangi bir güvenlik yapılandırması yer almamaktadır. “AppFabric Önbelleğe Alma Hizmeti yapılandırma veritabanı oluştur” seçeneği sayesinde yeni bir veritabanı oluşturulabilir.

Sağlayıcı olarak XML’in şeçilmesi durumunda verilecek tek yapılandırma bilgisi xml dosyanın bulunacağı network paylaşımının adresi olacaktır. Burada dikkat edilmesi gereken bir nokta; önbelleğin sadece bir sunucu üzerinde kuruluyor olması durumunda dahi XML sağlayıcı seçildiğinde networkte paylaşılan bir klasör verilmelidir, bu klasör önbellek sunucusu üzerinde de olabilir.

Sağlayıcı yapılandırmasının tamamlanması sonrası varolan bir kümeye katılmak ya da yeni bir küme oluşturmak istememize göre “yeni küme” ya da “kümeye katıl” seçeneklerinden birisini seçmeliyiz.

Bu seçeneklerin hemen altında ise küme boyutunu belirtileceği bir combobox yer almaktadır. Küçük, Orta ve Büyük olmak üzere üç seçeneğin sunulduğu bu combobox’tan kurmayı planladığımız küme boyutuna uygun olanı seçmelisiniz. Küme boyutlarının yanında yer alan sunucu sayıları kesin değerler olmayıp boyut hakkında fikir vermesi amacıyla konulmuştur. Windows Server AppFabric daha iyi performans vermek acıyla seçilen değere göre optimize olur. Bu değerin daha sonradan değiştirilmesi istenirse tüm önbellek kümesinin çevrimdışı hale getirilmesi gerekeceğinden (çünkü yeni bir küme oluşturup tüm sunucuların baştan eklenmesi gerekecektir) doğru seçeneğin baştan belirlenmesi önemlidir. Pratikte pek çok uygulamanın ihtiyacı olan önbellek küme boyutu küçük olacaktır. 15 sunucunun dahil olduğu büyük bir küme ihtiyacı çok az olacaktır. Bir sunucunun ortalamada 4GB ile 8GB arası hafızaya sahip olduğunu varsayarsak, 15 sunuculuk bir kümede 60GB ile 120GB arası bir önbellek hafızasından bahsetmiş oluruz; ki mimari açıdan böylesi büyük bir hafıza boyutu içerisinde işlem yapılması yerine veritabanı kullanımına gitmek daha mantık ve performanslı olabilir.

Önbellek ile ilgili yapılması gereken bir diğer yapılandırma ise hizmetçe kullanılacak olan portların belirtlenmesidir.

Önbellek düğümü yapılandırması

AppFabric önbellek düğümü yapılandırma ekranı vasıtasıyla düğümde kullanılacak portları belirleyebilirsiniz. Genelde buradaki portların değiştirilme ihtiyacı olmasada portun başka bir uygulama tarafından kullanımda olması ya da güvenlik gerekçesiyle değiştirilmesi istenebilir.

Kurulumun yapılacağı bilgisayarda Windows Güvenlik duvarının etkin olması durumunda verilen bağlantı noktaları için istisna tanımlanması gerekmektedir. Bu ekranda bulunan window güvenlik duvarı özel durumları grubu bu amaçla kullanılabilir. Farklı bir güvenlik duvarı kullanılması durumunda bu bağlantı noktalarına elle izin verilmesi gerekecektir.

Uygulama

Son adım olan uygulamayı yapılandır ekranında son butonuna tıklanarak yapılandırma tamamlanır. Burada yer alan”Internet Information Services (IIS) Yöneticisi’ni Başlat” seçeneğinin seçili olması durumunda işlem sonlandığında IIS yöneticisi açılacaktır.

Tüm bu adımlar sonunda Windows Server AppFabric sunucunuza başarıyla kurulmuş ve yapılandırması tamamlanmış olacaktır.

İlk kurulum sonrasında başlat menüsünde yer alan Önbelleğe Alma Yönetimi Windows PowerShell kısayolu yardımıyla (sistem yöneticisi olarak) başlatacağınız PowerShell oturumuyla aşağıdaki komutlarla önbellek kümesini başlatmalısınız;

Use-CacheCluster
Start-CacheCluster
StartCacheCluster
Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Türkçe, AppFabric

Windows Server AppFabric RC sürümü yayınlandı

20. May 2010

Bugün Application Infrastructure Virtual Event’in başlamasıyla birlikte Windows Server AppFabric’in RC sürümü yayınlandı. http://go.microsoft.com/fwlink/?LinkID=169435 adresinden indirebileceğiniz bu sürümü aynı zamanda Web Platform Installer üzerinden bilgisayarınıza otomatik kurmanız mümkün.

http://msdn.microsoft.com/appfabric adresini ziyaret ederek Windows Server AppFabric ve RC sürümü hakkında detaylı bilgiler bulabilir, yardım konuları ve örneklerden faydalanabilirsiniz.

Application infrastructure Virtual Event’le ayrıca BizTalk Server 2010’un ilk betası da duyuruldu. Windows Server AppFabric ile entegre çalışabilen yeni BizTalk Server 2010 hakkında daha detaylı bilgiye Biztalk web sitesinden ulaşabilirsiniz.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Türkçe, AppFabric ,

Windows Server AppFabric Beta 2 Yenilemesi

1. May 2010

Visual Studio 2010 ve .Net framework 4.0’ın RTM olması sonrası  bu ürünlerle Windows Server AppFabric Beta 2’nin birlikte kullanılamadığınız size daha önceki makalemde iletmiştim. Geçtiğimiz pazartesi Microsoft tarafından yapılan duyuruda, gelen yoğun geri bildirimler üzerine bu ürünlerin birlikte kullanılabilmesi amacıyla Windows Server AppFabric Beta 2 sürümünde bir yenileme yapıldığı bildirildi.

Window Server AppFabric Beta 2 Refresh indirme sayfası üzerinden edinebileceğiniz bu güncellemeyi kurarken dikkat etmeniz gerekenleri kurulum dokümanında bulabilirsiniz. Güncelleme işlemi sırasında dikkat etmeniz gerekenlerden birisi de KB980423 ve KB970773 (IIS 7.0 içerisinde yer alan IIS Manager için önemli bir güncelleme) numaralı Windows güncellemelerini yapmanız. KB980423 güncellemesi aynı zamanda KB970773 güncellemesini de barındırıyor olması nedeniyle her iki güncellemeyide henüz yapmamış iseniz sadece KB980423 güncellemesini bu adresten indirerek yapmanız yeterli. Bu güncelleme AppFabric kurulumu öncesinde ya da sonrasında yapılabilir.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Türkçe, AppFabric Cache, AppFabric, Visual Studio , ,

Windows Server AppFabric Beta 2 ve .Net 4.0 RTM

15. April 2010

Daha önceki yazımda da duyurduğum gibi Visual Studio 2010 ve .Net Framework 4.0 RTM sürümü yayınlandı; fakat hem Windows Server AppFabric hem de .Net Framework 4.0 RTM’i bir arada kullanabileceğinizi düşünüyorsanız size kötü bir haberim var. Malesef ki Windows Server AppFabric Beta 2 sürümünün .Net Framework 4.0 RTM’i kullanmıyor olması nedeniyle ikisini bir arada kullanabilmek için AppFabric’in bir sonraki sürümünü beklemek zorundayız. Yayınlanan sürüm planlarına bakılırsa 2010’un ilk yarısının sonlarında Windows Server AppFabric RTM sürümü yayınlanacak. Bu durumda haziran ayı sonuna doğru yayınlanması planlanan Windows Server AppFabric RTM ile birlikte .Net Framework 4.0 ve Visual Studio 2010 RTM sürümleri kullanılabilecek. Sanırım biraz sabretmemiz gerekecek :)

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Türkçe, AppFabric , ,

AppFabric Cache - Önbellek Bildirimleri

8. April 2010

AppFabric Cache daha önce yazdığım makalelerimde detaylarını bulabileceğiniz özellikleri yanında kullanıcılarına bildirimlerde sunmaktadır. AppFabric Cache’in bizlere sunduğu bu önbellek bildirimleri sayesinde istemci uygulamanız önbellek durumu hakkında bilgi sahibi olabilir ve bu bilgiler doğrultusunda iş mantıkları işletebilir. Asenkron olarak yapılan bu önbellek bildirimleri aynı zamanda yerel önbelleğinizin otomatik olarak hükümsüz hale gelmesine de(Invalidation) olanak sunar.

İsimlendirilmiş bir önbellekten bildirim alınabilmesi için öncelikle bu önbelleğin bildirim yapabilecek şekilde yapılandırılmış olması gerekir. PowerShell komut satırından yapabileceğiniz bu yapılandırma ya New-Cache komutu ile isimlendirilmiş önbellek oluşturulurken ya da Set-CacheConfig komutuyla mevcut bir isimlendirilmiş önbellek üzerinde yapılabilir. Varsayılan olarak tüm önbelleklerde bildirimler kapalı konumdadır ve harici olarak belirtilerek aktif hale getirilebilirler.

Bölge işlemleri ve nesne işlemleri olmak üzere iki ana grupta toplayabileceğimiz önbellek bildirimleri listesini aşağıda bulabilirsiniz;

Bölge İşlemleri

Önbellek üzerinde bulunan bölgelere dair bildirimlerin toplandığı bu grupta aşağıdaki bildirimler yer almaktadır;

  • CreateRegion   : Önbellek üzerinde yeni bir bölge oluşturulduğunda yapılan bildirimdir
  • ClearRegion      : Önbellekte bulunan bir bölge temizlendiğinde yapılan bildirimdir
  • RemoveRegion : Önbellekte bulunan bir bölge kaldırıldığında yapılan bildirimdir

 

Nesne İşlemleri

Önbellekte bulunan nesneler üzerinde yapılan işlemlere dair bildirimlerin toplandığı bu grupta aşağıdaki bildirimler yer almaktadır;

  • AddItem         : Önbelleğe bir nesne eklendiğinde yapılan bildirimdir
  • ReplaceItem  : Önbellekte yer alan bir nesne yenisi ile değiştirildiğinde yapılan bildirimdir
  • RemoveItem  : Önbellekte yer alan bir nesne kaldırıldığında yapılan bildirimdir

 

Uygulama geliştiriciler iş mantıkları gereği yukarıdaki bildirimlerden bir ya da birkaçını ve sadece belirli bir alan için almak isteyebilirler; örneğin sadece belirli bir bölge içerisinde yeni bir nesne eklendiğinde. AppFabric Cache yapısı tasarlanırken bu nokta da göz önüne alınmış ve bildirim alanları oluşturulmuştur. Uygulamalar iş mantıkları gereği bir önbellek içerisinde yapılan tüm nesne işlemleri hakkında bildirim almak isteyebileceği gibi sadece belirli bir bölgede ve hatta özellikle bir nesne üzerinde yapılan işlemler hakkında da bildirim almak isteyebilir. Bu sebeple AppFabric Cache bildirim mimarisinde önbellek, bölge ve nesne olmak üzere 3 seviyede tanımlanmış bildirim alanları bulunmaktadır.

Seçtiğiniz bildirim alanına göre aşağıda sıralanan metodlardan ihtiyacınızı karşılayanı kullanarak bir önbellekten bildirim alabilirsiniz;

  • AddCacheLevelCallback  : Bir önbellek içerisinde yer alan tüm bölge ve nesnelere ait işlemler hakkında bildirim almak için kullanılır
  • AddRegionLevelCallback :Bir önbellek içerisinde yer alan özellikle belirli bir bölge ve bu bölge içerisindeki nesneler hakkında bildirim almak için kullanılır
  • AddItemLevelCallback     : Bir önbellek içerisinde yer alan özellikle belirli bir nesne hakkında bildirim almak için kullanılır

 

Önbellek istemci uygulaması belirli aralıklarla talep edilen bildirim türü ve alanına uygun bildirimleri kontrol eder. Varsayılan olarak her 300 saniyede bir yapılan bu kontrol, istenirse uygulama yapılandırmasında değiştirilebilir.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

AppFabric, Türkçe

AppFabric Cache Yönetim cmdlet’i – 1.2

5. April 2010

Daha önce yayınlamış olduğum AppFabric Cache yönetim cmdlet’inin yeni sürümünü aşağıda bulabilirsiniz:

#################################################################
#       AppFabricCacheSetup.ps1 PowerShell Cmdlet               #
#################################################################
# AppFabric önbellek kümesini geliştirme ortamında kullanılmaya #
# hazır hale getirir.                                           #
#################################################################
# Fatih Boy, Nisan 2010                                         #
# Version 1.2                                                   #
#################################################################


## imzalanmamış betikleri çalıştırmak için aşağıdaki komutu kullanmanız gerekebilir :
# Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

$user = [Security.Principal.WindowsIdentity]::GetCurrent()

if((New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)){
	Write-Host "Dağıtık önbellek yönetim modülü yükleniyor, lütfen beleyiniz..."
	Import-Module DistributedCacheAdministration
	Use-CacheCluster
	
	$cacheName= Read-Host "Lütfen oluşturulacak cache adını giriniz (default'u kullanmak için enter'a basınız)"

	if($cacheName -ne ""){
		New-Cache $cacheName
	}

	if ((Get-CacheAllowedClientAccounts) -notcontains $env:username) {
		Write-Host "$env:username kullanıcısı için önbellek erişim yetkisi veriliyor..."
		Grant-CacheAllowedClientAccount $env:username
	}

	$hostinfo = Get-CacheHost
	if($hostinfo.Status -eq [Microsoft.ApplicationServer.Caching.AdminApi.ServiceStatus]::Down){
		Write-Host "Önbellek kümesi başlatılıyor, lütfen bekleyiniz..."
		Start-CacheCluster
	}


	if($cacheName -ne ""){
		Write-Host ""
		Write-Host "$cacheName önbellek özellikleri : "
		Write-Host "----------------------------------"
		
		Get-CacheConfig $cacheName
	}else{
		Write-Host ""
		Write-Host "default önbellek özellikleri : "
		Write-Host "----------------------------------"
		Get-CacheConfig default
	}
}else{
	Write-Warning "Bu betiğin doğru çalışması için lütfen sistem yönetici haklarıyla çalıştırınız."
}
Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

AppFabric, PowerShell, Türkçe ,

C# Programsal Olarak AppFabric Cache Host Bilgisine Erişmek

4. April 2010

AppFabric Cache ile ilgilendiğinizde gördüğünüz ilk şeylerden birisi kurulumunu ve yapılandırmasını PowerShell üzerinden yapabilmenizdir. AppFabric Cache yönetimsel araçlarını kurarak erişebileceğiniz bu yapılandırma cmdlet’leri sayesinde gerek yerel gerekse de uzak sunucularınızda ihtiyacınız olan her türlü önbellek işlemini yapabilirsiniz.

Zamanla, yaptığınız bu yönetimsel işleri programsal olarak yapmak isteyebilirsiniz ya da iş mantığınız gereği önbellekte bulunacak verileri en baştan atmak isteyebilirsiniz. Her ne kadar bu gibi şeyleri yazacağınız PowerShell cmdlet’leri ile yapabiliyor olsanız da (burada ve burada örneklerini bulabileceğiniz gibi) bu işi programsal olarak yapmak en az benim kadar sizin de hoşunuza gidecektir.

İşe öncelikle PowerShell komutlarını çalıştırabileceğimiz ortamı hazırlamakla başlamalıyız. Bunun için, şimdiye kadar yapmadıysanız eğer, PowerShell v2 SDK’sını indirerek bilgisayarınıza kurmalısınız.

var initialSessionState = InitialSessionState.CreateDefault();
initialSessionState.ThrowOnRunspaceOpenError = true;

runspace = RunspaceFactory.CreateRunspace(initialSessionState);

runspace.Open();

Yukarıdaki kod bize PowerShell komutlarımızı çalıştırabileceğimiz bir ortam sağlayacaktır. Ardından komutlarımızı vereceğimiz bir PipeLine oluşturmalıyız;

var pipeline = runspace.CreatePipeline();

Nerdeyse programımız bitmek üzere, aynı yeni bir PowerShell komut satırında olduğu gibi önbellekte çalıştırılacak komutlarınızı pipeline’a geçmemiz gerekli;

pipeline.Commands.Add(new Command("Use-CacheCluster"));
pipeline.Commands.Add(new Command("Get-CacheHost"));

Get-CacheHost komutu bize önbellek sunucumuz hakkında bilgiler verecektir. Yukarıda ardıl olarak sıralamış olduğumuz komutlar pipeline üzerindeki invoke metodu ile çalıştırabiliriz;

var result = pipeline.Invoke();

Bu noktada result nesnesi, içerisinde sunucu hakkındaki adı, port numarası, servis adı, sürümü  ve durumu gibi bilgileri barındıran HostInfo (Microsoft.ApplicationServer.Caching.AdminApi.HostInfo) türündendir.

Son bir dokunuşla kKodumuza önbellek komutlarını çalıştırmak için gerekli olan DistributedCacheAdministration modülünün yüklenmesinide ekleyecek olursak işimizi tamamlayabiliriz;

var initialSessionState = InitialSessionState.CreateDefault();
initialSessionState.ImportPSModule(new[] { "DistributedCacheAdministration" });
initialSessionState.ThrowOnRunspaceOpenError = true;

runspace = RunspaceFactory.CreateRunspace(initialSessionState);

runspace.Open();

var pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(new Command("Use-CacheCluster"));
pipeline.Commands.Add(new Command("Get-CacheHost"));
var result = pipeline.Invoke();

var hostInfo = (HostInfo)result[0].BaseObject;

Console.Out.WriteLine("Sunucu Adı        : " + hostInfo.HostName);
Console.Out.WriteLine("Sunucu Portu      : " + hostInfo.PortNo);
Console.Out.WriteLine("Sunucu Servis Adı : " + hostInfo.ServiceName);
Console.Out.WriteLine("Sunucu Durumu     : " + hostInfo.Status);
Console.Out.WriteLine("Sunucu Sürümü     : " + hostInfo.VersionInfo); 

Yukarıdaki kodun çalışabilmesi için aşağıdaki assembly’lerin referanslarınızda olması gerekli;

  • Microsoft.ApplicationServer.Caching.Client
  • Microsoft.ApplicationServer.Caching.Core
  • Microsoft.ApplicationServer.Caching.Management
  • System.Management.Automation

 

Not 1 : 64-bit bir işletim sistemi üzerinde çalışıyorsanız. AppFabric Cache referanslarını eklenmesi ile ilgili makalemi okumanızı tavsiye ederim.

Not 2 : Yukarıdaki kodu Visual Studio 2010 ve .Net framework 4.0 ile derlemeye çalışıyorsanız hedef framework’ünüzün “.Net Framework 4 Client Profile” değil “.Net Framework 4” olduğunu kontrol edin.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

C#, PowerShell, Türkçe, AppFabric , ,