RESTFUL SERVICES & POSTMAN
REST, client-server arasındaki haberleşmeyi sağlayan HTTP protokolü üzerinden çalışan bir mimaridir. REST, servis yönelimli mimari üzerine oluşturulan yazılımlarda kullanılan bir transfer yöntemidir. İstemci ve sunucu arasında XML ve JSON verilerini taşıyarak uygulamanın haberleşmesini sağlar. REST mimarisini kullanan servislere ise RESTful servis denir.
Daha anlaşılır olması için gerçek bir proje örneği vereceğim.
Bankalar ile veri transferi yapan bir sistem tasarlamak istiyor. Firmamıza her para transferinde gelen para miktarının ve kim tarafından gönderildiğinin bilgilerini sistemimde kayıt etmek istiyorum.
Senaryo 1: Akbank ile sistemi entegre etmek istiyorum . Akbank DB olarak ORACLE DB yazılım dili olarak C# kullanıyor olsun. Sistemi entegre etmek için C# ve Oracle DB ile çalışan uygulama geliştirilecektir.
Senaryo 2: Garanti bankası da sisteme dahil edilmek isteniyor. Garanti bankasının gereksinimleri de Java ile yazılmış ve No Sql bir DB tasarımına sahip. Sistemi entegre etmek için Java ve NoSql DB ile çalışan uygulama geliştirilecektir.
Seneryo 3: n adet banka sisteme dahil olabilir.
Çözüm: Restful service kullanılarak server’ın gereksinimlerinden bağımsız çalışmak mümkündür. Restful servisler ile ortak bir dil kullanarak veri transferi yapar.
Backend de çalışan örnek bir akışı yukarıda tanımladık.
Peki Frontend ve Backend sistemlerini birbirinden ayırmak istersek nasıl bir yol izleyeceğiz?
Günümüzde kullanılan modern web tasarımlarında backend ve frontend birbirinden bağımsız tasarlanmaktadır.,
Yukarıda ki fotoğrafı bir web request ile açıklayalım.
*Müşteri restorant’a gelir. Müşterinin karşına çıkan görsellik ve tüm sunum bu alandadır. (FRONTEND).
*Müşteri sipariş verir (web sayfasının menülerinden seçenek seçer)
*Sipariş örneği kullanıcı listesini getir olsun. Garson yani API bu isteği Backend’e taşır.
*Backend isteği business süreçlerinden geçirerek hazırlar ve paketler.
*Hazır restful paket API aracılığı ile müşteriye ulaştırılır.
POSTMAN
Postman backend apilerini test emek için oldukça kullanışlı bir rest client’tır. Eğer elinizde var olan bir API’yi hızlıca test etmek sonuçlarını incelemek isterseniz Postman kullanıcı dostu arayüzü ile işlerinizi oldukça kolaylaştırıyor. Hazırladığınız request’leri export edip arkadaşlarınızla da paylaşabiliyorsunuz. Aynı zamanda requestler arası veri aktarabiliyor, bir api’nin çıktısını diğerinin outputu olacak şekilde geliştirme yapabiliyorsunuz. Çok az Javascript bilgisi ile hızlıca testler yazabiliyor, yazdığınız testleri kaydedip sonra tek bir tık ile çalıştırabiliyorsunuz.
Postman’i açtığınızda karşınıza aşağıdaki gibi bir arayüz çıkmaktadır.
Postman ile api testlerini otomatize edebilir ve tüm ortamları tek bir yerden yönetebilirsiniz.
Ortam bilgilerini kayıt ederek ip ve parametre değiştirerek tüm ortam testlerini aynı datalar ile kıyaslamak mümkündür.
Collection ile benzer istekleri sınıflandırmak mümkündür. Bu sayede kod tekrarının önüne geçilmektedir.
Backend Authorization bilgisini kısa bir JavaScript kodu ile Parent key haline getirebilirsiniz. Bu tüm requestlerde otomatize edilmiş token attachment işlemini sağlayacaktır.
Atılan requestlerin belli zaman dilimlerinde çalışacak testlerini hazırlamak mümkündür.
Testler ne üzerine yazılabilir.
Örneğin Kan istemleri için request hazırlandı, response da Kan grubu bilgisinin geldiği teyit edilecek. Response’da Kan bilgisi var ise PASS alacaktır
Başka bir örnek Http status tipine göre test yazılması, Post method ile create işlemi yapalım dönüş tipini 201 olarak bekleriz. Aksi geldiğinde Fail verecektir.
Apilerin çalışma zaman dilimleri veya success rate gibi parametreleri Monitör etmek mümkündür.