REST / SOAP API Nedir? Farkları Nelerdir?

Canan Gök
Android Türkiye
Published in
4 min readJul 11, 2018

Api Nedir?

Api(Application Programming Interface) yani Uygulama Programlama Arayüzü.

Bir uygulamaya ait işlevlerin başka bir uygulamada da kullanılabilmesi için oluşturulmuş bir arayüzdür. İki yazılımın veya veritabanının birbiri ile sorunsuz çalışabilmesini ve en sağlıklı bir şekilde birbiri ile iletişime geçmesini sağlar.

Rest Nedir?

REST( Representational State Transfer) istemci-sunucu arasında hızlı ve kolay şekilde iletişim kurulmasını sağlayan bir servis yapısıdır. REST, servis yönelimli mimari üzerine oluşturulan yazılımlarda kullanılan bir veri transfer yöntemidir. HTTP üzerinde çalışır ve diğer alternatiflere göre daha basittir, minimum içerikle veri alıp gönderdiği için de daha hızlıdır. İstemci ve sunucu arasında XML veya JSON verilerini taşıyarak uygulamaların haberleşmesini sağlar. REST standartlarına uygun yazılan web servislerine RESTful servisler denir.

Soap Nedir ?

SOAP(en: Simple Access Protocol ,tr: Basit Nesne Erişim Protokolu) en temel anlamda, internet üzerinden küçük miktarda bilgileri yada mesajları aktarma protokoludur. SOAP mesajları XML formatındadırlar ve genellikle HTTP(Hyper Text Transfer Protocol) protokolu(bazende TCP/IP) kullanılarak gönderilirler. SOAP ,XML tabanlı kullanıma mecbur bırakır. Bu konuda esnek değildir.

Rest ile Soap Farkı

Güvenlik: SOAP üzerinde güvenlik(security) sağlamak daha kolay ve hızlı şekilde olabiliyorken, bu durum REST için karmaşık olabiliyor. REST için güvenlik söz konusu olduğunda SOAP’a göre biraz zayıf kalmaktadır.

Data Yapısı: REST ile JSON, XML hatta TEXT ile çalışabiliyorken, SOAP ile XML kullanmalıyız. REST bu sayede daha kullanışlı olabiliyor. JSON ile daha küçük boyutlarda verilerle işlemler gerçekleştirebiliyorsunuz. Eğer data boyutları uygulamanız için önem arz ediyorsa REST kullanmak sizin için uygun olacaktır.

Uygulama Hızı: Uygulamanızın daha hızlı çalışmasını istiyorsanız REST kullanmanız yararınıza olacaktır.

Destek: SOAP için geliştirici araçları daha iyidir. Kullanmamız için bize yardımcı olacak daha çok kaynak bulabiliriz. REST’in dökümantasyonu SOAP’a göre daha azdır.

REST yaklaşımı HTTP metotlarını kullanarak işlerini görür. GET,POST,PUT,DELETE vs.

SOAP servisleri RPC(Remote Process Call yani uzaktaki bir prosedürün çağrılması) çalışma yöntemini kullanır, WS-* gibi güvenlik protokollerini içerisinde barındırır, state bilgisini request ve response’larda saklar.

REST mimarisi SOAP’a göre oldukça esnektir ve hafiftir, taşınan veri miktarı daha azdır, entegrasyonu da daha kolaydır.

Json nedir?

Json, Javascript uygulamaları için oluşturulmuş bir veri formatıdır. Javascript Object Notation’ın kısaltmasıdır. JSON’un temel amacı veri alış verişi yaparken daha küçük boyutlarda veri alıp göndermektir.

JSON → 5 Veri tipini içinde barındır

· Number

· String

· Array

· Boolean

· Object

· Null

Json türündeki veriler iki parçadan oluşur: key (anahtar) ve value (değer). Anahtar’da nesnenin hangi özelliğinin olduğu (koddaki değişken ismi gibi düşünülebilir) tanımlanırken değerde ise anahtar özelliğinin değeri (değişkenin değeri) tanımlanır. Nesnelerdeki anahtar ve değerler string türünde tanımlanır.

Örnek :

“Ad” anahtarının değeri “Canan” , “Soyad” anahtarını değeri ise “Gök” olarak tanımlanmıştır.

XML nedir ?

XML(eXtensible Markum Language), interneti kullanarak veri alışverişi yapan sistemler ve platformlar arasındaki veri iletişimini standart hale getirmek için tasarlanan bir işaretleme dilidir.

En önemli özelliği verileri belli bir yapıda derleyip, başkalarının bu verileri kullanmasına imkan tanımasıdır.

XML, HTML gibi hiyerarşik bir işaretleme dilidir. Ancak XML’de kullanılan etiketler, HTML’den farklı olarak kişiler tarafından belirlenir. İsimlendirme konusunda insiyatifi bize bırakan XML, diğer konularda katı ve kesin kurallara sahiptir.

Bir XML dosyası oluşturulurken aşağıdaki kurallara uyulması gerekir.

· XML etiketleri hiyerarşik bir yapıda oluşturulmalıdır.

· Açılan etiketler mutlaka kapatılmalıdır.

· XML’ de etiketlere nitelik atanabilir.

· Xml Case Sensitive bir dildir.

XML dili günümüzde veri iletimiyle alakalı her alanda sıklıkla kullanılmaktadır. Günümüzde web siteleri için site haritası oluşturma, veritabanlarının aktarılması, yazılım paketleri içerisindeki bağımlılıkların tanımlanması, finansal verilerin iletimi, dosya sistemlerinin oluşturulması, bilimsel içeriklerin depolanması gibi yüzlerce alanda XML teknolojisi kullanılmaktadır.

Bir xml dosyasının içeriği :

Json ile Xml farkı nedir?

JSON; okunması ve kullanımı kolay XML benzeri içerik kategorileme dilidir. Aslında XML dilinin veri alış verişi sırasında büyük ve yavaş kalması üzerine geliştirilmiştir

XML dili aslında etiketlerden oluşan bir dildir. Günümüzde birçok yazılım, diğer yazılımlarla veri alışverişini XML formatı üzerinden yapmaktadır. XML, dil olmanın yanı sıra tanımlanmış bir standarttır. Bu yüzden de farklı sistemler arasında veri alışverişi yapmaya yarayan bir ara format görevi de görür.

JSON, XML’e göre daha pratik ve daha hızlıdır. XML gibi bir çok programlama dilinde kullanılabilir.

Kaynakça ;

--

--