REST MİMARİSİ VE RESTful WEB SERVİSLERİ

     REST (Representational State Transfer) Türkçe anlamıyla Temsili Durum Transferi olarak adlandırılan,web protokolleri ve teknolojilerini kullanan bir dağıtık sistemdir.Peki dağıtık sistem nedir ? Dağıtık sistem,bilgisayarın veya sunucuların birbirleriyle bir bütün olarak çalışmalarına denir.REST,bir veri transfer yöntemidir.HTTP üzerinden çalışan REST,basit sorgular ile verilere kolay erişim sağlamakla beraber hızlıdır.REST,bu verileri XML veya JSON formatında taşır.Çoğu zaman JSON tercih edilir.Bunun nedeni JSON'un XML'e göre insanlar tarafından daha basit okunabilmesi ve verileri daha küçük boyutlarda tutabilmesidir.


   RESTful web servisleri ise REST standartlarına uygun olarak yazılan web servislerine denir.Bu yazımızdan sonra JAX-RS ile kendi web servislerimizi nasıl yazacağımızı öğreneceğiz.REST standartlarına uygun yazılan web servislerine RESTful demiştik.Peki nedir bu web servisleri ? Web servisleri,HTTP protokolü ile hizmet veren uygulamalardır.Yazılan metodlar bir sunucu üzerinde çalıştırıldıktan sonra bir response mesajı üretir.Yani siz bir request mesajına karşılık bir response mesajı alırsınız.Biz bu servisleri yazarken istemcinin verilere hızlı ve kolay bir şekilde ulaşmasını sağlarız.Örnek olarak ben size RESTful bir web servisi yazarım.Bu servis size güncel hava durumu bilgilerini  sunar.Sizde yaptığınız HTTP request mesajları ile bu verileri anlık olarak çekersiniz.4 tip HTTP istek metodu vardır.Bunlar GET,POST,PUT ve DELETE.RESTful servislerde 


  1. GET=veri getirme
  2. POST=veri ekleme
  3. PUT=veri güncelleme
  4. DELETE=veri silme 
olarak kullanılır.Siz bu isteklerden birini yaparsınız ve size bir response mesajı döner ve bu response mesajlarının birer durum kodu olur.Bu durum kodları ise client'ı bilgilendirmek içindir.HTTP durum kodlarını buradan inceleyebilirsiniz.Wireshark uygulaması ile HTTP request ve response paketlerinin yapılarını şekilde görüldüğü gibidir.

       Elimizde kan bağışı yapmak isteyen insanların bulunduğu bir veritabanımızın olduğunu varsayalım.Bu bilgilerin bir RESTful web servisi ile erişime açık olduğunu varsayalım.Biz bu servise yapacağımız bir HTTP isteği ile kan bağışçılarının isimlerini çekebiliriz.Bu bağışçılara yenilerini ekleyebilir,silebilir veya güncelleyebilir.Örneğin bu şekilde yapılan bir istek
"GET/bagisci/3" (URI-Uniform Resource Identifier) şekilinde 3 numaralı id'ye sahip bağışçının bilgilerini getirir veya GET/bagisci?sehir=Ankara(QueryString) gibi bir sorgu Ankarada bulunan bağışçıların listesini getirir.Gördüğünüz gibi çok esnek,genişletilebilir,rahat ve hızlı bir kullanıma sahip.REST ve RESTful kavramlarını kısaca öğrenmiş olduk.



İYİ ÇALIŞMALAR...












Hiç yorum yok:

Yorum Gönder

Spring Boot Uygulamasını Heroku üzerinde Deploy Etme

Bu yazımızda sizlere spring boot ile yazılmış basit bir Rest api'nin heroku üzerinde nasıl deploy edebileceğimizi göstereceğim. Önce ...