Windows Server AppFabric kurulumu ve yapılandırması

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

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir