About Zim Integrated Server
Zim 9 always runs under a Client/Server architecture where Zim Server is the server and the clients can be Zim, Zim Thin Client (ZIMTC) or ZimExplore. Zim Server can manage any number of different Zim databases at the same time, all of them located in the same physical machine where Zim Server is running (a database can be located across the network, but this is not recommended because the network severely downgrades the efficiency of the processing). On the other hand, only one instance of Zim Server can run in the same machine.
Even though more than one Zim databases can coexist side by side under the control of the same Zim Server instance, all of them sharing the same memory and locking mechanism, a specific database cannot “see” data from another database unless a connection is established between both databases. In fact, the first database wishing to “see” data from the second database issues a CONNECT command that creates a virtual link between both databases under the command of the database that issued the CONNECT. At the end of process, a DISCONNECT command can be issued to destroy the virtual link between the databases.
There are other situations where a connection need to be established between two databases:
1) Between two different databases running under control of the same Zim Server as mentioned above;
2) Between two different databases running under control of two different Zim Servers instances running in two different machines;
3) A database that connects to another database which in turn connects to a third database. This option uses combinations of the above possibilities.
In essence, the Zim Server Connectivity allows:
1) A Zim application can run on a different machine from the server. For example, a Zim application can run under Windows while Zim Server can be placed on a larger and more powerful UNIX or Windows system;
2) Two heterogeneous applications like a Windows application with a graphical interface to access text information usually placed on a Unix environment and vice-versa. An extension of this idea is to have some clients on Windows running simultaneously with some other clients on Unix on the same Zim application;
3) Data only available on a particular database visible to another application running on another Zim database. This availability is such that data can be retrieved and updated with full concurrent control and safety.
This guide describes how to implement and use the connectivity between Zim databases.