18/11/2015 37

DevExtreme ile Web Servis Kullanımı

Herkese Merhaba. Bu yazıda sizlere devextreme ile mobil uygulama geliştirirken çok işimize yarayacak bir sistemi anlatacağım. Devextreme ile Web servisler kullanarak mobil programımız ile internetteki veritabanımıza erişip veya başka sayfalara erişip oralardan veriler çekebiliriz.

İlk olarak Web servis nedir Ondan bahsedeyim.

Web servis : Programımıza internetteki veritabanımıza erişim bilgilerini eklememek amacıyla bir serverda tutulan dosyalarımızdır. Program bu dosyaları çalıştırarak ona gönderdiği gerekli parametreler ile işlem yaptırır ve sonucu döndürür. Ve böylece bilgilerimizi güvende tutmuş oluruz.

Fakat Herzaman şunu söylerim Web servis dosyanızı akıllı bir şekilde kodlayamazsanız yinede bilgilerinizi koruyamazsınız. Bu yüzden ilk başta ne yapacağımızı belirleyip Web servis dosyamızı çok mantıklı ve güvenli bir şekilde kodlamalıyız.

Şimdi geçelim konumuza. Ben Web servis dosyamda herhangi bir işlem yaptırmayacağım. Sadece web servise parametre göndereceğim ve o parametreye göre bana geri değer döndürmesini sağlayacağım. İleriki yazılarda Başka işlemlerde yapacağız.

İlk olarak size Web servisin ne yapacağını ve nasıl çalışacağını anlatayım.

Web servisimize il isimleri göndereceğim ve oda bana ilin bölgesini söyleyecek. Bu tabii bütün iller olmayacak sadece basit bir kaçtane elle gireceğim. Veritabanı ile olan işlemler daha sonra yapacağız.

Aşağıda web servisimin kodları bulunmaktadır.

<?php //aşağıdaki headeri eklememiz gerekmektedir. //Web sayfaları user agent kullanmadan erişmeye çalışan uygulamalara erişim izni vermemektedir. //Bundan dolayı bu erişim iznini sağlamak amacıyla aşağıdaki kod eklemek zorundayız header('Access-Control-Allow-Origin: *'); //Burda sayfaya il adında bir parametre post edilmişmi ona bakıyoruz if(isset($_POST['il'])) $sehir = $_POST['il'] else $sehir=""; //burdada gelen değere göre işlemler yapıp çıktılar veriyoruz. if($sehir == "") echo "Şehir Girmelisiniz!!!"; else if ($sehir == "mersin") echo "Akdeniz Bölgesi"; else if ($sehir == "kocaeli") echo "Marmara Bölgesi"; else if ($ehir == "izmir") echo "Ege Bölgesi"; ?>

Gördüğünüz üzere basit olarak bişeyler yazdık ve burdan veri alacağız. Burda amaç sadece veri almaktır. İleriye doğru başka işlemlerde yapacağız. Şimdi ise programımıza geçelim. Programımızda ise Ajax ile veri göndereceğiz. Ve eğer cevap geliyorsa gelen cevabı ekrana bastıracağız.


btnRuyaAra: function () {

            var textBox = $("#is").dxTextBox("instance");
            var il_adi = textBox.option('value');

            var deger = "il=" + il_adi;

            $.ajax({
                url: "web_servisimizin bulunduğu link...",
                type: "POST",
                data: deger,
                success: function (data) {

                    $("#cevap").html(data);
                }
            });

        },

Bu fonksiyon ilede gelen cevabı ekrana yazdırıyoruz.

Şimdi Programımızı çalıştıralım ve programımızın çalışıp çalışmadığını görelim arkadaşlar...

Aşağıdaki resimde gördüğümüz gibi boş veri girdiğimizde web serviste kodladığımız gibi şehir girmelisiniz dedi ve bir ilimizi yazıdğımızda ise bölgesini bize getirdi. Bu en basit şekilde bir web servis mantığıdır. Bundan sonraki yazılarımızda daha gelişmiş web servisler yazacağız ve uygulamalarımızı online olan veritabanımıza bağlayabileceğiz.
Devextreme Web Servis Çıktısı

İyi Çalışmalar -- Takipte kalın

Burak Hamdi Tufan


Tags

Share this Post



Post a Comment

Success! Your comment sent to post. It will be showed after confirmation.
Error! There was an error sending your comment.

Comments

  • Serhat

    Merhaba , Öncelikle verdiğiniz bilgiler için teşekkürler. Web Servise bağlanmayı asmx ile denediniz mi ? Ben deniyorum fail oluyor sürekli. Her ihtimali kontrol ettim ama olmadı. Eğer denediyseniz yardımcı olabilir misiniz?

    2015/11/19 00:05:27
    • Burak Hamdi TUFAN

      Merhaba Daha önce denemedim fakat isterseniz size şöyle bir örnek vereyim buradaki mantık heryerde çalışır durumdadır muhtemelen asmx --soap-- web serviste problem olabilir eğer hata aldığınız yeri belirtirseniz daha hızlı yardımcı olabilirim

      2015/11/19 10:25:26
  • oğuzhan

    Ben Yukardaki Örneğin Aynısını Yaptım ama bana değer gelmiyor neden acaba

    2015/12/10 14:12:18
  • Burak Hamdi TUFAN

    Acaba deneme amaçşı yazdığınızın web servisin konumu neresi birde tarayıcı ekranında sağ tıklayıp öğeyi düzenle kısmından baktığımızda Java Script hatalarını görüntüleyebiliyoruz onu bi denermsnz hatayı görebilmek adına Web servise verileriniz gitmemiş olabilir bu sıkıntıyı bende çok yaşamıştım zamanında Çünkü web hostingler User Agent Göndermediğinizde veriyi bopt olarak algılayıp erişimi engelliyorlar öyle bir hata almış olabilirsiniz aldığınız hatayı paylaşırsanız daha fazla yardımcı olabiliriz

    2015/12/11 08:45:50
    • oğuzhan

      ben web servisi lokalden alıyorum yani projenin içinde bir klasörden öyle olmazmı ki...

      2015/12/12 09:35:42
  • Burak Hamdi TUFAN

    PHP web servsilerin çalışması için bir PHP serverda olması gerekir yani dosya çalışmazsa sonuç alamazsınız Mesela WAMP server veya Easy php gibi server programları bu iş içindir. PHP dosyaları direk olarak locaklinizden çalışmaz

    2015/12/12 18:05:50
    • oğuzhan

      Teşekkürler

      2015/12/15 15:01:20
  • HAKAN

    size mail attım. acil cevaplama durumunuz olursa çok sevinirim.

    2016/11/09 12:25:28
  • meryem

    Devextreme de özellikle web servis yazılarınızın devamını bekliyoruz...

    2018/03/22 13:36:02