Basit bir web uygulaması



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

Algorithm of Your Life. AJAX ve...

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

YZM 3215 İleri Web Programlama

YZM 3215 İleri Web Programlama

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.

Web 2.0 Örnek Eğitim Notu

AJAX WITH JQUERY. Ajax Hikayesi MODULE 11

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

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

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

Üst Düzey Programlama

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Üst Düzey Programlama

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

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

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

Öğr. Gör. Serkan AKSU 1

Üst Düzey Programlama

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?

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

İNTERNET PROGRAMCILIĞI DERSİ

Selective Framebusting

1.PROGRAMLAMAYA GİRİŞ

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

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

İÇİ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

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Sanal Santral A.Ş. Çözümleri

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Üst Düzey Programlama

Google Search API ile ajax arama

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

YZM 3215 İleri Web Programlama

Bölüm 10: PHP ile Veritabanı Uygulamaları

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

Üst Düzey Programlama

Client Server Database


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

İNTERNET PROGRAMLAMA II. Tanımlar

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Temel Başlıklar. HTML Formlarının amacı Çalışma şekli Form Action ve Method

Güncel İnternet Teknolojileri ve PHP 2

CSS3, HTML 5 ve jquery ile Web Tasarımı. Umuthan Uyan

AJAX ARAŞTIMA RAPORU

MCR02-AE Ethernet Temassız Kart Okuyucu

Java Programlama Giriş

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

%20dolor%20sit%20amet&receipents= , &sender=PROAKTIF

Pac Dosyası İle Proxy Kullanmak

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

YZM 3215 İleri Web Programlama

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

um%20dolor%20sit%20amet&receipents= , &sender=ILETICELL İstekte gönderilen parametrelerin açıklamaları aşağıdaki gibidir:

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

PROGRAMLAMA DERSİ 1. İNTERNET

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

VISILABS SEGMENT KURULUM KILAVUZU

LIBPXY SERVİSİNİN KULLANIMI

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

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

EC-232C. Ethernet RS232 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JavaScript Örnekleri PDF

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

IBM Türk Yazılım Grubu. Web 2.0 ve IBM. Ali BEKLEN IBM Türk

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4414

İnternet Programcılığı

WEB PROGRAMLAMA. DERS NOTLARI / JavaScript e Giriş YARD. DOÇ. DR. MEHTAP YALÇINKAYA

Arayüz Geliştirme Dokümantasyonu

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Cookie s. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 17 Ara 2013

JAVASCRIPT JAVASCRIPT DİLİ

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

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu

Google Chrome Proxy Sunucusu Ayarları

6 Ocak İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : E-Fatura

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

API v2 Multi Smart Card ( ) 4- VERİİMZA API ile bir web uygulaması nasıl haberleşir?

Exchange Server 2013 Kurulum Sonrası Yapılandırmalar

BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ

TÜRKİYE ELEKTRONİK FON ALIM SATIM PLATFORMU WEB SERVİS İŞLEMLERİ

Kapak Tasarımı: Emre Can ÖZTAŞ

Spring Security Framework Harezmi Bilişim Çözümleri

«BM364» Veritabanı Uygulamaları

1.Mailbox Server Role:

ithenticate/turnitin Kullanıcı Eğitimi Mahir Kaya (PhD)

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

Response : Sunucunun istemciye veri yollamasını

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

Fatura Dinamik Kodlama İyileştirmeleri

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

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

SMS API. KobiKom Telekomunikasyon A.Ş. SMS API Kullanım Bilgilerini İçerir. Tel: Fax:

C# ile e-posta Göndermek

Transkript:

AJAX Ahmet Demirelli ahmetdemirelli@sabanciuniv.edu SCJP 5.0, SCWCD 1.4 Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı 3/20/2007 Sabanci University 1

Ajanda Neden AJAX ihtiyacı AJAX HTML Javascript AJAX Avantajları AJAX Dezavantajları Örnek Ajax Uygulamaları Demo 3/20/2007 Sabanci University 2

