Microsoft .NET Teknolojisi
Microsoft un .NET teknojilerinin ile programcılara yeni ufuklar
doğurduğu bir gerçek, ama bu ufuklar ulaşabileceğimiz kadar yakında mı,
yoksa uzakta mı. Tüm yazılımcıların beklediği cevap işte bu. Aslında
.NET bize değişen dünyanın değişen teknolojilerini getiriyor. Şu anda
kullanılan alışılagelmiş programlama araçlarını bir süre sonra
kullanabileceğimizi söylemek çok zor. Internet altyapısı geliştikçe tüm
kurumlar parmaklarının ucuda olan bu kolaylığı paraya döndürmeye
çalışıyorlar. Bu da yazılımcılara yeni işler çıkartıyor tabii ki.
Microsoft un getirdiği yeni nesil web kavramı ile artık .NET sadece bir
platform olmaktan çıkıp Internet tabanlı bir işletim sistemi olma
yoluna doğru ilerliyor. İnternetin de hızla ilerlemesi sonucunda bu
platformun yazılımcıların dünyasını değiştireceğini söylemek pek te zor
değil. İnternet Kurumsal olarak, ticari anlamda kulanılmaya
başladığından beri vazgeçilemez bir elektronik platform olmuş durumda.
Yerli ve yabancı tüm firmalar B2B ve B2C işlemlerini internet altına
aldıklarında otomasyonu gerçek anlamda kullanmaya başlayacaklarını
biliyorlar, tabiki bunu için entegrasyon standartlarını da kabullenmek
lazım. Bağlanmak için HTTP, bulmak için UDDI, tanımlama için XML
hareketler için SOAP kullanmak gerekiyor. Aslında .NET framework teknik
olarak COM+ ın yeni versiyonu ama yine teknik olarak bildiğimiz COM dan
tamamen farklı, Iunknown ve referans lar artık kallanılmıyor.
Alışılageldiği gibi GUID ler için registry kullanılmıyor. .NET ile
gelen çarpıcı özelliklerden biri de JiT Derleyicisi (Just in time
complier). Bu özelik ile .Net içinde kullanılan diller kodunuzu
Microsoft Intermediate language e çeviriyor bu kod ise program
kurulduğunda veya ilk çalıştırıldığında JiT Derleyici tarafından makina
diline çeviriliyor. Runtime Engine derlenmemiş fonksiyonları çekerek
çalışacağı veya kurulacağı anda gerektiği şelkilde derliyor. JiT in
sağladığı en önemli avantajlardan biri platform ve dil bağımsızlığı
olarak karşımıza çıkıyor.
Platform bağımsızlığından bahsederken her platformda çalışan bir kodun pek te pratik olmadığını görüyoruz. Çünkü bu sefer de kullandığımız işletim sisteminin güzelliklerinden uzak yeknesak bir program çıkıyor karşımıza. Ancak JiT derleyicisi ile bu problem kurnazca aşılıyor. JiT teknolojileri de gün geçtikçe daha gelişmiş olarak karşımıza çıkıyor ve performans olarak ta diğerlerinden pek aşağı kalmıyor. İkinci olarak platformlar arasında dağıtık uygulamaların geliştirilmesi geliyor, bu da Web standartlarında kabul görmüş tekniklerle XML ve SOAP gibi araçlarla çözülüyor. Bu araçların temellerininde COM ve MTS gibi ispatlanmış teknolojiler olduğu için de yazılımları bu platformlarda geliştirmek birer macera olmaktan çıkıyor. İşte VS.Net zaten bu aşamada devreye giriyor. Entegrasyon teknoljileri, dağıtık uygulamalar ve bunlar için kullanılan teknikler arttıkça programlama da daha zor bir hal almaya başlıyor. Özellikle VB.net ile COM un ulaşabilirliğe ve programlanabilirliği artıyor. Aynı zamanda C# ile Dağıtık Web uygulamaları bir siyah kuşak programlama sanatı olmaktan çıkıyor.
Dil bağımsızlığı da .Net in hedeflerinden biri. IL (Intermediate language) ile programlama ile makina dili arasına yeni bir katman daha gekliyor. Bu katmanı eskiden Pseudo Code dediğimiz ara dilden ayırmak lazım çünkü amacı Dil ve Platform bağımsızlığı sağlamak. Bunu da benzerlerinden daha başarılı bir şekilde gerçekleştiriyor. Bunu yapmak için de içinde bir çok yeni özelliği taşıyor. Örneği tail recursion ile diğer dillerdeki özellikler de destekleyebiliyor, C++ ta gelen pointer desteğini IL de saklayabiliyor. Sorun ise VB gibi diğer dillerin bu özelliği kullanmaması. IL ile gelen Common language specification ile iki dil ortak ozellikleri çevresinde beraber çalışabiliyor ve her iki dilin özelliklerinden de ayrı ayrı yararlanabiliyorsunuz. Bunu COM dan farkı ise bu özelliklerin Interface ler le bağlanabilmesi. Oysa .NET te JiT Derleyici ile C++ ta yazdığınız bir class ı VB deki Classların içine inherit edebiliyorsunuz..Net içinde herşey aynı sonuçla karşınıza çıkıyor.Tek dil olarak MSIL oluşuyor. Tek bir nesne modeli ve tek bir set sistem class kutuphanesi var. C#, C++, VB, ve diğer dilerin hepsinin bu set içinde yerleri var.
.Net in getirdiği bu artıların faydasını en çok Web servislerinde görüyoruz. Özellikle Hailstrorm kod adlı blok web servisleri bu platformdan en çok yararlanan uygulamalardan biri. Belki de platfromun ispatlanacağı uygulama Hailstorm olacaktır diyebiliriz. Hailstrom son kullanıcılar için yetkilenme ve benzeri servisler getiriyor. Uygulama geliştiriciler de bu servislere uygulamaları içinden ulaşabiliyor. Temel olarak 14 servis çıkıyor karşımıza. myAddres: elektronik ve cografi olarak kullanıcıyı tanımlıyor. myInbox, myProfile, myCalendar, myDocuments, myApplicationSettings gibi diğer servisler de Web üzerinde gereken bilgileri saklıyor. Bu hizmetlerden ilginç olan bir tanesi ise myWallet. MyWallet ile kredi kart bilgileriniz saklanıyor ve ödeme hizmetleri sağlanıyor, dolayısıyla artık web de kredi kartı sanal kart ödeme kartı gibi detaylardan kurtuluyorsunuz. Tabi bu servislerin altında .Net platformu var, yazılım geliştiriciler için iyi haber ise .Net altyapısı ile HailStorm servislerine ulaşmak ve kullanmanın kolay olması. .Netin felsefi bir özelliği ise standartlara yakın ve kabul ediyor olması. Bu sayede standartlaşan uygulama platform desteği ile yazılımlarımıza yaptığımız yatırımlar gelecekte de korunmuş olacak. Sonuçta yazılım geliştiriciler için öğrenecek pek çok şey getirmesiyle beraber .Net platformunu kullanmak bu emeğin verilmesine kesinlikle değecek.