Apache Derby as the file server

As the file server, Apache Derby is used. Apache Derby is a project of the Apache Software Foundation which develops a Java-based, relational database management system. It can function as a live cache, i.e., be executed completely in the main memory. Derby is easy to install and only 2 MB in size out of the box. The content of derby databases is compatible across operating systems.

One can create, for example, a database on operating system A, copy the data to operating system B and continue to work there. Most traditional databases require you to generate a dump of the database on A, and import or recover it on B. When developing Java applications, Derby can be accessed through JDBC. Derby offers an embedded JDBC mode and a network JDBC mode. With the latter mode, other Java applications can access a derby database through TCP/IP.

File server database

In the file server database, a copy of the BLOB table is built. It contains the metadata of the doc­ument data. This metadata is generated by the central JustRelate CRM application server and is transferred to the file server. This ensures that BLOB names and IDs are unique in the overall system.

Different file versions on the file server and the application server are identified by the BLOB change date (PSC_UPD). The change date is placed in the BLOB table of the application server after a file has been transferred from the file server to the application server, is transmitted to the file server and saved in the file server database.

A transfer table in the file server database monitors the transmission for error handling purposes. If a document is to be transferred, its GID (worldwide identifier) is saved to the table. After the transfer has completed (PSC_UPD has been transmitted to the file server database), the record is deleted.