Neden AJAX ihtiyacı Basit bir web uygulaması Urün Ismi Gir Ara Girdi Kontrol Veritabanı bağlantısı Geridönen sonuçlar Listele Ürün seç Satın Al Girdi Kontrol Veritabanı bağlantısı Geridönen sonuçlar Kredi Kartı Adres Bilgileri Submit Girdi Kontrol Kredi Kartı Onaylama Veritabanı bağlantısı Satın Alımın Onaylanması Verilerin Veritabanına Girilmesi ve onay İşlem Başarıyla Gerçekleştirildi 3/20/2007 Sabanci University 3

Neden AJAX ihtiyacı Her işlem için ayrı bir sayfa görüntüleme Her işlemin sunucuya (submit) gönderilmesi İşlem gerçekleştikten sonra yeni bir sayfaya yönlendirme Her yönlendirme sonucunda sayfaların yeniden yüklenmesi 3/20/2007 Sabanci University 4

Neden AJAX ihtiyacı Satın Alma Urun Listesi (DIV) Kredikart Formu (DIV) Hatalar (DIV) İşlemler Girdi Kontrol Veritabanı işlemleri Urun Listesi Bileşeni Kredi Kart Bileşeni Adres Formu (DIV) Hataların bulunması Arayüz Fatura Bilgileri Bileşeni HTML bunun için yetersiz kalır 3/20/2007 Sabanci University 5

HTML Static içerik Kullanıcı etkileşimi yetersiz Yardımcı teknolojiler CSS Javascript Flash Appletler... 3/20/2007 Sabanci University 6

Javascript Lightweight programlama dili Browser tarafından yorumlanır Kullanıcı etkileşimini arttırır Web sayfalarını hareketlendirir. Fakat gerçekleşen etkileşim sadece istemci hafızasında kalır (on the fly) 3/20/2007 Sabanci University 7

AJAX AJAX (Asynchronous JavaScript and XML) Bir web uygulama geliştirme tekniğidir. Basit olarak; javascript kullanarak sunucuya bilgi göndermek ve gelen bilgiyi aynı sayfada göstermektir. Bu yüzden web sayfalarının masaüstü(desktop) uygulamalar gibi davranmasını sağlar. Web uygulamalarına getirdiği yeniliklerden dolayı Ajax uygulamaları Web 2.0 uygulamaları olarakta adlandırılır 3/20/2007 Sabanci University 8

Nasıl Çalışır? HTTP JavaScript HTML AJAX CSS XML DOM 3/20/2007 Sabanci University 9

Nasıl Çalışır? <script type= text/javascript > XMLHttpRequest function sonucisle() { sunucudan gelen mesajı al mesajın yazılacağı nesneyi al mesajı yaz } Bilgi Listele Servlet bilgilerialservlet( req, res) { request bilgilerini al veritabanından bilgiyi çek bilgiyi clienta döndür } function illerigoster() { yeni request nesnesi (url, parms) callback fonksiyonu belirle (sonucisle()) sunucuya gönder } A Adana Adıyaman Afyon... Uygulama Sunucusu 3/20/2007 Sabanci University 10

XmlHttpRequest 1999 yılında Internet Explorer 5 ile çıktı Web sunucudan gelen callback ler için geliştirilmiş bir ActiveX nesnesi Outlook Web Access (OWA) te kullanılmak için geliştirildi Firefox, Safari ve diğer browserlar tarafından desteklendi ActiveX yerine gerçek bir DOM nesnesi olarak geliştirildi W3C tarafından standart hale getiriliyor http://www.w3.org/tr/xmlhttprequest/ Browserların %99 u tarafından desteklenmektedir AJAX teknolojisinin temelinde yatan nesnedir 3/20/2007 Sabanci University 11

