4.41. WEB DE GENÇ TEKNİK: AJAX. Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ. Fırat Üniversitesi Teknik Eğitim Fakültesi,



Benzer belgeler
4.47. WEB DE AJAX TEKNĠĞĠNĠN BANT GENĠġLĠK OPTĠMĠZASYONUNA ETKĠSĠ. Zeynep ÖZER 1 ve Asaf VAROL 2

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

Basit bir web uygulaması

VERİ MADENCİLİĞİ (Web Madenciliği)

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015


Mobil Cihazlardan Web Servis Sunumu

YZM 3215 İleri Web Programlama

Öğr. Gör. Serkan AKSU 1

jquery kütüphanesini sayfaya eklemek için iki yöntem vardır. 1. Direkt jquery nin sitesinden ekleme

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

BMT 202 Web Tasarımı Bahar Dönemi. Yük. Müh. Köksal GÜNDOĞDU 1

[E-Katalog Tanıtım Sayfası] Ayser Bilgisayar. Cumhuriyet Meydanı No:41 Kat:

Selective Framebusting

İNTERNET PROGRAMLAMA II. Tanımlar

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

Web Tasarımının Temelleri

Web Madenciliği (Web Mining)

1.1 Web Kavramlar URL terimini tanımlayınız ve anlayınız.

Algorithm of Your Life. AJAX ve...

HTML (Hyper Text Markup Language)

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

Üst Düzey Programlama

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Kütüphane Web Sitesi Nedir? Bina x Web sitesi

Selahattin Esim CEO

PROGRAMLAMA DERSİ 1. İNTERNET

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

İNTERNET HAFTA 02 TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Öğr. Gör. GÜLTEKİN BÜYÜKŞENGÜR. SAPANCA Meslek Yüksekokulu

YZM 3215 İleri Web Programlama

WEB TASARIMINDA TEMEL KAVRAMLAR

AĞ HİZMETLERİ. Öğr.Gör.Volkan ALTINTAŞ. Version 4.0

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Üst Düzey Programlama

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır.

Web Uygulama Güvenliği Kontrol Listesi 2010

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

Hacettepe Üniversitesi Bilgisayar Müh. Bölümü 2005 Güz Dön. Bil 447 Yazılım Müh. Lab. Dersi Araştırma Çalışması. 1. Giriş Ajax nedir?

Web Sayfasında Google Analitik Kullanımı ve Kullanıcı Davranışlarının Belirlenmesi: İstanbul Ticaret Üniversitesi Kütüphane Web Sayfası.

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

ÇEVRİM İÇİ VERİ TABANLARININ SEÇİMİ VE KULLANIMINDA KÜTÜPHANECİLERİN ROLÜ

Internet Nedir? Devlet Kurumları. Internet Servis Sağlayıcılar. Lokal Ağ. Eğitim Kurumları. Kişisel Bilgisayar. Dizüstü Bilgisayar.

Sosyal Ağlar ve Çevrimiçi Kütüphane Katalogları: OPAC 2.0

Ajax kullanımı oldukça yaygınlaşmaktadır. Web tabanlı uygulamalar Ajax desteği ile çok daha esnek kullanışlı, performanslı bir yapıya kavuşmaktadır.

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.

Google Search API ile ajax arama

TC KİMLİK NO SMS GÖNDERİM XML API

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

Web Önyüzü Nasıl Olmalı? <Markup> : İskelet {css} : Görünüm JavaScript() : Etkileşim

BÖLÜM 7. Telekomünikasyon, İnternet ve, Kablosuz Teknoloji. Doç. Dr. Serkan ADA

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 1

SDD Dökümantasyonu Versࠀyon 1.0. Movࠀe Predࠀctࠀon Orhan Özgün Ergen Ahmet Saday Berkay Erken

DEVLET KURUMLARINDA WEB ERİŞİLEBİLİRLİĞİ

5651 ve 5070 Sayılı Kanun Tanımlar Yükümlülükler ve Sorumluluklar Logix v2.3 Firewall. Rekare Bilgi Teknolojileri

Powered by

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Kullanıcı Merkezli kütüphane Web Siteleri: İYTE Örneği. Gültekin Gürdal Hakan Yanaz Engin Şentürk

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

WEB TASARIMININ TEMELLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

T.C. AKDENİZ ÜNİVERSİTESİ Uzaktan Eğitim Uygulama ve Araştırma Merkezi (AKUZEM) DİJİTAL PAZARLAMA VE SOSYAL MEDYA YÖNETİCİLİĞİ SERTİFİKA PROGRAMI

İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI

Web 2.0 Örnek Eğitim Notu

VET ON KULLANIM KLAVUZU

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

