There are multiple ways to share data between platforms and applications:
- Use an API: Each software portion will "call for information" or "place information" using APIs calls of another piece of the software system.
- Use file sharing: This approach involves sharing data files between platforms, and each platform can read and write to the shared files as needed.
- Use a shared database: This is the most common way to share data between platforms. Each platform can connect to the shared database and query or update data.
- Use a message queue: This approach involves each platform sending messages to a shared message queue. Other platforms can then consume those messages and act on the data as needed.
ADI has determined the most reasonable path was to use a shared database. We also went a bit further by replicating the data across multiple platforms, and this gives each platform a copy of the database for immediate use. We designate these different platforms as Local Cloud, Private Cloud, and Public Cloud. Each of the three cloud designations is optional, and one of the three, Local, Private or Public, must be provided to have an active system.
In this setting, we designate platforms as being a local office, a remote user, or a web application interface and state that a single office could have the option of having a Local Cloud. As well, remote users have access to the Private Cloud or the web application using the Public Cloud. There are business reasons to consider one or all optional database platforms.
The most common method is the message queue when replicating data between platforms. There is a caveat when doing a master-master replication of data the message queue goes both ways. Each node in the replicated database group must accept the changes from the users and add those changes one by one to their outgoing message queue. Some databases have built-in methods for data replication, and some database servers are good. Others require an external application to work. In every case, the systems providing the data replication should be able to provide master-to-master replication. This master-to-master replication is necessary as every one of the databases collects data.