XmlHttpRequest XMLHttpRequest nesnesi Javascript ile oluşturulur XMLHttpRequest nesnesi oluşturmanın 3 yolu vardır Pek çok browser için (IE hariç); var request = new XMLHttpRequest(); Bazı IE versiyonları için (Kullandığı MSXML library ne göre değişir) var request = new ActiveXObject("Microsoft.XMLHTTP"); Diğer IE versiyonları için var request = new ActiveXObject("Msxml2.XMLHTTP"); Uygulamanın tüm browserlarda çalışması için en doğrusu hepsini yazmaktır 3/20/2007 Sabanci University 12

XmlHttpRequest (kod örneği) function getxmlhttprequest { var request = false; try { request = new XMLHttpRequest(); } catch(err1) { try { var request = new ActiveXObject("Microsoft.XMLHTTP"); } catch(err2) { try { var request = new ActiveXObject("Msxml2.XMLHTTP"); } catch(err3) { request = false; } } } return request; } 3/20/2007 Sabanci University 13

XmlHttpRequest XMLHttpRequest nesnesi oluşturulduktan sonra, open metodu ile sunucu isteği hazırlanmalıdır. request.open(method, URL, asenkron) method 'GET' veya 'POST olmalıdır URL bilgilerin nereye gönderileceği Eğer 'GET kullanılırsa, data URL nin sonuna eklenir Eğer POST kullanılırsa, data bir sonraki aşamada eklenir asenkron true, yapılırsa browser sunucudan gelen bilgi için beklemez (genelde istenilende budur) request.open(method, URL) Şeklinde kullanılırsa default asenkron değeri true olur 3/20/2007 Sabanci University 14

XmlHttpRequest XMLHttpRequest nesnesi oluşturulup hazırlandıktan sonra sunucuya send() methodu ile gönderilir request.send(null); Eğer method olarak GET seçilmişse kullanılır request.send(bilgi ); Eğer method olarak POST seçilmişse kullanılır Örnek: request.send('var1=' +value1+'&var2='+value2); 3/20/2007 Sabanci University 15

Response Sunucudan dönen mesajı almak için öncelikle request nesnesinin onreadystatechange eventi gerçekleştiğinde hangi metodun çalışacağını belirtmeli ve metodu yazmalıyız request.onreadystatechange = herhangibirfonksiyon; function herhangibirfonksiyon() { if(request.readystate == 4){ var response = request.responsetext; // gelen mesajın görüntülenmesi işlemi burada } } readystate in 4 olması demek gönderilen isteğe karşı bir cevap alınmış demektir 3/20/2007 Sabanci University 16

Avantajları Zengin kullanıcı arayüzü Formlardaki bilgilerin tamamını her defasında sunucuya gönderilmesine gerek yoktur Bu yüzdende network trafiğini azaltır Sunucu tarafındaki teknolojiden bağımsızdır. (Sunucu tarafında, java,.net, php, perl...vs teknolojilerden herhangibirisi kullanılabilir) Sayfanın tamamı yerine bir bölümünün yenilenmesini sağlar (asenkron çalışma) Sadece submit butonlarıyla sunucuya ulaşmak yerine daha fazla event kullanma imkanı sağlar 3/20/2007 Sabanci University 17

Dezavantajları Back butonu işlevini kaybeder Her browser için ayrı kod yazmak gerekir Çalışılan domain dışındaki bir domaine ulaşılamaz Eğer javascript disable edilmişse çalışmaz Debug edilmesi çok zordur İyi bir sunucu taraflı programlamanın yanısıra çok iyi bir javascript bilgiside gereklidir 3/20/2007 Sabanci University 18

Örnek Ajax Uygulamaları Google Suggest Google Docs Google Spreadsheets Kiko Online Takvim Uygulaması 3/20/2007 Sabanci University 19

Örnek Ajax Uygulamaları Backbase http://www.backbase.com http://www.backbase.com/rui/shop.html Real Time HTML Editor http://htmledit.squarefree.com/ Google Maps GTalk... 3/20/2007 Sabanci University 20

DEMO 3/20/2007 Sabanci University 21

ahmetdemirelli@sabanciuniv.edu 3/20/2007 Sabanci University 22