T.C. MİLLİ EĞİTİM BAKANLIĞI BALIKESİR / BANDIRMA İLÇE MİLLİ EĞİTİM MÜDÜRLÜĞÜ. Büro Yönetimi ve Resmi Yazışma Kuralları Kursu

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

LOGO İş Zekası çözümü ile kurumsal raporlama ve analizler. Cem Yılmaz Genel Müdür LOGOBI Yazılım

Esra G. Kaygısız Gaziantep Üniversitesi

Akdeniz Üniversitesi

PHP 1. Hafta 1. Sunum

Internet Programming II

WEB TASARIMI. Đnternet Nedir?

E-Belediye Uygulaması Nedir?

eeurope 2002: Avrupa Birliği Web Erişilebilirlik Kılavuzu

1.PROGRAMLAMAYA GİRİŞ

Yeni Nesil Ağ Güvenliği

GİB Portal deki Faturaları efinans Portal e Taşıma

YZM 3215 İleri Web Programlama

Bilişim Teknolojileri Temelleri 2011

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji

Kütüphane Kullanıcıları için İçeriğin Zenginleştirilmesi II

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Türkiye de E-Devlet Uygulamaları Kapsamında Kamu Kurumlarına Ait Web Sayfalarının Değerlendirilmesi

BİRİM KURULU ve BİRİM YÖNETİM KURULU EVRAKI

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

08220 Internet Programcılığı II

1 / 5. Mehmet Alper Şen. Kıdemli Yazılım Uzmanı. İletişim Bilgileri

Bilgisayarların birbirine bağlanması ve bir ağ oluşturmasının temel amacı veri alışverişi yapabilmekti. Yani bir nevi haberleşmeyi sağlamaktı.

Transkript:

4.41. WEB DE GENÇ TEKNİK: AJAX 1 Zeynep ÖZER 2 Asaf VAROL 1 Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ 2 Fırat Üniversitesi Teknik Eğitim Fakültesi, Elektronik ve Bilgisayar Eğitimi Bölümü, Elazığ 1 e-posta:zynpzr@msn.com 2 e-posta:avarol@firat.edu.tr ÖZET Web platformunda, hız vazgeçilemez bir unsurdur. İçerik paylaşımında gün geçtikçe artan kullanıcı ihtiyaçları web in daha etkileşimli, özelleştirilebilir ve hızlı cevap verebilir olması gerektiğini açıkça ortaya koymaktadır. Web 1.0 la geliştirilen sitelerin yetersiz kalmasıyla Asenkron Javascript ve XML kelimelerinin kısaltılmış birleşiminden oluşan AJAX teknolojisi, bu ihtiyaçtan doğmuş alternatif bir çözümdür. Kısaca AJAX, klasik web mimarilerindeki gibi sunucuya gidip parametreleri işlemek yerine, JavaScript aracılığıyla, sunucuya HTTP tabanlı bağlantı sağlayıp, XMLHTTPREQUEST protokolünü kullanarak mesaj transferi yapılmasını sağlar. Bu çalışmada AJAX tekniğinin avantaj ve dezavantajları irdelenmiş ve klasik web uygulama yöntemlerine karşı üstünlükleri ele alınarak, bazı öneriler geliştirilmiştir. Anahtar: Ajax, Web 2.0, Javascript, XML 1387

1.GİRİŞ AJAX ilk olarak Jesse James Garrett tarafından Şubat 2005 de kullanılmıştır [1]. AJAX, farklı veri tanımlama ve biçimlendirme dillerini birleştiren bir teknolojidir. Bu teknoloji kullanılarak, web tasarımında büyük atılımlar yaşanmaktadır. AJAX kullanılırken aşağıdaki bileşenlerden yararlanılır: düzenlenir. ASP, PHP, HTML, XHTML ve CSS ile sayfa dizaynını DOM (Document Object Model)/JavaScript kullanarak dinamik ve etkileşimli görünümler elde edilir. XSLT ile herhangi bir platforma bağlı kalmaksızın kod çalışmasını sağlar. XML ve XMLHttpRequest protokolü ile asenkron veri erişimi gerçekleştirilir. 2. AJAX ın Çalışma Mantığı Bilinen bir istemci-sunucu (client-server) uygulamasında kullanıcı tarafından yapılan her işlem, sunucuya HTTPREQUEST protokolüyle gönderilir, yorumlanır ve veriler işletildikten sonra, sonuçlar istemciye geri gönderilir. Bu da çok büyük bir ağ trafiğine neden olur. Örneğin, bir kullanıcı internet üzerinden herhangi bir form doldurduğunda, o formda e- posta kısmına kendi adresini yanlış girdiğinde, sunucu tüm formu yeniden doldurulmak üzere kullanıcıya geri göndermektedir. Formun yeniden doldurulması büyük bir zaman kaybına ve ağ trafiğinin gereksiz meşgul edilmesine sebep olur. Bunun sonucu olarak bant genişliği; verimsiz bir biçimde kullanılmış olur. Oysa AJAX tekniği kullanıldığında, istekler 1388

