j-guar Rest Servis
REST Nedir? Representational State Transfer İstemci ve sunucu arasındaki veri alış verişinin basit bir yoludur REST ile veri alış verişi JSON, XML, Text formatında yapılabilir HTTP üzerinde çalışır ve minimum içerikle veri alıp gönderebilmeyi sağlar DELETE, GET, POST ve PUT metodları kullanılır. Twitter, Yahoo, Flickr, del.icio.us, eBay, Amazon… Servislerin kullanılmasında amacımız aslında platform bağımsızlığını sağlamak. Desktop uygulamalarından olduğu gibi web uygulamalarından, mobil uygulamalardan ve cihazlardan verilerin hızlı ve güvenli akışını sağlamak. SOAP tabanlı servislerimizle bunu yapabiliyorduk ama bir diğer amacımız ise geliştirmesi kolay ve bakımı kolay uygulamalar oluşturabilmek. Aslında rest servisler bu anlamda öne çıkıyor. En temel anlamda, İstemci ve Sunucu(Client-Server) arasında veri alış verişinin basit bir yoludur. REST mimarisi standart bir tanımlamaya ihtiyaç duymaz. REST ile veri alış verişini JSON, XML hatta Text formatında bile yapabilirsiniz. Esnek bir yapıya sahiptir. REST mimarisinde HTTP metodlarından yararlanılır. DELETE, GET, POST ve PUT metodları kullanılır. Avantajları SOAP (Simple Object Access Protocol) , RPC (Remote Process Call)‘ nin aksine basit ve hafiftirler Esnek olup, SOAP gibi keskin standartları yoktur. SOAP gibi bizi proxy kullanmaya, bir WSDL'e zorlamıyor Bugün birçok şirket RESTful servisleri kullanıyor ; Twitter'ın Rest API'si var Amazon'un çeşitle amaçlarla kullanılabilecek bir sürü REST servisi var. Dünyanın en ünlü oyun firmalarından Blizzard Word of Warcraf oyuncularına karakterleri ile ilgili bilgileri RESTful servisler aracılığıyla sunuyor. Hatta yakında Diablo 3'de benzer bir API gelicek. Eve Online'ın da benzer bir REST API'si var. Rest servisler ; Platform bağımsızlar. (Client'ın Windows, Server'ın Linux olmasının hiç bir önemi yok) Dil bağımsızlar . HTTP üzerinden çalışıyorlar. Esnekler ve çok kolay genişletilebilirler.
j-guar REST Servisleri REST servis standartlarını karşılamaktadır. Versiyonlama, sayfalama, kullanıcı doğrulama… DataQueryRestService : Sorgu Servisi DataExchangeRestService : Veri aktarımı Servisi ReportingRestService : Raporlama Servisi BatchRestService : Toplu İşlem Servisi Özel fonksiyonlar (doorderdispatch, recalculate, applycampaign… ) SOAP tabanlı web servisimiz vardı. Bunun yanısıra REST standartlarında bir REST katmanı oluşturduk. Böylece ürün içerisinde gerçekleştirilen her işleme "JSON formatında bir URL yoluyla" erişimi mümkün kılıyoruz. j-guar rest servisleri, REST servis standartlarını karşılamaktadır. Versiyonlama, sayfalama, kullanıcı doğrulama… Rest işlemleri JSON formatında gerçekleştirebilmesinin yanısıra SOAP servisimizde yer almayan j-guar’ da sağ klikte yer alan metotlar için fonksiyonlar bulunmaktadır. REST artık Logo’nun seçtiği ve üzerine yatırım yaptığı veri aktarım teknolojisidir. İlerleyen zamanlarda REST katmanını tüm ürünlerimizde görebileceğiz.
j-guar REST Tüketimi Erişim anahtarı üretimi İşleyiş özetle 3 adımda; j-guar REST tüketimi öncesi mutlaka access token üretilmeli Token üretimi için login metodu kullanılır http://host:port/logo/restservices/rest/login İstekte kullanıcı adı, şifresi ve bağlantı kurulmak istenen firma numarası gönderilir Rest servisi bu çağrıyı olumlu karşılarsa geriye JSON formatında token bilgisini döndürür İşleyiş adımları kısaca şu şekilde özetlenebilir; Erişim Kontrol Herhangi bir işlem öncesinde access token (erişim belirteci) çağrısını servise gönderilir. Bu çağrıda bağlantı kurulacak j-guar içerisinde tanımlanmış 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.
j-guar REST Tüketimi İşlem Üretilen token bilgisi isteğin başlık bölümüne eklenerek ilgili rest kaynağı (dataexchange, rapor, batch..) çağırılır İsteğin sonucunda JSON formatında dönüş yapılır İş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 j-guar içerisinde tanımlanmış 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.
j-guar REST Tüketimi İşlem Sonlandırma İlgili session logout metodu ile sonlandırılır ya da belirlenen timeout süresi sonucunda kullanım dışı olur İş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 j-guar içerisinde tanımlanmış 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.
j-guar Rest WADL Web Application Description Language http://host:port/logo/restservices/rest/?_wadl login/logout batch reporting dataQuery özel fonksiyonlar(doorderdispatch, recalculate, applycampaign..) http://host:port/logo/rest/?_wadl j-guar iş nesneleri (mmitemexchanges, fiarpcardexchanges, loinvoices…)
j-guar Rest Swagger UI j-guar REST servisleri içerisindeki tüm nesnelere ait tanımlar Swagger 2.0 formatında oluşturulmuştur Bu tanımlara http://host:port/logo/restdocs/ adresi üzerinden erişebilirsiniz help sayfasında tüm iş nesnelerine ait tanımlar listelenmektedir İlgili rest kaynağına ait j-guar karşılıkları belirtilmiştir
JAVA REST CLIENT
docs.logo.com.tr forum.logo.com.tr jdev.support@logo.com.tr Tel : 0 (262) 679 80 81 Teşekkürler