Table of Contents

Balans Common Web Objects

BCWO se deli na grane navedene u tablici ispod, a koje su različito implementirane. U pitanju je kombinacija RESTful i SOAP tehnika.

RESTful

REST je skraćeno od “REpresentational State Transfer” i široko je prihvaćena i u upotrebi tehnologija na bazi HTTP protokola. Veb servisi koji koriste ovu tehniku se nazivaju RESTful. Ovo je najčešći vid komunikacije na internetu danas.

SOAP

SOAP je skraćenica za “Simple Object Access Protocol” koji je nastao 1998. Može da se posmatra kao “uži” RESTful servis (iako je stariji), jer koristi isključivo POST HTTP metod, XML i mora da sadrži odredjena HTTP zaglavlja sa tačnim vrednostima.

Mnogi razvojni alati za SOAP veb servise automatski stvaraju WSDL ( Web Services Description Language) XML specifikaciju koja je dostupa dodavanjem ?WSDL na glavni URL servisa. Velika prednost je što moderna razvojna okruženja (Visual Studio, NetBeans) podržavaju uvoz ove specifikacije i automatski prave potreban kod, tako da korisnik ne programira taj deo.

Linkovi:

https://www.w3.org/TR/soap/
https://www.w3schools.com/xml/xml_soap.asp
https://www.tutorialspoint.com/soap/what_is_soap.htm

Alati za testiranje:

soapUI - https://www.soapui.org/

Realizovane grane

Grane su nezavisne. Jedina dodirna tačka grana jeste odeljak 1 koji svi koriste za dobijanje prava pristupa

Za upotrebu svih metoda, neohodan je token. Token se dobija pozivom metodi GetToken (opisana u odeljku 1) preko dodeljenih podataka za pristup - korisnički nalog i šifra. Ekvivalentan je API key stringu, koji je široko raspostranjem na internetu, sa tom razlikom što token ima značajno kraći period važenja.

Takodje je potrebno da Melany Software prvo autorizuje kompaniju (što je već uradjeno kada dobijete nalog i šifru).

RBOdeljakImplementacijaRevizija
1Autorizacija i dobijanje prava pristupa sistemuRESTful i SOAP19-6-11
2Manipulacija šifarnicima sistemaSOAP20-11-13
3FieldOps (Teledirekt) operacijeRESTful19-6-11

Primer korišćenja (redosleda)

Ukoliko je cilj komunikacije sa servisom da se dobiju informacije o stanjima artikala na skladištima, a pto vraća metoda StockLevel, za njen poziv klijent mora da zna još i koje vrednosti parametara može da upotrebi:

Sumirano za primer, redosled bi bio:

  1. GetToken('', userName, userCode, [authUser], [authCustomer]) → token
  2. GetStockTypes(token) → Spisak mogućih vrednosti za tipove skladišta
  3. StocksAvailable(token) → Informacije o postojećim skladištima
  4. GroupsAvailable(token) → Informaceij o postojećim grupama
  5. SubgroupsAvailable(token, [groupID]) → Informacije o postojećim podgrupama
  6. CategoriesAvailable(token, [groupID], [subgroupID]) → spisak kategorija u sistemu
  7. ManufacturersAvailable(token) → Informacije o zabeleženim proizvodjačima
  8. ItemsAvailable (sessToken, [groupID], [subgroupID], [categoryID], [manufID], [itemID], [itemArticle], [itemType], [itemColor], [itemModel], [itemTitle], [itemBarcode]) → Spisak Item objekata (artikli)
  9. StockLevel (sessToken, stockID, stockType, [forDate], [itemID], [itemArticle], [itemType], [itemColor], [itemModel], [itemTitle],[priceListName],[priceListDate]) → rezultat stanja artikala na skladištima