Kavramlar

  Döküman içerisinde geçen kavramları anlamak için lütfen öncelikle bu bölümü tıklayınız.

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

Sr. No.
HTTP Method
URI
Operation
Operation Type
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


Logo REST Servis

Kısaltması
LO REST
Uyumlu ProgramlarTiger 3, Tiger Enterprise 3, Tiger Wings
Uyumsuz ProgramlarGo Plus, Go 3, Bordro, Logo Start,
Tiger Plus, Tiger Enterprise
TanımEntegrasyon Aracı


Logo Objects'in yeteneklerinin kullanılabildiği REST temel prensiplerine sahip Logo ERP arayüzüdür.  3 Serisi Logo ERP ürünleri tarafından desteklenmeye başlanmıştır.

 Logo REST servis arka planda Logo Objects'i kullandığı için öncelikle Logo Objects dökümantasyonunu incelemenizde fayda vardır.


Lisans

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

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

Logo REST Servisin sadece Logo Yazılımın 3 serisi ürünlerinde çalışabildiği unutulmamalıdır. Eski ürünlerde Logo REST desteği bulunmaz.

Not : Logo App içerisinde Logo REST Servis desteği bulunuyor. Logo App içerisinden Logo REST Servis kullanıldığında herhangi bir lisans (Logo Objects dahil) aranmaz.


Kurulum

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

Logo ürün kurulumu gerçekleştirilirken son aşamaya geldiğinde aşağıdaki ekranla karşılaşılır.

Eğer bu ekranda "Logo Rest Service ayarları yapılsın" işaretlenirse

    • REST servis kurulumu ve ayarları otomatik olarak gerçekleşecek ve öndeğer ayarlar ile çalışmaya başlayacaktır.


Dikkat

Öndeğer kurulum secure http kurulumu olacağından eğer proxy ve/veya firewall kullanıyorsanız Logo REST Service'in talep ettiği portlar yetkilendirilmemiş olabilir.

Dolayısıyla servis cevap veremeyebilir.

Bu durumda proxy ve firewall ayarlarınızı ilgili portlara göre düzenlemelisiniz.

Port yetkilendirmesi ayarları kullanılan sisteme ve özel firewall uygulamalarına göre değişebilir. Ancak windows için basit yapılandırma ayarları için;

sayfasından faydalanabilirsiniz.



Kurulum sonrasında SSL kullanılabilmesi için gerekli Server ve Client sertifikaları yüklenmiş olmalıdır.

Bu sertifikaların kullanılabilir olup olmadıklarını

 sayfasından faydalanabilirsiniz.


Not : Eğer https (SSL sertifikaları) kullanılmayacak ve http üzerinden haberleşme sağlanacaksa server ve client tarafında yüklenen sertifikalar önemini yitirmektedir.

Http üzerinden yapılacak veri alış verişinde sertifikaların yüklenmesine veya kontrol edilmesine gerek yoktur.


Mimari

 Genişletmek için tıklayınız...
Logo 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.

 

REST istemci lisans kontrolü Lisans Sunucusu üzerinden yapılır.

Logo Objects istemcisi için ise sunucudaki dosya (LogoSet.cfg) üzerinden lisans kontrolleri yapılır.

Logo App REST arayüzlerini lisans denetimi olmaksızın kullanabilir.

İ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 uygulamarı içerisinde kullanılabilir
  • İletişim için JSON formatını kullanır
  • Arka planda veri alış verişi Logo Objects ile gerçekleştirilmektedir. Dolayısıyla Logo Objectsin tüm veri aktarımı yeteneklerine sahiptir.
  • Multi Thread çalışacak şekilde dizayn edilmiştir.
  • SSL sertifikaları ile güvenli iletişim sağlar
  • Veri tabanı sorgulamaları yetkilendirilebilir (Örneğin sadece select sorgularına izin verilip insert-update çağrılarının karşılanmaması sağlanabilir)

Ü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

Logo Objects üzerinden sunulan REST, fonksiyon açısından çok az bir farkla uygulanmıştır. Bu farklar özetle;

  • Logo Objects'te CAPI (firma, terminal ekleme gibi yönetim arayüzü), REST ile sadece okunabilir yapılmıştır.
  • Ayrıca Logo Objects'te tanımlı ama kullanılmayan çok az sayıdaki arayüzler REST'e geçirilmemiştir.

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 RESTLogo Objects RESTNetOpenX REST

Netsis3Tiger3Go3
Data NesnesiTüm Data NesnesiKartlar+FişlerKartlarKartlar+FişlerTüm Data Nesneleri
MetodlarTüm (NetOpenX)Tüm (Logo Objetcs)Tüm (Logo Objetcs)Tüm (Logo Objetcs Production Application dahil)Tüm (NetOpenX)
Lisansihtiyaç yokihtiyaç yokihtiyaç yokLisansa gerek varLisansa gerek var

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

  • 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 firma numarası yer alır. Rest servisi bu çağrıyı olumlu karşılarsa geriye JSON formatında token bilgisi döndürür.

  • İş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.

  • İş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.



Page viewed 35218 times by 9 users since Dec 06, 2016



Kaydet

Kaydet

Kaydet

Kaydet

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