Page 134 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 134
134 | REST API ve gRPC Mimari Stillerinin Karşılaştırılması
REST API
REST (Representational State Transfer), API tasarlamak için kullanılan belirli kısıtlamaları içeren
modern bir mimari yaklaşımdır. Günümüzde web ve mikroservis tabanlı uygulamaların birbirleri
ile etkileşimlerinde kullanılan en popüler mimari stildir. REST, başlangıçta internet gibi karmaşık
bir ağdaki iletişimi yönetmek için bir kılavuz olarak oluşturulmuştur. REST tabanlı mimari yüksek
performanslı, güvenilir ve ölçeklenebilir API’ler oluşturmak için kullanılmaktadır. Kolay uygulayabilir,
değiştirebilir yapısı, API’lerin sezgisel olarak kolaylıkla anlaşılabilir olmasını ve platformlar arası
kolaylıkla taşınabilir olmasını sağlamaktadır. RESTful API’ler, durum bilgisiz, ölçeklenebilir ve
güvenilir API’ler oluşturmak için modern web geliştirmede yaygın olarak kullanılmaktadır.
REST kısıtlamalarına uyan sistemler RESTful olarak isimlendirilir. RESTful API’ler HTTP protokolü
üzerine kuruludur. Kaynaklara erişmek için bir URI (Uniform Resource Indentifier), istenen işlemi
tanımlayan bir HTTP metodu (ör. GET, PUT, POST), mesaj gövdesi ve iletilen işleme özgü üst verileri
içeren bir header alanlarına sahiptir. URI erişilmek istenen kaynağa ait önceden tanımlanmış
adresine, HTTP metodu kaynak üzerinde gerçekleştirilmek istenen ekleme, okuma, güncelleme ve
silme (CRUD) aksiyonlarına karşılık gelmektedir. Mesaj gövdesi alanında JSON, HTML, XML veya
sunucu tarafından kabul edilen diğer bir veri biçiminde formatlanmış içeriği, header alanında ise
isteği tanımlayan üst veriler yer almaktadır. JSON anahtar ve değer çiftleri içeren mesaj formatı ile
basit, kullanımı kolay ve insanlar tarafından kolaylıkla okunabilirlik özellikleri sebebiyle en popüler
mesaj içerik formatlarından biridir. Ancak mesaj içeriğinde bulunan özellik adlarının tekrarlanması
mesajların gereğinden fazla büyük olmasına sebep olması sebebiyle en optimal mesaj formatı
değildir.
Günümüzde REST API’lerin halka açık bir şekilde yayınlanması diğer üçüncü taraf uygulamalar
tarafından bu API’lerin kullanılmasına olanak sağlamaktadır. REST için popüler API yönetim
araçları arasında Postman, Amazon API Gateway, IBM API Connect, SAP Integration Suite vb.
bulunmaktadır.
1. REST API Özellikleri
Bu bölümde REST API özellikleri; tek tip arayüz, durumsuzluk, istemci sunucu ayrımı, katmanlı sistem,
ön belleğe alınabilirlik, istek üzerine kod başlıkları altında anlatılmıştır.
1.1. Tek Tip Arayüz
Sınıfları bağımlılıklarından ayırmak için arayüzlerin kullanılması oldukça eski bir yöntemdir. REST API
de istemciyi REST hizmetinin uygulanmasından ayırmak için aynı konsepti kullanmaktadır. Böyle
bir arayüzü tanımlamak için standartlar gereklidir. Tek tip arayüz, sunucunun bilgileri standart bir