Microsoft Live Labs, çok katmanlı web uygulamaları geliştirmede, geliştiriciye kolaylık sağlaması açısından yeni bir yaklaşım ile karşımıza çıkıyor. Bir web uygulamasını, çok katmanlı bir mimarinin web tarafındaki kullanıcı arayüz katmanı olarak düşünebiliriz aslında. Bundan dolayı çok katmanlı web uygulamaları konsepti ne kadar anlamlı tartışılır. Ama gelişen teknoloji ve büyüyen internetten dolayı standart “application” kavramının yavaş yavaş “web application” kavramına dönüşmesi sanırım bu olaya biraz açıklık getirir. Çok dağılmadan Volta’ya geri dönelim.
Volta aslında bir çeşit derleyici ve kütüphane. MSIL kodunun tekrar derlenmesi ile uygulamanın client ve server için gerekli olan kısımlarını oluşturuluyor, ilgili web servis iletişimlerini oluşturup bunların güvenliklerini sağlıyor. Çok karmaşık gibi gelse de, aslında geliştirmesi oldukça kolay bir ortam sunuyor Volta bize.
Peki bunları nasıl yapıyor? Refactoring,retargeting ve remodulating şeklinde 3 aşamada bütün bunlar oluyor.
Refactoring; Tek katmanlı uygulamanızı, dağıtık mimari için uygun hale getiren aşama bu. Tek katmanlı bir uygulama nasıl oluyorda dağıtık bir mimariye dönüşüyor? Ne kadar mantıksız? Banada ilk başta bu şekilde mantıksız gelmişti. Ancak daha sonraki araştırmalarımda Volta’nın uygulama geliştirme yaklaşımı, tek katmanlı bir yapı düşünerek geliştirmeyle başlamaya dayanıyor. Yani uygulamanızı geliştirirken uygulamayı bir .NET client uygulaması olarak geliştirmeye başlıyor, geliştirme aşamasında client ve serverda olacak kısımları belirtebiliyorsunuz. Refactoring aşaması bu olayı gerçekleştiriyor. Yani aslında bu şekilde mimarinizi sonradan “refactor” etmiş oluyorsunuz. İşte Volta’nın ortaya çıktığı nokta da bu aslında. Mevcut mimarinizi bozmadan ama etkin kullanım için geliştirmek.
Retargeting; Bu aşamada MSIL kodundan, Javascript kodları yaratılıyor. Bu sayede server-client ilişkisi .NET Framework’nün sağladığı imkanlar ile güçleniyor. Ajax bu güçlerden birine örnek.
Remodulating; Web uygulamaları geliştirirken, çeşitli browser’lara göre bazı şeyleri düşünmek gerekir.Kimi javascripti desteklemez,kimi desteklese de bir yerde patlar…Remodulating aşamasında Volta sizin için bunları düşünüyor ve gerekli düzenlemeleri kendi ayarlıyor.Şu aşamada sadece IE ve Firefox desteği var ama ilerleyen sürümlerde diğer browser destekleride olur herhalde.
Volta yaklaşamı ile uygulama geliştirebilmek için Visual Studio 2008 ve .NET 3.5 Framework’ü bilgisayarınızda yüklü olmalı. http://labs.live.com/volta/ adresinden indireceğiniz dosyayı kurtuktan sonra Visual Studio 2008’de Volta uygulamaları geliştirmek için çeşitli template’ler çıkacaktır.
Bir sonraki yazı da Volta ile ilgili basit bir örnek ile bütün bu yukardaki kavramları biraz daha somutlaştırmaya çalışacağım.
Volta: http://labs.live.com/volta