AJAX Nedir? ATLAS’ a Giriş

Bu makalemizde Ajax kavramını ve ASP.Net ile kullanılan ATLAS Framework yapısını tanımaya çalışacağız. Öncelikle kavramların ne olduğunu açıklayıp daha sonra küçük bir örnek uygulama yaparak yazımızı sonlandıracağız.

AJAX ve Atlas Kavramları

AJAX (Asynchornous JavaScript and XML) olarak adlandırılan bu teknoloji sayesinde, JavaScript dili ve XML aracılığı ile bir sayfayı tamamen sunucuya göndermeden (postback olmadan) ya da yeni bir URL çağırmadan, sadece sayfamızın belirli bir kısmını sunucuya gönderip, sunucudan gelen bilgileri sayfanın belirli bir kısmını güncelleyerek gösterip tüm sayfanın sunucuya gidip gelmesinin önüne geçmiş oluyoruz.  AJAX yeni bir teknoloji ya da dil değildir. Var olan teknolojilerin birleşiminden oluşmuştur.

JavaScript yazarak gerçekleşebilen bu yapıyı artık ASP.Net ile geliştirdiğimiz web uygulamalarımızda kolaylıkla kullanabileceğiz. Atlas Framework bize bu olanağı sunuyor. Atlas Framewok ile Visual Studio geliştirme ortamına bazı bileşenler eklenmektedir. Bu bileşenler sayesinde geliştirdiğimiz uygulamalar farklı tarayıcılarda herhangi bir sorun çıkarmadan çalışacaktır (İnternet Explorer, Firefox, Safari vb.). Ajax projesi yapmak ileri düzeyde javascript bilgisi gerektirmektedir. Atlas Framework bize bu javascript altyapıyı sağlayarak neredeyse hiç javascript kodu yazmadan nesne yönelimli bir ortamda ajax projeleri yapmayı olanaklı kılıyor.

Visual Studio 2005 IDE’de Atlas desteği yok. Bunu da http://atlas.asp.net resmi web sitesinden indireceğimiz bir eklenti sayesinde elde ediyoruz. Aşağıda, Asp.Net Atlas’ ı nasıl indirip kullanabileceğimizi anlatmaya çalışacağım.

Sayfa sunucuya gidip gelmeden (Postback olmadan)  işlemler nasıl gerçekleşi?

Tüm bu teknolojiyi XMLHttpRequest bileşenine borçluyuz. XMLHttpRequest bileşeni asenkron bir şekilde bir istekte (request) bulunabilir ve yine asenkron bir şekilde isteğe karşı gelen cevabı (response) kendisini çağıran yere iletebilir. Örneğin, bir web projesi geliştiriyorsunuz ve sunucuya gönderilmesi için buton a tıklamanız ile istemci tarafında çalışan bir script aracılığıyla iletilmesi gereken bilgiler XMLHttpRequest bileşeni kullanılarak arka planda sunucuya gönderilebilir ve sunucudan istenilen cevap geri döner. Boylece sayfada sabit kalması gereken içerikler yeniden sunucudan alınmayacağı için hem sunucu kaynakları israf edilmemiş olacak bunun yanında kullanıcı, işlemlerini daha hızlı gerçekleştirebilecek.

Her şey çok güzel, peki çalıştığım hosting firması Atlas desteği verecek mi ? 

 

ASP.Net 2.0 desteği veren hosting firmaları Atlas teknolojisini desteklemektedir. Sizin yapmanız gereken sadece projenizin Bin klasörü altında Microsoft.Web.Atlas.dll ni bulundurmanız gerekir. Atlas Framework’ü sisteminize eklediğinizde bin klasörü içerisine Microsoft.Web.Atlas.dll’ i otomatik olarak gelecektir.

Geliştirdiğiniz bir web projesi içinde en çok kullanacağınız Atlas bileşenleri şunlar olacak: ScriptManager, UpdatePanel, Trigger. Şimdi bu kontrolleri kısaca inceleyelim.

<atlas:ScriptManager>

Projemizde ATLAS teknolojisini kullanmamızı için en az bir ScriptManager kontrolü eklemeliyiz. Bu kontrolün kullanımı da:

<atlas:ScriptManager ID=”ScriptManager1″ runat=”server”

EnablePartialRendering=”true” />

EnablePartialRendering  özelliği ile ASP.Net sayfamızın tamamını değil de bir bölümünü sunucuya göndereceğimizi belirtiyoruz. Bu özelliğin (EnablePartialRendering=”True”) yapılmaması halinde Atlas’I kullanmamızın bir anlamı olmayacaktır.

<atlas:UpdatePanel>

