Blogger tarafından desteklenmektedir.

REST Mimarisi Nedir?



Açılımı "REpresentational State Transfer" olan REST, istemci-sunucu (client-server) arasında iletişim kurulmasını sağlayan hızlı ve kolay bir veri aktarım yöntemidir. Dilimizde "Temsili Durum Aktarımı" olarak karşılık bulan bir yazılım mimarisi stilidir. REST mimari stiline uygun hazırlanmış API' ler "REST API",  REST mimarisini uygulayan web hizmetleri de  "RESTful web hizmetleri" olarak tanımlanırlar ve bu sistemler çoğunlukla HTTP protokolü üzerinden web tarayıcıları tarafından sayfaların transferinde de kullanılan HTTP istek yöntemleri (GET, POST, DELETE, PUT vs.) ile haberleşirler.

REST mimari stilinde en temel görev olan istemci-sunucu arası veri aktarımı HTML, JSON, XML veya farklı formatlarda yapılabilir ve REST in bu konuda bir kısıtlaması yoktur. Bu yapı genel özellikleri açısından platform ve dilden bağımsızdır. Yani istemcinin windows olması, sunucunun linux olması gibi durumların bir önemi yoktur.

 

REST mimari stilinin sınırlarını belirleyen prensipler vardır. Bunlar;

  • Tektip Arayüz (Uniform Interface) REST mimarisinin en temel özelliğidir. İstemci-sunucu iletişimini basitleştirir ve ortak arayüz sayesinde her parçanın birbirinden bağımsız şekilde geliştirilmesine olanak sağlar.
  • Durumsuzluk (Stateless) sunucunun, istemcinin durumu ile ilgili bir kayıt tutmaması, her isteği ayrı ve bağımsız olarak ele almasıdır. Sunucu, istek yapan istemcinin daha önce kaç istek yaptığı veya hangi istekleri yaptığı konusunda herhangi bir bilgi tutmaz.
  • İstemci-Sunucu (Client-Server) prensibi, platform bağımsız çalışmayı desteklemesi açısından istemci ve sunucunun birbirinden bağımsız olması durumudur. İstemci ve sunucu tamamen ayrı aktörlerdir ve aralarındaki iletişim istemci tarafından başlatılır. İstemci istek yapar, sunucu doğru isteğe yanıt verir.
  • Katmanlı sistem (Layered system) İstemci-sunucu arasındaki veri atarımı her zaman doğrudan birinden diğerine şeklinde yapılmamaktadır. Güvenlik ve/veya bir çok sebeple aracı katmanlar kullanılmaktadır. İstek-yanıt alışverişi bir nevi elden-ele veri aktarımı şeklindedir.
  • Önbelleklenebilme (Cacheable) İstemci ve aracılar (katmanlar) sunucudan gelen yanıtları önbelleğe alabilirler. Bu nedenle sunucu, isteklere verdiği yanıtların önbelleklenebilir olup olmadığını bildirmelidir.
  • İsteğe bağlı kod (Code on demand) REST mimarisindeki "olmasa da olur" denilebilecek tek prensiptir. Bu prensip sunucunun istemciye yeri geldiğinde yürütülebilir komut dosyası gönderebilmesi durumunu kapsar.

Genel hatlarıyla bahsetmeye çalıştığım REST ve RESTful kavramlarına dair söyleyeceklerim bu kadar. Umarım sizlere bir faydası olur. Kodunuz bol olsun...

Hiç yorum yok