Kavramlar

 Genişletmek için tıklayınız...

REST ile ilişkili kavramlar burada anlatılacaktır.

REST Nedir?

REST REpresentational State Transfer ifadesini simgeler. REST web standardları temelli mimariye sahiptir ve veri aktarımı/iletişimi için HTTP Protokolünü kullanır.

REST her bileşeni bir kaynak (resource) olan yerde HTTP standart metodları ile erişimi sağlar. REST ilk olarak Roy Fielding tarafından 2000'li yıllarda geliştirilmiştir.

REST mimarisinde;

  • REST Sunucusu kaynaklara erişimi sağlar
  • REST İstemcisi ise kaynaklara erişir
  • Her bir kaynak URIs/ global IDs ile tanımlanır.
  • REST kaynakları sunmak için çeşitli sunumlar(representation) kullanır. Bunlar;
    • text
    • JSON
    • XML
  • JSON web servislerde kullanılan en popüler formattır.

HTTP Methotları

Aşağıda listelenmiş iyi bilinen HTTP metotları REST tabanlı mimarilerde de kullanılır.

  • GET - Kaynaklara sadece okuma izinli erişim sağlar.

  • PUT - Yeni bir kaynak oluşturmak için kullanılır.

  • DELETE - Bir kaynaği silmek için kullanılır.

  • POST - mevcut bir kaynağı güncellemede ya da yeni bir kaynak oluşturmada kullanılır.

  • OPTIONS - kaynak üzerinden geçerli işlemleri öğrenmek için kullanılır.

RESTFul Web Servisleri

Web Servis aslında uygulamalar ya da sistemler arasındaki veri değişimi için açık protokol ve standartlar kolleksiyonudur.

Yazılım uygulamaları çok farklı dillerde yazılmış ve farklı platformlar üzerinden çalışıyor olabilir. Bütün bu uygulamalar tek makina üzerinde ya da internette farklı makineler üzerinde olabilir. Bunlar arasındaki veri değişimi için WS ler kullanılır.

Bu birlikte çalışabilirlik (Örneğin Java ve Python, ya da  Windows ve Linux uygulamaları) açık standartların kullanımı ile olur.

REST mimarisine dayanan Web Servisler. RESTful Web Servisler olarak bilinir.

Bu Web Servisler REST mimari kavramını uygulamak için HTTP metotlarını kullanırlar. Bir RESTful web servis genelde bir URI(Uniform Resource Identifier) tanımlar, JSON ve HTTP metotları ile source sunumunu sağlar.

RESTFul Web Servis Örnekleri

1GET/UserService/usersGet list of usersRead Only
2GET/UserService/users/1Get User with Id 1Read Only
3PUT/UserService/users/2Insert User with Id 2Idempotent
4POST/UserService/users/2Update User with Id 2N/A
5DELETE/UserService/users/1Delete User with Id 1Idempotent
6OPTIONS/UserService/usersList the supported operations in web serviceRead Only

Lisans

 Genişletmek için tıklayınız...

NetOpenX REST Servisin kendisine ait lisansı bulunmuyor. NetOpenX altyapısını kullanır. Dolayısıyla NetOpenX REST Servisin çalışabilmesi için NetOpenX lisansının sistemde bulunması gerekmektedir. NetOpenX temelleri ve lisans konusu için lütfen tıklayınız

NetOpenX REST Servisin Netsis Temelset 8.06 ve üzeri sürümlerinde çalışabildiği unutulmamalıdır. 

Kurulum

 Genişletmek için tıklayınız...


NetsisNoxRest kurulumu için lütfen tıklayınız..


Mimari

 Genişletmek için tıklayınız...

NetOpenX REST,

  • yazılımcıların standart CRUD (Create, Read, Update, Delete) işlemlerini HTTP komutlarını kullarak gerçekleştirmesine izin vermekte
  • http ve https(Secure http) haberleşmesini IIS servera ihtiyaç bırakmadan

sağlayabilmektedir.

Logo REST çalışma mimarisi aşağıdaki şekilde özetlenmiştir.


NetOpenX istemcisi için ise SSO(Merkezi Kimlik Yönetimi)  üzerinden lisans kontrolleri yapılır.

İlk bakışta temel özellikleri şu şekilde özetlenebilir;

  • .Net Framework ile geliştirilmiştir.
  • http ve https protokollerini ve bu protokoller ile haberleşen masaüstü, mobil ve web uygulamaları içerisinde kullanılabilir.
  • İletişim için JSON formatını kullanır.
  • Arka planda veri alış verişi NetOpenX ile gerçekleştirilmektedir. Dolayısıyla NetOpenX tüm veri aktarımı yeteneklerine sahiptir.
  • Multi Thread çalışacak şekilde dizayn edilmiştir.

Ürünlere Göre REST Fonksiyon Karşılaştırması

Ürünlerimizde REST iki farklı şekilde sunulur.

  1. Logo App için sunulan REST
  2. LogoObjects/NetOpenX entegrasyon araçları üzerinden sunulan REST

Aşağıdaki tabloda Logo Apps ile Enterasyon araçları(Logo Objects, NetOpenX) üzerinden sunulan servislerin karşılaştırmasını görebilirsiniz.

 

Logo Apps REST

Logo Objects REST

NetOpenX REST


Netsis3

Tiger3

Go3

Data Nesnesi

Tüm Data Nesnesi

Kartlar+Fişler

Kartlar

Kartlar+Fişler

Tüm Data Nesneleri

Metodlar

Tüm (NetOpenX)

Tüm (Logo Objetcs)

Tüm (Logo Objetcs)

Tüm (Logo Objetcs Production Application hariç)

Tüm (NetOpenX)

Lisans

ihtiyaç yok

ihtiyaç yok

ihtiyaç yok

Lisansa gerek var

Lisansa gerek var

İşleyiş adımları kısaca şu şekilde özetlenebilir;

1.  Erişim Kontrol

Herhangi bir işlem öncesinde yazılımcı access token (erişim belirteci) çağrısını servise gönderir. Bu çağrıda bağlantı kurulacak Logo ürünü içerisinde tanımlanmış standart bir kullanıcının kullanıcı adı, şifresi ve bağlantı kurulmak istenen şirket, şube bilgileri yer alır. Rest servisi bu çağrıyı olumlu karşılarsa geriye JSON formatında token bilgisi döndürür.

2. İşlem

Birinci adımda karşılanan token bilgisi ile yazılımcı yaptırmak istediği işlem bilgisini rest servise gönderir. Bu işlem herhangi bir data işlemi, örneğin sipariş fişi aktarımı olabileceği gibi irsaliye faturalama, borç kapama işlemi vb. Application nesnesi işlemi veya bir sorgulama işlemi de olabilir. Rest servis çağrıyı olumlu karşıladığında geriye JSON formatında bir dönüş yapmaktadır.

3. İşlem Sonlandırma

İşlem sonrasında ilgili session açık bırakılabilir veya yazılımcı tarafından sonlandırılabilir.

Sonlandırılmadığı takdirde birinci aşamada elde edilen access token parametrik olarak belirlenebilen bir süre sonra otomatik olarak kullanım dışı olacaktır.

Bu durumda da ileride değineceğimiz yöntemlerle access token için ek süre verilebilir.




Kaydet

Telif HakkıKullanım KoşullarıGizlilik
Copyright © 2018 Logo Yazılım