ASP.NET nedir?
ASP.NET yani Active Server Pages .Net ; Microsoft’un yeni vizyonu .Net ile duyurmuş olduğu internet uygulamaları ve web servisleri için sunucu taraflı yazılım geliştirmeyi kolay, güvenli ve genişleyebilir yapıda sağlayan teknolojidir.
.Net Nedir?
.Net’in basit ve kısa bir açıklaması yoktur. Geçmişte DNA(Distributed iNternet applications Architecture) yani dağıtık internet uygulamaları mimarisi olarak adlandırılan yapının devam mıdır? Tabiki hayır, .Net’i üç ana kategoride incelemekte fayda var; .Net Vizyonu, .Net Framework ve .Net Kurumsal Sunucuları.
Öncelikle .Net Vizyonuna bakacak olursak, bir gün tüm araçların birbiri ile bağlı olacağı ve bu bağlantı altyapısının internet ile gerçekleşeceği düşüncesine dayanır. Ve artık yazılım bu altyapı üzerine kurulacak servislerden oluşacaktır. Aradaki haberleşme uygulama ve platform bağımsız olmalıdır ki, bu XML teknolojisinin veri değişimi için tanımıdır. .Net’in ikinci kategorisi ise .Net Framework. Bu altyapının içerdiği teknolojiler ile örneğin ASP.NET ile web servisleri ve uygulamaları geliştirmek kolay ve hızlı bir hal alıyor. Son olarak .Net Kurumsal Sunucularından bahsedecek olursak; bunların çoğu bize yabancı olmayan sunucular örneğin SQL Server, Biztalk Server . Kurumsal sunucu ailesinde birçok yeni isim de var; Host Integration Server, Internet Security and Acceleration Server, Mobile Information Server gibi.
Yeni bir teknolojinin iyi bir sektörel başarısı olması için çok ciddi altyapı desteği ile birlikte sunulması gerekmektedir. .Net’e baktığımızda çok geniş kurumsal sunucu ailesi ile çok büyük bir destek sağladığı görülmektedir. SQL Server ile veri tabanlarımızı en etkin biçimde yönetirken, Biztalk Server ile firmalar arasında veri aktarımını XML teknolojisi kullanarak çok kolay gerçekleştirebiliyoruz. Internet Security and Acceleration Server ile güvenlik ve internet altyapımızda hızlanma sağlarken, Content Management Server ile sitelerimizin içeriğini kolayca yönetebiliyoruz. Mobile Information Server sayesinde tüm yaptığımız geliştirmeleri günümüzün çok geniş teknoloji ürünleri yelpazesinden herhangi biri üzerinde kolayca çalıştırabiliyoruz. Microsoft’un geliştirmiş olduğunu sunucuları sayısı her geçen gün artıyor, .Net daha güçlü bir altyapıya taşınıyor. Sunucu çeşitliliği sayesinde işler daha modüler bir yapıda gerçekleşiyor ve bir anlamda bu sunucular ile birlikte .Net tamamlanıyor; Vizyon + Altyapı + Sunucular.
ASP.NET’in Özellikleri
ASP.NET, .Net Framework altında işletim sistemi ile bütünleşik çalışan bir mimaridedir. Klasik uygulamaların kullanabildiği nesneleri aynen kullanabildiği gibi, .Net’in sahip olduğu tüm nesnelere erişebilir ve türetebilir. ASP.NET sunucu ve istemci tarafını çok iyi bir şekilde birleştirir. İstemcinin kullandığı sistem özelliklerine özgü içeriği sunar, böylelikle istemci tarafında bazı işlemlerin gerçekleşmesi işi hızlandırıyorsa bunu tespit eder ve uygular. İşin güzel yanı bunu yaparken yazılım geliştiricinin ayrıca bir işlem yapmasına gerek kalmaz, bunu otomatik tespit eder ve uygular.
ASP sunucu tarafında interpret edilen bir teknoloji iken ASP.NET compile ediler yani derlenir. Derlenen kod çok büyük bir performans artışı sağladığından uygulamalar çok daha hızlı çalışacaktır. ASP.NET bileşen mimarisine yeni bir boyut getirmektedir. Artık sisteme nesne yüklerken regsvr32 kullanmak yerine .Net ile gelen ve bundan sonraki bölümde detaylı olarak inceleyeceğimiz metadata sayesinde dll dosyaları kendi açıklamalarını kendi üzerlerinde taşımaktadırlar. Bu yüzden ayrıca bir kayıt işlemine, sunucuyu yeniden başlatmaya gerek yoktur.
Oturum yönetiminde ise sunucu belleği üzerinde yoğunlaşan bir oturum mimarisi yerini dağıtık internet uygulamalarına dönüşmüş, oturum bilgileri SQL Server’da da olmak üzere State Server gibi yeni sunucular kullanılarak sunucunun belleği üzerinden ayrılmıştır. Bu şekilde sunucular arası veri paylaşımı sağlanmış, güvenli ve dengeli bir yapıda sistem kurulmuş olmaktadır. ASP’de cookie’lere dayanan mimari yüzünden yaşanan sorunlar aşılmış, istenirse cookieless yani cookie teknolojisi kullanılmadan da oturum yönetimi sağlanabilir hale gelmiştir.
ASP.NET ile içerik program kodundan tamemen ayrılmıştır. Kullanıcı kontrolleri, codebehind gibi özellikler sayesinde görsel içerik ile uğraşan kişiler sadece görsellikle, programlama kısmı ile ilgili kişilerin de sadece program kodu ile çalışmasına olanak tanımaktadır. İstemci-sunucu mimarisi oldukça başarılı bir şekilde ASP.NET’de uygulanmış, yazılım geliştiricinin arka planda neler olduğunu bilmesine gerek kalmadan uygulamalarda önbellekleme ve performans düzenlenmiştir. ASP.NET tamamen nesneye yönelik programlamayı kullanabilmemizi sağlayan bir teknolojidir. ASP’de JavaScript veya VbScript kullanabiliyorken ASP.NET’de uygulama geliştirmede kullandığımız diller olan Visual Basic, C# gibi dilleri kullanmamız mümkündür. Böylelikle bir programlama dili kullanmanın tüm avantajlarını uygulamalarımızda kullanabiliriz.
Kısaca ASP.NET sunucu taraflı yazılım geliştirmeye farklı bir boyut getiriyor. Umuyorum ki Türkiye’de ASP.NET teknolojisi kullanılarak birçok proje gerçekleştirilecektir. Sizlere bu makale ile birşeyler aktarabildiysem ne mutlu bana...