14 Haziran 2011 Salı

Side By Side Execution (Yan Yana Çalışma)

Merhaba alıntı yapıp yazının bir kısmını buraya da taşıdım, makalenin devamını aşağıdaki linkten takip edebilirsiniz.

http://www.yazgelistir.com/Hakkinda/YazarDetay.aspx?UyeId=1000055335

------------------------------------------------------------

Side By Side Execution aynı isimli birden fazla uygulamanın yan yana , paralel olarak çalışabilmeleridir.

Side by Side Execution kavramı içersinde iki çeşit yan yana çalışmadan bahsedebiliriz.

Aynı dll in farklı versiyonlarının yan yana çalıştırılması
Birden fazla .Net Framework ün aynı makinada yan yana çalışması
Biz bu yazımızda aynı dll in farklı versiyonlarının yan yana çalıştırılmasını inceleyeceğiz.Ancak detaylara girmeden önce niçin böyle bir şeye ihtiyaç olduğunu anlamaya çalışalım.

Com teknolojisi ile yazılmış olan dll leri kullanabilmek için , bu uygulamaları Register etmek ,Yani Windows un registry sine eklemek ve. Registry ye de, Dll ile ilgili bir takım bilgilerin yazılması gerekirdi .Örneğin bir Class ID (Sınıf Numarası) , Dll in bulunduğu dizin vb. Yazdığımız uygulamalarda ise, herhangi bir Com dll ini kullabilmek için o dll in registry de kayıtlı Class id sini kullanırız. Bu class id registry den bulunur ,dll in dizinine ulaşılır ve oradan uygulamaya eklenir.Bu şekilde birden fazla uygulamanın aynı dll i kullanabilmeleri sağlanır.

Birden fazla uygulamanın kullandığı bir Com dll ini kullanırken ,bir uygulamanın yeni versiyonunun bu dll i değiştirdiğini düşünelim. Yazılan bu yeni dll ile yeni versiyon uygulama sorunsuz olarak çalışacaktır. Peki aynı dll i kullanan diğer uygulamalara ne olur? Diğer uygulamalar kullandıları dll değiştiği için çalışmayacaktır. Aynı Com dll ini kullanan uygulamaların , dll in değişmesi sonucunda çalışmaz hale gelmesine Dll Hell (Dll Cehennemi) denir.

Ayrıca , daha önce den yazılmış bir Com dll i üzerinde değişiklik yapmak istediğimizde , değişikliği yaptıktan sonra dll i derlerken bir önceki dll e uygun şekilde(compatible) derlenmesi gerekir. Aksi takdirde yazdığımız Dll , onu kullanan uygulamalar tarafından çağırılamayacaktır.

İşte yukarıda açıkladığımız durumlardan dolayı Com teknolojisi getirdiği tüm yeniliklerin yanında bu konuda iki büyük sorunu içerir. Şimdi bu sorunların .Net ile birlikte nasıl çözülebildiğine bakalım.

Hiç yorum yok:

Yorum Gönder