JMap Server System Data
JMap Server configurations, parameters and system data are stored in different locations. The following sections explain how the information is organized.
JMap Server's System database
JMap Server's System database is a relational database that stores important data for JMap Server. User account and group data is stored in this database if you are using JMap Server's built-in user manager. This is not the case if you are using another user manager (e.g.: LDAP/Active Directory). Also, when spatial data sources read their data from files (SHP, MIF, DWG, etc.), the geometry and descriptive data read from the files are inserted in tables of the System database. There is one data table per such data source, as well as spatial index tables that speed up data extraction. Personal layers created by the users as well as JMap Spatial tables are also stored in the System database.
The relational database management system (RDBMS) used by default for storing JMap Server's System database is Apache Derby. It is embedded in JMap Server and requires no maintenance. This system is suitable for publishing small to medium spatial data volumes or for test environments. For more robust and powerful systems, you should use another relational database management system. See the list of compatible systems below. By default, Derby's database files are located under the directory JMAP_HOME/db/database. Never delete or alter any file located in this directory.
Moving the JMap Server System database to another system
JMap Server's System database can be moved to another RDBMS easily. You may want to do it for scalability or performance reasons or to take advantage of more advanced functionalities such as backups. There are 4 other officially supported RDBMS for storing the System database:
RDBMS |
Version |
MySQL |
4.x, 5.x |
PostgreSQL |
7.2+, 8.x, 9.x |
Oracle |
8, 9, 10, 11 |
SQLServer |
2000, 2005, 2008, 2012 |
Note that other RDBMS and versions may probably be supported as JMap Server uses mostly very common and simple database features.
To store the System database, you should use a database or schema that is reserved exclusively for JMap. The user that established the connection must have sufficient privileges to select, insert, create and delete tables and indexes.
To move the System database, simply edit the database called System in JMap Admin, select another database driver and specify the connection parameters. Note that any old System database tables that could be present will be deleted.
After the System database is moved, any spatial data source that reads vector data files will have a Not ready status. It will need to be updated before it can be used. Other types of data sources (raster, Oracle Spatial, SDE, etc.) will not be affected.
JMap Server system data files
JMap Server uses a binary file to store its configuration. This includes the definitions of databases, spatial data sources, projects, layers, style templates, etc. Basically, all configurations done using JMap Admin are stored in this file. The configuration file is named JMap ServerSystemData.ser and located in the JMAP_HOME/db directory, as well as a few backup versions of it. Never delete or alter any file located in this directory.
JMap Server configuration files
JMap Server uses text files to store its parameters. These parameters include the TCP/IP ports, SMTP connection parameters, the paths for storing log files, the list of data file readers, the list of projections, etc. Most of these files are properties files and are located in the JMAP_HOME/conf directory. They normally don't need to be modified manually as most of the important parameters can be modified using JMap Admin.
Backups
If the JMap Server System database was moved to another RDBMS, it must be included in the backup strategy. It contains very sensitive information like personal layers data.
To backup a JMap Server setup, you can include an entire JMAP_HOME directory and its subdirectories. More specifically, the directories presented in the following table are the ones that contain the most sensitive information.
Directories |
|
conf |
Contains all parameter files such as JMap Server.properties, usermanager.properties, etc. |
db |
Contains configuration files (projects, layers, etc.) as well as the JMap Server System database, unless it was moved to another RDBMS. |
backups |
Default directory for storing exportation files. |
workspaces |
User workspaces contain users' personal parameters and contexts. |