Application Programming Interface anlamına gelen dilimize uygulama programlama arayüzü olarak çevirebileceğimiz RESTFull bir servis teknolojisidir.Platform bağımsızdır ve yazılın bir Web Api servisi birden fazla veri formatına ve birden fazla platforma destek verebilir.
Http protokolü üzerinden haberleşir ve MVC Desing Pattern( tasarım kalıbı) uygulanmıştır.MVC yapısında bulunan Routing,Controlles,Action,Filters,Model Binders yapılarını Web Api teknolojisinde birebir görmeniz mümkündür.
Wep Api projeleri REST mimarisini temel alarak geliştirilmiş RESTFull servislerdir. İlk versiyonu WCF WEB APİ olup daha sonra ASP.NET WEB APİ olarak isimlendirilerek WCF tarafından tamamen ayrılmıştır.
REST Nedir ?
- Http protokolü üzerinden hafif ve kolay Client-Server iletişimini temel alan bir servis mimarisidir.
- Roy Fielding 2000 li yıllarda doktora tezi olarak ortaya koymuştur.
- Yapılan bütün istekler URL üzerinden gerçekleşir aslında metotlar URL ile temsil edilir diyebiliriz .
RESTful Nedir ?
- RESTful ise REST mimarisini temel alarak geliştirilmiş belli prensiplere sahip web servislerdir.
- Client-Server arasındaki veri platform bağımsız ve az yükle yapılır.
- Response olarak en çok kullanılan veri formatları JSON(Javascript Object Notation) ve XML (Extensible Markup Language) dir.
- İkisi arasında bir seçim yapılacak olursa Json daha çok tercih edilebilir.
- Nedeni ise XML’e göre daha hızlı olması ve talepler karşısında dönülen veri formatı’nın daha sade ve küçük boyutta olmasıdır diyebiliriz.
RESTful Servis Prensipleri
- Client-Server :Client , Server hakkında ; server ,client hakkında bir şey bilmez.
- Stateless:Server tarafında client ile ilgili hiçbir bilgi tutulmaz.
- Cacheable:Server tarafında response da cache’lenebilirliği gönderir ve client veriyi cache’leyebilir.
- Layered System :Client’ın server tarafında hangi katmana bağlandığını bilmemesi .
- Uniform Interface:Client’ın server arasında ortak bir URI formatında arayüz bulunması
Neden WEB APİ ?
- Geliştirilme süreçleri diğer servis yapılarına göre daha zahmetsiz ve sıkıntısız’dır.
- HTTP tabanlı olduğu için REST-ful servisler geliştirmek için en iyi tercihtir.
- Exception ve Cache mimarileri oldukça performanslı ve yönetilebilirdir.
- Open Source olduğu için sürekli geliştirilen ve özellikler eklenen bir teknolojidir.
Bir sonraki makalede kaldığımız yerden devam edip, Wep Api projemizi oluşturup örnek bir Sql Server Veritabanı üzerinde Crud işlemlerimiz gerçekleştireceğiz. Bu sırada ihtiyacımız olan Routing yapılandırmasına değinip ufak bir Web Api projesi geliştirmiş olacağız.
Da Fit