HTTPREQUEST yerine XMLHTTPREQUEST olarak gönderilir. Formu geri gönderdiğinde, sadece hatalı girişinin yapıldığı alan bilgisi kullanıcıya ikaz edilir ve formun diğer doldurulan kısımlarındaki bilgiler aynen muhafaza edilir. Burada sunucu ve istemci arasında taşınan veriler sıkıştırılmış XML formatındadır. AJAX ile sağlanan en büyük yenilik parçalı güncellemedir [2]. AJAX da kodlar ASP, PHP, HTML, XHTML ve CSS kodları arasına gömülebilmektedir. Arayüz tasarımı bu dillerle gerçekleştirilebilir. DOM la veri alış-verişi yeni bir sayfada kullanıcı ekranına yansıtılmaz. Parçalı güncelleme olayının büyük kısmı bu modelle gerçekleştirilir. XSL, XML dokümanının görünümünün nasıl olacağıyla ilgilenen bir tanımlama dilidir. XSL, XML dokümanı üzerinde XPath yardımı ile gezinir ve bu gezinme sonucu elde ettiği bilgileri HTML ile nerede nasıl göstereceğinin tanımlarını tutar. Java nın en güçlü özelliklerinden olan XSLT(Extended Stylesheet Language Transform) ile XML dönüşümü sağlanır [3]. 3. AJAX la Klasik Web Uygulamalarının Karşılaştırılması AJAX uygulamaları web deki bilgi akışı sırasındaki bütün sayfanın yeniden yüklenmesini ortadan kaldırmayı amaçlamaktadır. Bu amaçla sunucu ve istemci arasına, AJAX Motoru denilen bir katman yerleştirilir (Şekil 1). 1389

Şekil 1: Web uygulamalarındaki klasik model ile AJAX modelinin karşılaştırması [4]. Kullanıcı oturumu başladığında, tarayıcı öncelikle web sayfası yüklemek yerine çoğunlukla JavaScript ile yazılmış olan AJAX Motoru nu yükler. Tarayıcıya yüklenen motor hem kullanıcının göreceği ara yüzü oluşturur hem de kullanıcı isteklerine göre sunucuyla haberleşir. AJAX sistemlerinin sunucu etkileşimi asenkron gerçekleşmektedir. Bu sebeple istemci ve sunucu arasındaki başla-dur-başla-dur etkileşimi ortadan kalkmaktadır [5]. Bu yöntemde her kullanıcı işlemi AJAX Motoruna yapılan Javascript çağrılarından bir HTTP isteği oluşturur. Kullanıcı işlemleri (veri geçerlilik kontrolleri, veri kayıt işlemleri, bazı dolaşımlar) sonucunda sunucunun döndüreceği cevaplar ise sayfanın gidip gelmesine neden olmaz, bu cevapları AJAX Motoru karşılar. Bu gibi durumlarda, sunucudan ihtiyaç doğrultusunda (işlenmek üzere veri yollama, yeni arayüz kodları ve tablolar yükleme, yeni veriler alma) cevap almak istenirse, AJAX Motoru bu istekleri 1390

genelde XML teknolojisi kullanarak ve kullanıcının arayüz ile olan etkileşimini kesmeden asenkron olarak yapar (Şekil 2) [5]. Sadece kullanıcıya işlemin yapılıp yapılmadığının hissettirilmesi için AJAX ın kendine ait yükleme çubukları kullanır. Şekil 2: Klasik web uygulamalarındaki senkron etkileşimle AJAX uygulamalarındaki asenkron etkileşimin karşılaştırması[4]. Veri akışında sunucu tabanlı çalışıldığında hem zaman hem de bant genişliği, verimli bir şekilde kullanılmaz. Klasik web uygulamalarında veri tabanından bilgi çekilirken, büyük veri ambarlarında bilgi keşfi yapılırken, büyük resim formatları açılıken ya da herhangi bir adres gezildiğinde, Şekil 1391

