Dağıtık mı ? Entegre mi ?

 Kaynak Kod konfigürasyon yönetimi dünyasına şu anda iki trend var… Bunlardan biri dağıtık versiyon kontrol sistemleri (DVCS), diğeri ise klasik merkezi versiyon kontrol sistemleri (CVCS)…

Bu iki kavramın açık kaynak kod tarafında uygulamaları DVCS için Git, Mercurial, CVCS için CVS, Subversion örnek gösterebiliriz… 

Kurumsal uygulama tarafında ise BitKeeper dağıtık tarafta, Visual Source Safe, ClearCase, Perforce`ı vb. ise merkezi versiyon kontrol sistemi olarak kullanılan SCM araçlarıydı diyebiliriz…

Geçmiş zaman kullandım, çünkü artık Uygulama Yaşam Döngüsü (Application Lifecycle Management – ALM) dediğimiz kavrama doğru kurumlar pozisyon almaya başladı. Burada ise pazarın büyük oyuncuları Microsoft`un Team Foundation Server ürünü, IBM, ve HP`nin ALM çözümleri bulunuyor..

 DVCS kurumsal pazarda nerede ? (…)

Yok… ancak bu böyle mi devam edecek ? Hayır… Etmeyecek ? Peki ama neden ?

Çünkü bu bir trend ve trend talebi de birlikte getiriyor… iddia ediyorum yakın zamanda kurumsal tarafta pazar oyuncuları mevcut çözümlerine “distributed” tarafını da ekleme iddiası ile gelecekler… Peki sonra ne olacak ?

Şu olacak, kurum içinde DVCS mantığı ile çalışmak isteyenler ila kurum içinde çalışma kültürünü korumak isteyenler arasında tartışmalar çıkacak ve bu girişimler hüsranla sonuçlanacak…

Peki ama neden ?

Şu sebeplerle;

1-) Kurum için ihtiyaç olan entegrasyondur ve uygulama yaşam döngüsünü optimize eden, entegrasyondur. Kurum içinde tüm araçların entegre çalışması hedeflenir.

2-) Dağıtık yapı – adı üzerinde- esnek çalışma şekli - amiyane tabirle “kafana göre takılma” – özgürlüğü sunar. Kurumsal yapıda bu şekilde çalışmak bir tarz değil, “bug” dır.

3-) DVCS (doğası gereği) geliştiricinin rahat çalışabilmesi için “repositorye (kaynak kod ambarı) ” geliştiricinin kendi makinesinde ihtiyaç duyar.. Bir bankanın tüm kaynak kodlarını tarihçesi ile birlikte yeni gelen stajerinin bilgisayarına koyabileceğini düşünmek -amiyane tabirle- saflıktır…

Bu liste devam edebilir, peki ama DVCS`nin hiç mi iyi tarafı yok ?

DVCS açık kaynak kodlu projeler bağlamında harika bir çözüm sunuyor. Özellikle geliştiricinin kendi bağlamında çalışarak kimseyi rahatsız etmeden check-in / commit vb yapabilmesi ve branch / merge işlemlerini  yapabilmesi vb gibi özellikler anlamında harika bir çözüm. Daha önce de bu konuda belirttiğim gibi, açık kaynak kodlu projeler gibi ad-hoc planlamaların ve geliştirmenin olduğu projeler için doğru yöntem olduğuna inanıyorum.

Ancak kurumsal tarafta DVCS’nin ALM çözümü olmaktan çok uzak olduğunu söyleyebilirim.

PS – Branch / Merge işlemleri eğer “aptalca” yapılırsa problem olur. Branch stratejilerinizi belirleyemiyorsanız ve yeni gelen stajer “eki eki – stajer bu branchte takılıyoree” şeklinde branchler açabiliyorsa bu SCM’nin değil, uygulama geliştirme politikalarınızın suçudur.

Not: Burak Gürsoy‘a düzeltmeler için teşekkürler :-)

2 Yorum yapılmış »

  1. Ibrahim Akgul der ki,

    Nisan 22, 2010 @ 09:34 sularında yazmış

    Merhabalar üstad,

    Özgür yazılım dünyasına yeni dalmış biri olarak bir sorum olacaktı. Bu arada bu sorunun cevabını ararken google’in önüme çıkardığı tek uzman seviyesinde Türk siz olduğunuzdan bu soruyu size sorma ihtiyacı hissettim. Şirketimiz yeni bir proje için uygulamayı yazan firmanın benden 2 ayrı Redhat enterprise kurmamı ve bunlardan birinin application diğerinin ise database server olmasını istediğini belirtti. Application server tarafına java 6.18 EE kurdum ve bununla birlikte glassfish serverda hazır geldi. Database tarafınada mysql community server kurdum. Yaptığım tüm ayarları ve kurulum bilgilerini firmaya geçtim bana bu yaptıklarımın uygulamalarını çalıştırmak için yeterli olduğunu söylediler. Ancak sonradan gönderdikleri ve daha önceden örnek kurulum yaptıkları bi kaç firma için hazırladıkları adım adım kurulum rehberilerinde aplication server olarak jboss istemişler. Onlara yazmadan önce size sorayım dedim.

    Jboss için yazılan bir uygulama Glassfish üzerinde de çalışırmı?

    Şimdiden vereceğiniz cevap için çok teşeşkkür eder iyi çalışmalar dilerim.

  2. Ersan Bilik der ki,

    Nisan 23, 2010 @ 10:43 sularında yazmış

    Merhabalar,

    Bakmak gerek. Eğer jboss’un yeteneklerini kullanarak geliştirme yapmışlar ise elbette Jboss elzem olacaktır. Bu soruyu mutlaka karşı tarafa sorun derim.

    Kolay gelsin,

    Ersan.

Yorumlar için RSS · Kalıcı Bağlantı URI

Senin fikrin nedir ?

Adın: (Gerekli)

E-posta: (Gerekli)

Website:

Yorum: