Makale Özeti

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.

Makale

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.

Internet 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 gerliyor.

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.