We are testing synchronization between POS terminals and a central server and are having problems pulling data from the server.
During a "pull" synchronization from a MCS to POS we are only getting some of the data we expect. For example, there are 40+ products on the server but the first pull from the server only got four. We have many categories but only got one. Subsequent pulls retrieved no more data. To control the testing and results I am progressing in two steps: 1) Pulling data from server 2) Pushing data to server I am currently on step 1. I used the example file PosEntitySyncSettings. Note that we will only have one POS terminal per location so we are bypassing a per store server. Our configuration will only have a master central server (MCS) and terminals (POS). So here is what I did: From the PosSyncSettings.xml file I loaded EntityGroup 5501 on the MCS. This load included all EntityGroupEntry records and the EntitySync 5501. According to the xml file this information is loaded on the MCS, not PSS or POS. All I loaded on POS was the RecurrenceRule to setup the job. The POS terminal is configured to connect to a local Postgres instance, and synchronization is configured in serviceengine.xml to connect to MCS. All connections are working fine. We are having no problems with the RMI connections. It works great, although it should be noted that the environment variable RMIIF in the startup script is critical. It must be included on every server instance that will be using synchronization. Vince Clark Global Era The Freedom of Open Source [hidden email] (303) 493-6723 |
I'll answer my own question for anyone that may run into this problem in the future.
After several attempts I decided to review David's Advanced Framework Training. I think this is only available for purchase but I would encourage anyone to do so as it is totally worth it. He points out the important point about the entity sync process relying on timestamps, not data comparison, to determine what data to transfer. This prompted me to check the time settings on the POS terminal and central server. They were about 7 hrs apart. So I changed the time on the POS terminal, cleared out the EntitySync records on the server, and reloaded them. The next attempt at synchronization pulled everything I wanted. This raises an important question. Our customer is deploying POS terminals to 150+ locations across the US. I have the server configured to UTC rather than a specific timezone. Based on my findings about getting sync to work it appears that any client you want to sync must be set to the same time as the server. Is there any accomodation for timezones? Customers won't be too keen on having all their pos terminals set to time in a different zone. ----- Original Message ----- From: "Vince M. Clark" <[hidden email]> To: "user" <[hidden email]> Sent: Friday, November 23, 2007 8:50:10 AM (GMT-0700) America/Denver Subject: Entity Sync - partial sync but no errrors We are testing synchronization between POS terminals and a central server and are having problems pulling data from the server. During a "pull" synchronization from a MCS to POS we are only getting some of the data we expect. For example, there are 40+ products on the server but the first pull from the server only got four. We have many categories but only got one. Subsequent pulls retrieved no more data. To control the testing and results I am progressing in two steps: 1) Pulling data from server 2) Pushing data to server I am currently on step 1. I used the example file PosEntitySyncSettings. Note that we will only have one POS terminal per location so we are bypassing a per store server. Our configuration will only have a master central server (MCS) and terminals (POS). So here is what I did: From the PosSyncSettings.xml file I loaded EntityGroup 5501 on the MCS. This load included all EntityGroupEntry records and the EntitySync 5501. According to the xml file this information is loaded on the MCS, not PSS or POS. All I loaded on POS was the RecurrenceRule to setup the job. The POS terminal is configured to connect to a local Postgres instance, and synchronization is configured in serviceengine.xml to connect to MCS. All connections are working fine. We are having no problems with the RMI connections. It works great, although it should be noted that the environment variable RMIIF in the startup script is critical. It must be included on every server instance that will be using synchronization. Vince Clark Global Era The Freedom of Open Source [hidden email] (303) 493-6723 |
Administrator
|
De : "Vince M. Clark" <[hidden email]>
> I'll answer my own question for anyone that may run into this problem in the future. > > After several attempts I decided to review David's Advanced Framework Training. I think this is only available for purchase but I would encourage anyone to do so as it is totally worth it. > > He points out the important point about the entity sync process relying on timestamps, not data comparison, to determine what data to transfer. This prompted me to check the time settings on the POS terminal and central server. They were about 7 hrs apart. So I changed the time on the POS terminal, cleared out the EntitySync records on the server, and reloaded them. The next attempt at synchronization pulled everything I wanted. > > This raises an important question. Our customer is deploying POS terminals to 150+ locations across the US. I have the server configured to UTC rather than a specific timezone. > > Based on my findings about getting sync to work it appears that any client you want to sync must be set to the same time as the server. Is there any accomodation for timezones? Customers won't be too keen on having all their pos terminals set to time in a different zone. Very interesting question, Adrian who worked on such issues recently may have an opininon about this... Jacques > From: "Vince M. Clark" <[hidden email]> > We are testing synchronization between POS terminals and a central server and are having problems pulling data from the server. > During a "pull" synchronization from a MCS to POS we are only getting some of the data we expect. > > For example, there are 40+ products on the server but the first pull from the server only got four. We have many categories but only got one. Subsequent pulls retrieved no more data. > > To control the testing and results I am progressing in two steps: > 1) Pulling data from server > 2) Pushing data to server > > I am currently on step 1. I used the example file PosEntitySyncSettings. Note that we will only have one POS terminal per location so we are bypassing a per store server. Our configuration will only have a master central server (MCS) and terminals (POS). > > So here is what I did: > >From the PosSyncSettings.xml file I loaded EntityGroup 5501 on the MCS. This load included all EntityGroupEntry records and the EntitySync 5501. According to the xml file this information is loaded on the MCS, not PSS or POS. > > All I loaded on POS was the RecurrenceRule to setup the job. > > The POS terminal is configured to connect to a local Postgres instance, and synchronization is configured in serviceengine.xml to connect to MCS. > > All connections are working fine. We are having no problems with the RMI connections. It works great, although it should be noted that the environment variable RMIIF in the startup script is critical. It must be included on every server instance that will be using synchronization. > > Vince Clark > Global Era > The Freedom of Open Source > [hidden email] > (303) 493-6723 > |
Free forum by Nabble | Edit this page |