Gestionarea actualizarilor succesive de date de tip set de inregistrari folosind interfata REST SmartCash

<< Click pentru afișare cuprins >>

Navigare:  SmartCash Everywhere REST Server > Instructiuni generale de utilizare ale metodelor de tip Get >

Gestionarea actualizarilor succesive de date de tip set de inregistrari folosind interfata REST SmartCash

Pentru a simplifica integrarea cu platforma SmartCash RMS, serverul SmartCash Everywhere mentine permanent contoare interne de versiune pentru orice tip de date transmise catre o aplicatie terta prin interfata REST. Astfel la orice apelare a unei metode de tip GetModified sau GetNext, etc… serverul intoarce doar cele mai noi (sau cea mai noua) inregistrari sosite de la ultima apelare a metodei respective.

Intretinerea acestor contoare este realizata automat, fara ca programatorul aplicatiei conectate sa trebuiasca sa salveze date locale de sincronizare.

 

Pentru a permite mai multor aplicatii sa interogheze acelasi server REST pentru aceleasi tipuri de date, toate metodele implementate au ca prim parametru ID-ul unic alocat aplicatiei respective in raport cu sistemul SmartCash. Acest ID (Integer) se stabileste la inceputul integrarii si ramane neschimbat, trebuind a fi utilizat pentru orice apel de metoda REST SmartCash.

 

Procesul de manipulare a datelor in cazul general al apelului unei metode SmartCash de tip GetModified… sau GetNext… este urmatorul:

1.Aplicatia terta apeleaza metoda furnizand toti parametrii solicitati.

2.Serverul SmartCash Everywhere prelucreaza interogarea si intoarce in general un set de inregistrari. Orice rezultat returnat contine campul REACVERSION , de tip intreg, crescator, reprezentand versiunea setului de date returnat. Daca in sursa de date originale nu survin modificari, este returnata mereu acceasi valoare. In cazul in care se produc modificari, campul este incrementat, corespunzator cu noul set de date ce este transmis.

3. Aplicatia terta parseaza rezultatul JSON si aplica datele sosite, corespunzator cu propriile necesitati in sistemul propriu. Pe durata acestui proces aplicatia terta trebuie sa pastreze intr-o variabila valoarea din campul RECVERSION returnata la pasul 2.

4.Dupa finalizarea pasului 3, aplicatia terta trebuie sa apeleze totdeauna metoda ConfirmReceivingDataByTypeOf, furnizand ca parametru de confirmare valoarea primita anterior in campul RECVERSION.

5.Serverul SmartCash Everywhere marcheaza apoi intern datele ca primite, urmand ca la o noua apelare, ulterioara a aceleiasi metode de catre aplicatia terta sa transmita doar acele date modificate care au un index de modificare superior celui tocmai salvat.

 

Situatii exceptionale:

1.In cazul in care metoda ConfirmReceivingDataByTypeOf nu este apelata corect, la o noua apelare a unei metode GetModified… specifice, vor fi returnate din nou aceleasi date, primite deja, impreuna cu eventualele noutati survenite de la data ultimei apelari, astfel setul de date returnate crescand continuu. Este in intregime datoria aplicatiei terte aceea de a stabili cand a primit datele respective cu succes si de a gestiona semaforizarea acestei situatii catre serverul SmartCash Everywhere.

2.Pentru fiecare metoda, in descrierea detaliata a sa, se va mentiona daca este necesara sau nu apelarea metodei de tip ConfirmReceivingDataByTypeOf.