We would like to create a long partnership with a developer who has knowledge with WINDEV and able to collaborate with our development team on several projects.
To assing this project we would like to see at least two windev projects, based on communications between the database and / or webservices.
this project must be developed on Windev 20 English (or 17-18-19).
The goal of the project is to create a sync mechanism between a central db and several local dbs , geographically located in different locations, enabling local db to download a set of data from the central (eg Changes in data products) and back to the central send other types of data ([login to view URL] sales). Data exchange must be temporized and on demand.
The communication system includes 2 macro software components:
1) Software on local point of sale (1 for local office) that ask the remote central system for possible updates and download it them and put data in the local database.
2) Software installed on the central server that has access to the central database listen on webservice; in response to software in step 1 extracts the updated data and sends them to remote point of sale.
Local point of sale software also detects updates on his local database to be sent to the central system and transmits them to a remote component software (step 2), which writes on central database. Communication are always started from the local component, that controls every data exchange.
For this project it will be fine to handle 2 local point of sales and the central server.
1) A Windows service that runs on each local point of sale where there is the db of the store
2) A set of Web services application server on the remote central system that hosts the central db.
Each local service detects changes since the last sync with central system; the local point of sale software calls a web service in remote central and replicate them changes on the central database. Similarly local point of sales software asks another web service for central server update and receives changes from the central db since the last sync.
The tables to be synchronized between db with identical structure.
For this project consider only 5 tables (we provide a dump)
Central to point of sales update(download):
Point of sales to central update(upload):
-SCONTRINO, bill/ticket header from a point a sales
-RIGA_SCONTRINO, items row details for single bill/ticket
Each table includes a field "Last Modified timestamp". At each time sync expiration it immediately detect updated records since the last data exchange, for both directions.
In this project we don’t consider replication for physically deleted records. (our real database tables has a specific "trash tables”).
Both in local point of sales than in Central server provide text log file.
It is necessary to develop two additional small applications that for console monitoring for the state of the data exchange, one for the local point of sales and one in central server.
Local sync monitor Software(view pdf for more detail)
First mask, a table in which rows are the list of the DB tables to be synchronized and the 6columns:
The Configuration Parameters to set the dialogue between the two components on different servers and the credentials to access local database.
A service monitor (state)
A simple connection test between the Local service and webservice
Central sync monitor Software (view pdf for more detail)
A Mask;Rows are list of it has various point of sales
For every Row a function with double-click (or somewhat similar for more detail) that open a table detail similar of Local sync fist mask but only the first 3 columns.
Open Log folder button.
Delivery of the application with full WINDEV project sourcecode.