Gateway Messaging Philosophy

I’m working on a system for a customer that will have multiple remote gateways and a central gateway. All connected via the gateway network over cell and vpn connections.

Each gateway will be exchanging data back and forth that is stored in their local sql databases. The question I have is data exchange philosophy. I’m looking at a couple of different options.

  1. Allow the remote systems to do 100% of all the messages. IE they will send data up and also request data to be returned.
  2. Allow the central gateway to do 100% of all the messages. IE the central system will send data to the remote systems and also request data from them.
  3. Allow each system to send their data with a response from the other system.
  4. Allow each system to to request data from the other system.

How have you seen/implemented this? I’m leaning towards option 3, then I can do a check that the data actually got to the site via a response from the remote system, but I’m not set in stone on that one.

We have number 2 in place.
We created a standard script library on each of the remote gateways with functions written to return certain data in certain formats.
The message handler on each gateway gets parameters that then determine which function to run and returns the data load to the central gateway.

I'd start measuring early to make sure GAN does not exceed your bandwidth limitations/budget. It's certainly not built to be "light" and bandwidth conscious.

Un fortunately there isn’t any option. These sites will be very very remote.

The customer has history of doing remote connectivity with cradle points etc… So not sure they really care.