Makale Özeti

web uygulamaları için yeni bit yaklaşım..

Makale

AJAX - Asynchronous JavaScript language and XML

    Son zamanlarda neredeyse tüm şirketler web uygulaması yapmaya / yaptırmaya, şirket içi uygulamalarını bile windows uygulamaları değilde birer web / intranet uygulamalarına çevirdiler. Elbette bu makale web uygulamaları ve windows uygulamalarını karşılaştırmak için yazılmadı. Fakat hepimizin bildiği bir gerçek var ki web uygulamalarında asla windows uygulamaları kadar rahat çalışamayız, o kadar canlı kontroller yazamayız.

    Özellikle kullanıcının girişlerine göre datanın filitrelenmesi, kullanıcının yönlendirilmesi gibi işlemler web developerları uğraştıran ve sayfanın post-back olması nedeniyle de kullanıcı için pek sevimli olmayan bir yapıya sahiptirler.

    Fakat artık bu yapı değişiyor. Google Suggest e bir göz atın. Siz klavyenizdeki tuşlara bastıkça google size çeşitli kelimeler önerecektir. Google'ın bu uygulamasını ilk açtığımda henüz AJAX hakkında hiçbirşey bilmiyordum ve büyük bi soğuk kanlılıkla, view source diyip bakmış ve kelimelerin orada olmadığını görünce çok ama çok şaşırmıştım. (Gelecek makalemizde aynı öneri TextBox'ını nasıl yapabileceğimizi göreceksiniz.)

    Peki teknolojik olarak nedir AJAX? Öncelikle AJAX bir teknoloji değil, bir kaç teknolojinin kullanımından ortaya çıkan bir yaklaşımdır. Bu teknolojiler ise,

  • XHTML ve CSS gibi presentation teknolojileri
  • Data iletişimi için XML ve XSLT
  • Asenkron data erişimi için XMLHttpRequest
  • Herşeyi birleştirecek olan JavaScript

    Klasik web uygulamalarının çalışma şekli şöyledir : browser üzerinden servera bir HTTP isteği (request) gönderilir, server gerekli hesaplamaları, işlemleri yapar ve html bir sayfa üreterek bu sayfayi clienta gönderir. Gönderilen yeni html sayfayı bowser yeniden yükler ve istenilen işlemlerin sonucu alınmış olur. Fakat, server bir iş yaparken client bekler, client bir iş yaparken server bekler vs..vs.. bu nedenle web uygulamalarını yazılım yapısı olarak pek te sevimli sayılamıyor.

    Bu, başla - bekle, başla - bekle işlemini sonlandırmak için artık arada  yeni bir katman (bir AJAX framework'ü) çalıştırabiliriz. Bu sayede server ve clientın aynı anda çalışabilmesi, işlem yapabilmesini sağlamış oluruz. Ajax in ne olduğunu ve nasıl çalıştığını anlamak için aşağıdaki figürü inceleyelim.

    İki sistemde dikkatimizi çekmesi gereken en önemli nokta, en üssteki "user activity" işlemini gösteren işlemin devamlılığı.. Ajax ile kullanıcının işlemlerini hiç bölmeden server tarafında tüm işlemleri yapabiliriz.

    Bu sayede web uygulamaları çok daha canlı ve zengin bir içeriğe kavuşabilecektir. Başlangıçta da değindiğim gibi, AJAX bir teknoloji değil ve şu anda sadece anlaşılması ve bol bol uygulama alanı bulunması gereken bir teknoloji. İleriki makalelerimde AJAX kullanan uygulamalara, çoklu dropdownlist'lere, google suggest'teki gibi suggest TexBoxlara ve AJAX'ın bir çok örnek uygulamasına değineceğim.

İyi çalışmalar.

Kivanc OZUOLMEZ