kb:web:balans_common_web_objects

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.

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 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/

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

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:

  • U opštem slučaju, redosled radnji počinje pozivom metodi GetToken da bi se dobio token, kao obavezan parametar svih metoda.
  • Dalje, za moguće vrednosti parametra stockType, mora prethodno da izvrši poziv GetStockTypes i dobije rezultat.
  • Ako želi da vidi samo konkretno skladište, onda u stockID može da unese neku vrednost ID skladišta koje je dobio prethodnim pozivom metodi StocksAvailable. Ao želi sva skladišta, unosi nulu za ovaj parametar.
  • Analogno, pozivom metodi ItemsAvailable, klijent saznaje IDjevi artikala, šifre i nazivi i onda te podatke upotrebiti u parametrima itemID,itemArticle, itemType, itemColor, itemModel ili itemTitle ove funkcije.

    Ovde naglašavam da se ovi parametri medjusobno isključuju: Ako zadata kombinacija itemID i itemColor vrednosti koja ne postoji, onda sistem vraća prazan rezultat. Isto se dobija, na primer, da se preda kombinacija itemArticle, itemType i itemTitle vrednosti koja ne postoji u bazi podataka. I slično.
    U ovakvim slučajevima se koriste džoker vrednosti koje ne filtriraju rezultat po datom parametru. Za numeričke vrednosti džoker je nula, a za tekstualne znak procenat %. Neki parametri mogu da se izostave, a prema dokumentaciji konkretne metode.

    Za poziv ovoj metodi prvo treba saznati podatke koje vraćaju metode GroupsAvailable, SubgroupsAvailable, ManufacturersAvailable i CategoriesAvailable.

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
  • kb/web/balans_common_web_objects.txt
  • Last modified: 2020/11/13 10:32
  • by aleksandar