Makale Özeti

Konfigürasyon Yönetimi Uygulama Bloğuna Giriş Yapıyoruz...

Makale

CONFIGURATION MANAGEMENT APPLICATION BLOCK (Konfigürasyon Yönetimi Uygulama Bloğu) - 1

Uygulamalarımız içerisinde birçok değişken kullanıyoruz. Bu değişkenlerden bazıları uygulama içerisinde oluşan durumlara göre değişirken, bazıları da içeriğini fazla değiştirmeye gerek göremeyebileceğimiz değişkenler olabilir. Örneğin veri tabanına bağlantı ifadesi. Bu ifade bir string olarak tanımlanır ve genellikle değiştireye gerek duyulmaz. Tabiki uygulamanızın yapısı ile ilgili durumlar olabilir. Bunun sadece bir örnek olduğunu unutmayın. Bu gibi ihtiyaçlar için, uygulama içerisinde tanımladığımız değişkenlerde elbette bir çözümdür. Ancak veri tabanına bağlantı ifadesini değiştirmek zorunda olduğumuzda, uygulama içerisine girip, gerekli değişimi yaptıkdan sonra uygulamayı derleyip yeniden dağıtımını yapmamız gerekir.

Açıkcası bu gibi durumlar, ihtiyacı karşılasada çok da doğru bir yapı olduğu söylenemez. Bu çözüm yerine uygulama içerisinden çağıracağımız bu tür bilgileri bir dosya örneğin .txt içerisinde tutarsak ve uygulama içerisinden bilgileri atarken .txt içerisindeki bilgileri okursak çok daha doğru bir çözüm olacaktır. Çünkü değişiklik yapmamız gereken durumda sadece .txt dosyası üzerinde gerekli değişimi gerçekleştirdikden sonra, uygulama yeniden bu dosya üzerinden bilgileri okuyacağı için herhangi bir derlemeye gerek kalmayacaktır.

Şu ana kadar bu tür çözümler gerçekleştirmiş olabiliriz. .txt, .xml, .ini gibi dosya tiplerinde bu tür bir çözüm için kullanmış olabiliriz. Bunun içinde uygulama içerisine gerekli kodları yazmamız gerekir. Bir senaryo ile pekiştirelim. Bilgiler.xml isimli bir dosyamız olsun ve bazı bilgilerimiz bu dosya içinde yer alsın. Uygulama ilk çalıştığı anda, Bilgiler.xml dosyası okunacak ve tanımladığımız değişkenlere içlerindeki bilgiler atanacak. Bu senaryoyu gerçekleştirmek için kodlar yazmak zorundayız. Bu anlamda yazdığınız kod satırlarını azaltmak için Microsoft’un .Net platformunda bize hazır bir uygulaması mevcut. Configuration Management Application Block adı altında sunulan bu uygulama ile, yukarıda bahsedilen ihtiyaçları daha az kod yazarak sağlayabiliriz. Eğer şu ana kadar bu tür bir çözüm geliştirmediyseniz, bu yapıyı kullanmanızda fayda olacaktır.

Uygulamayı indirmek için;
http://ww w.microsoft.com/downloads/details.aspx?FamilyId=85CB1C53-8CA7-4A92-85E3-E4795BD27FEB&displaylang=en

adresini kullanabilirsiniz. Bedava ve kaynak kodu açık bir uygulamadır.

Sistem gereksinimler;
* İşletim sistemi olarak, Windows Server 2003, Windows 2000, Windows XP Professional desteklemektedir.
* Microsoft .NET Framework 1.1 ve .NET Framework SDK’nın kurulu olması gerekmektedir.
* Zorunlu olmamakla birlikte, Visual Studio .NET’in kurulu olması tavsiye edilir.

Hem C#, hemde VB .NET desteği mevcuttur. Uygulamayı indirip, kurdukdan sonra her iki dilde kaynak kodu açık şekilde gelecektir. İstediğiniz dildeki kaynak kodu açın ve uygulamayı derleyin. Bunun sonucunda gerekli dll’ler varsayınlan olarak,

C:\Program Files\Microsoft Application Blocks for .NET\ConfigurationManagement\Code\CS\Microsoft.ApplicationBlocks.ConfigurationManagement\bin\Debug

Klasörü altında kurulacaktır. Buradaki DLL’leri, kullanmak istediğiniz .Net projenize refrerans olarak verdiğiniz zaman, uygulamanızda kullanabilir hale geleceksiniz.
Burada iki DLL göreceksiniz, Microsoft.ApplicationBlocks.ConfigurationManagement.dll ve Microsoft.ApplicationBlocks.ConfigurationManagement.Interfaces.dll.
ConfigurationManagement.dll, bu bloğu kullanmak istediğimizde referans göstermemiz gereken DLL’dir. Interfaces.dll ise, bu bloğu implemente etmek istediğimizde kullanacağımız DLL’dir.
Configuration Management Application Block’un sağladığı, C# için static veya VB.NET için shared metotlar ile uygulamalarınızın konfigürasyon bilgilerini okuyabilir veya yazabiliriz. Sizin uygulamanızın konfigürasyonlarını saklayabilmeniz ve okuyabilmeniz için esnek veri modeli sunar. Yani uygulamanızın bilgilerini birçok genel veri depolama ortamında veri saklayabilir, alanlarını istediğiniz gibi belirleyebilirsiniz.

Veri güvenliği ve güvenilirlik
Veri şifreleme, en çok istenilen özelliklerinden bir tanesidir. Bu ortamda da istersek uygulama konfigürasyonu verilerilerimizi şifreli olarak tutabiliriz. Yani kolaylıkla kimse bu bilgilerimize erişemez. Örneğin bu bilgileri bir dosyada tutuyorsanız, fiziksel olarak yerini bilen kişiler açıp içerisine bakabilir. Bu dosyada veritabanı bağlantı bilgilerini, şifreleri tutabileceğimizi düşünürseniz, bu özelliği de mutlaka kullanmamız gerekir.

Performans
Opsiyonel olarak, ön bellekleme yapabilme özelliğini sağlar. Bu opsiyonu kullanarak, konfigürasyon dosyasının okunmasında hız sağlayabiliriz. Yani uygulamanın konfigürasyon bilgilerini ön bellekleyebiliriz. Çok sık bilgi değiştirmeyeceğimiz durumlarda, bu bilgileri ön belleklersek, daha hızlı okuma sağlanacağından performans artışı söz konusu olacaktır.

Yeliz Korkmaz, MVP
yelizkorkmaz@tnn.net

Kaynak : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/cmab.asp