Web sunucumuzdan gelen cevabı (response) asenkron olarak sayfamızda işlememizi sağlayan kontroldür.

Kullanımı

<atlas:UpdatePanel runat=”server” id=”panel”>

<ContentTemplate>

</ContentTemplate>

<Triggers>

<atlas:ControlEventTrigger ControlID=”goster” EventName=”Click” />

</Triggers>

</atlas:UpdatePanel>

ASP.Net sayfamızda Postback olmadan güncellenmesini istediğimiz kontrolleri, <ContentTemplate> etiketleri (tag) içerisine koymalıyız. UpdatePanel’in güncellenmesini sağlayan kontrolü de <Triggers> etiketleri arasına eklemeliyiz.

Basit bir uygulama ile Atlas teknolojisinin kullanımını inceleyelim. Örneğimiz basit bir Chat uygulaması olacak.

Öncelikle Atlas Framework bileşenini

http://www.microsoft.com/downloads/details.aspx?FamilyId=B01DC501-B3C1-4EC0-93F0-7DAC68D2F787&displaylang=en

adresinden indirip kurmalıyız. Kurulum işlemi bittikten sonra Visual Studio.Net’ açıyoruz ve yeni bir Web projesi oluşturmak için New Web Site seçeneğini tıkladığınızda önceki ekranlardan farklı olarak Atlas Web Site adında bir template olduğunu göreceksiniz. Bu seçeneği seçip projemizin adını veriyoruz.

Karşımıza her zamanki kaynak kodundan (Source code) farklı bir kod bloğu geldi. Öncelikle yapmamız gereken <atlas:ScriptManager> kontrolüne “EnablePartialRendering=”True” özelliğini eklemek olacaktır.

<div class=”nick”><asp:TextBox ID=”nick” runat=”server” Text=”Nick giriniz” /></div>

<atlas:ScriptManager ID=”ScriptManager1″ runat=”server”

EnablePartialRendering=”true” />

<atlas:UpdatePanel runat=”server” id=”panel”>

<ContentTemplate>

<div><asp:ListBox ID=”liste” runat=”server” Height=”274px” Width=”505px”/></div>

<div>

Mesaj:<br />

<asp:TextBox ID=”txtmesaj” runat=”server” Height=”49px”

Width=”499px” />

</div>

</ContentTemplate>

<Triggers>

<atlas:ControlEventTrigger ControlID=”goster” EventName=”Click” />

</Triggers>

</atlas:UpdatePanel>

<asp:Button ID=”goster” runat=”server” Text=”Gönder”

OnClick=”goster_Click” />

Projemiz tasarım olarak aşağıdaki şekilde olacaktır. Şimdi sıra geldi gerekli yöntemleri yazmaya, bunun için F7 kısayol tuşu ile kod tarafına geçiyoruz.

Uygulamamızdaki mesajlar bir text dosyasında tutulacak ve oradan okunacak, bunun için Solution Explorer içerisindeki App_Data klasörü altına Add New Item seçilerek mesajlar adında bir Text dosyası ekleyelim.

using System.Text;

using System.IO;

public partial class _Default : System.Web.UI.Page

{

protected void goster_Click(object sender, EventArgs e)

{

StreamWriter srw = newStreamWriter(Server.MapPath(“App_Data/mesajlar.txt”));

srw.WriteLine(txtmesaj.Text);

srw.Close();

txtmesaj.Focus();

oku();

}

public void oku()

{

txtmesaj.Text=””;

string fileLine;

StreamReader fileSR =File.OpenText(Server.MapPath(“App_Data/mesajlar.txt”));

fileLine=fileSR.ReadLine();

while(fileLine!=null)

{

liste.Items.Add(nick.Text + ” => ” + fileLine);

fileLine=fileSR.ReadLine();

}

fileSR.Close();

txtmesaj.Focus();

}

}

Sıra geldi uygulamamızı çalıştırmaya.Takma adımızı giriyoruz ardından istediğimiz mesajı yazıp gönder butonuna tıklıyoruz.

Bu makalemizde Atlas teknolojisinin ASP.Net ile kullanımının çok kolay olduğunu gördük. Artık sizde yapmış olduğunuz veya yapacak olduğunuz web projelerinde kolaylıkla kullanabilirsiniz.

Atlas teknolojisi ile ilgili tartışılacak bir kaç konu var, örneğin performans, güvenlik, sunucu taraflı, istemci taraflı vb. İlerleyen günlerde Ajax ve Atlas – 2 makalemizde bu konuları tartışacağız. Makale ile ilgili soru ve yorumlarınızı bekliyorum. Umarım yararlı olmuştur.

İyi Çalışmalar…