2 de görüldüğü gibi veri akışı sırasında beklemek zorunluluğu ortaya çıkar. AJAX ın çalışma prensibi sayesinde, uygulamalar en iyi performansla gerçekleştirilir. Birçok teknoloji formatının birleştiği AJAX, kolay öğrenilebilir ve uygulanabilir bir tekniktir [6]. 4. AJAX ın Kullanım Alanları AJAX ı sadece kısmi güncellemeyle proje yönetimi ve doküman takibi alanlarında değil, Flash la birlikte grafik tabanlı e-dergi oluşturmada, gmail uygulamalarında, Google belgelerinden Google Maps ve Google Suggest gibi AJAX tabanlı yüksek performanslı web uygulamalarında da kullanılmaktadır. 5. AJAX ın Dezavantajları AJAX ile gelen bir kullanılabilirlik sorunu, tarayıcının "Geri" fonksiyonunun beklendiği gibi çalışmamasıdır. Dinamik olarak oluşturulan sayfalar tarayıcının önceden işlediği sayfaları yöneten mekanizmalarına kendini otomatik olarak kaydetmez, bu yüzden tarayıcının "Geri" tuşuna basıldığında, istenen sayfa elde edilemeyebilir. Geliştiriciler bu problemi çözmek için değişik çözümler üzerine yoğunlaşmaktadırlar. Bu tip çözümler genelde tarayıcının Geri tuşu kullanıldığında geçmiş listesiyle ilgili işlemleri çalıştıran görünmez IFRAME'leri kullanır. Örneğin Google Maps, arama suretiyle istenen bilgileri önce görünmez bir IFRAME içinde işler, sonra sayfanın görünen kısmında ilgili elemanın içine yerleştirir. World Wide Web Consortium (W3C) IFRAME elemanını XHTML 1.1 çalışmasına eklememiştir, bunun yerine object elemanını önermiştir [1]. Başka bir problem de kullanıcının bazı uygulamaları bookmark'lamasını zorlaştıran dinamik web sayfası güncellemeleridir. Bu problemle ilgili çözümler vardır, çoğu URL fragment identifier (URL'nin 1392

'#'dan sonraki kısmı) bilgisini analiz eder ve bookmark'lama anında kullanıcıya bilgiyi verir. Bu teknik olarak mümkündür, zira URL'nin fragment identifier kısmının güncellenmesi için birçok tarayıcı JavaScript'i desteklemektir. Böylece kullanıcının ilgili işlemi gerçekleştirdiği anda AJAX uygulaması çalışmış olmaktadır. Bu teknik aynı zamanda Geri tuşunun işlevini de geliştirmektedir. Ancak henüz tam bir çözüm geliştirilememiştir [1]. 6. AJAX ı Kullanan Site Örnekleri Amacı Web adresi Arayüz örneği Kişiselleştirebile cek bir giriş sayfası http://www.netvibes.com Haberleşme için birden fazla sohbet programı kullananlar için ideal bir site: http://wwwl.meebo.com/indexfr.html 1393

AJAX la ilgili detaylı bilgi bulabileceğiniz bir site http://ajax-tr.com/ Görev yönetimi ile ilgili bir adres http://www.rememberthemilk.co m 7. Öneriler AJAX teknolojisiyle ilgili en önemli nokta, AJAX ın formlar ile etkileşimi düzenlemek, büyük ebatlı resim ya da video formatlarının yüklenmesi için çok faydalı bir araç olmasına rağmen, tek başına uygulama geliştirmeye yeterli düzeyde elverişli olmamasıdır. AJAX, Web 2.0 ve Flash la daha güçlü daha dinamik bir uygulama geliştirme aracı halini almıştır. Etkili bir biçimde kullanıldığında, uygulamalara hem görsellik hem de performans adına birçok yenilikler katabilir. AJAX ı temeline dayanan hızla gelişmekte olan Web 2.0 ile siteler, kullanıcılarına daha iyi bir web deneyimi yaşatmayı amaçlamaktadır. Web 2.0; İstemci merkezli, kullanıcıların bir şeyler katmasıyla var olan ve 1394

kullanıcılarına hareket özgürlüğü ve kullanım kolaylığı sağlayan yeni nesil internet sistemi denilebilir [7]. Sunduğu esnek yapı ile sıra dışı bir giriş sayfası tasarlanabilir. Bilginin çok büyük veri tabanlarında taranması ve ileriye yönelik tahminlerin yapıldığı günümüzde oldukça popüler olan veri madenciliği ve bilgi keşfinde bilgisayar programları kullanılır. Bu uygulamaları AJAX ile birleştirilerek, çalışmalar hızla tamamlanabilir. AJAX ın bu üstünlükleri sayesinde web üzerinden yayıncılık, farklı bir boyut kazanacaktır. AJAX ile web tasarımı için üzerinde çalışılan bir proje ile, Fırat Üniversitesi için grafik tabanlı bir online katalog çalışması tamamlanmak üzeredir. 1395

Kaynaklar [1] http://tr.wikipedia.org/wiki/ajax(programlama) [2] http://ibrahimdemir.wordpress.com/ [3] http://www.verivizyon.com/ [4] http://www.adaptivepath.com/publications/essays/archives/000385.php [5] http://www.gencgirisimciler.org/bpi.asp?caid=278&cid=349 [6] Integrating AJAX Approach into GIS Visualization Web Services, Ahmet Sayar, Marlon Pierce and Geoffrey Fox [7] http://www.teknoseyir.com/web-20-yeni-nesil-internet/ 1396