Link

JMap Server Management

Table of contents

  1. JMap Server Status
  2. Exporting and Importing
  3. User Data
  4. JMap Server Settings
  5. Usage Statistics
  6. Log Files
  7. Messages
  8. JMap Server System Database
  9. Backups

The following sections cover JMap Server management tasks.

JMap Server Status

The Status section of JMap Admin provides a lot of useful information for monitoring JMap Server. Additionally, this section provides detailed information on your license agreement. Each part is explained below.

General  
Version Complete information on the JMap Server version. Provide this information when requesting technical support.
IP Address IP address of the host running JMap Server.
Port TCP/IP port used by JMap Server for connections with JMap Pro and other JMap Server instances.
Sessions  
Total active sessions Number of currently active user sessions.
Active JMap Pro sessions Number of current user sessions for JMap Pro applications. The maximum number of sessions authorized by the license for this type of application is indicated.
Active JMap NG sessions Number of current user sessions for JMap NG applications. The maximum number of sessions authorized by the license for this type of application is indicated.
Active JMap Web sessions Number of current user sessions for JMap Web applications. The maximum number of sessions authorized by the license for this type of application is indicated.
Active JMap Survey sessions Number of current user sessions for JMap Survey. The maximum number of sessions authorized by the license for JMap Survey is indicated.
Active JMap Server sessions Number of current JMap Server sessions. The maximum number permitted for this type of session is indicated.
Administrators User names of administrators currently connected to JMap Admin. The computer host name or IP address from which the administrators are connected are also indicated.
Resources  
Java VM Version of the Java virtual machine used by JMap Server.
Process Id The ID number of JMap Server’s system process.
Available processors Number of processors used by the JMap Server process.
Memory usage Portion of the allocated memory actually used by JMap Server.
Memory allocated Total amount of memory allocated for JMap Server by the operating system. If the memory usage reaches this limit, more memory (if available) will be allocated by the operating system. The maximum memory that can be used by JMap Server is defined in the startup parameters during installation.
Thread pool usage Number of simultaneous request processors (threads) currently in use (compared to number of initialized threads).
Thread pool usage peak Maximum usage value reached since server startup (helps determine optimal size of initial pool).
Started since Date and time JMap Server was last started.
Cache  
Memory cache usage Proportion of the memory data cache used by JMap Server compared to the defined limit and relative percentage.
Memory cache efficiency Number of times requested data is found in the memory cache, expressed as a percentage of the total number of data requests.
Disk cache usage Proportion of the disk data cache used by JMap Server compared to the defined limit and relative percentage.
Disk cache efficiency Percentage of times requested data is found in the disk cache compared to the total number of data requests.
Update(s) available    
Extension Installed version New version available
License information  
Model Licensing model in use. Click on the link to view the content of the license agreement.
Licensed to Organization licensed to use JMap Server.
Serial number Unique serial number of JMap Server.
Maximum users Maximum number of users that can be created in JMap, according to license.
Maximum concurrent JMap Pro sessions Maximum number of concurrent sessions that can be opened by JMap Pro applications, according to license.
Maximum concurrent JMap NG sessions Maximum number of concurrent sessions that can be opened by JMap NG applications, according to license.
Maximum concurrent JMap Web sessions Maximum number of concurrent sessions that can be opened by JMap Web applications, according to license.
Maximum concurrent JMap Survey sessions Maximum number of concurrent sessions that can be opened by JMap Survey, according to license.
Maximum projects Maximum number of projects that can be created in JMap, according to license.
Multiple sessions Authorization to have multiple concurrent sessions for the same user.
Expiration Expiration date of the license. Beyond this date, JMap Server will refuse to start.
Licensed products List of JMap modules that are authorized by the license.
Browse Click on this button to upload the license file in JMap Server.
Reload Click on this button clip0065 to have the license file reread by JMap Server without interrupting its operation.

Exporting and Importing

Exporting and importing the JMap configuration

Your JMap Server configuration (spatial data sources, databases, projects, layers, etc.) is stored on a disk in binary format. This configuration is only accessible by JMap Server and is only compatible with your current version (main version, e.g. 7.X). Using the export tool, a text version of this configuration can be produced. This exported configuration can then be imported back into JMap Server, with the same settings or different ones. The configuration can even be exported to a newer version. Here are a few examples where exporting and importing your configuration can be useful:

  • You installed a new version of JMap with major changes and you want to reuse your existing configuration. You can export the configuration from your older JMap version and then import it in the newer version.

  • You manage many instances of JMap Server and you need to move a project from one instance to another. You can do a partial export to move only the project you need and then import it in the other instance.

  • You need to replicate your development environment to the production environment. You can do a full export from your development server and then import it in the production server.

To access export and import tools, select Import / Export in the JMap Server section.

Exporting

When exporting a configuration, you must choose whether you want to export the complete configuration or some specific resources (partial exportation). If you choose to export specific resources, you must select if you want to export databases, spatial data sources, projects, style templates or metadata templates. There is a dependency relationship between these different resources: projects depend on spatial data sources and style templates while spatial data sources may depend on databases. Consequently, if you export a project, then spatial data sources, style templates, and possibly databases will also be exported.

The exportation process creates up to 4 files: the .properties file is the main exportation file and contains the configuration information. All files are necessary for the importation. You can determine the destination directory and file name.

Importing

When importing a configuration, you have the choice to import a complete configuration (complete importation) or only a portion of it (partial importation). You can only do a complete importation if the exportation files contain a complete exportation. When doing a complete importation, any existing configuration in JMap Server is deleted and replaced by the imported configuration. When a full importation is completed, you will automatically be sent back to the JMap Admin login page.

When doing a partial importation, there may be situations where the imported resources already exist (identical names). In these cases, you have to tell JMap Admin which action to take: replace the existing resource or create a new one with a different name. The file type data sources that you import are not ready to use and must be updated after the importation.

Exporting and importing JMap user data

JMap user data includes all data created or modified by users. This includes user preferences, contexts, personal layers, data from editable JMap layers, etc. If you change JMap Server instances and you wish to keep all existing user data, you must export it from the previous server and import it into the new server.

The configuration file for the export and import of user data is a .properties file. For a successful export / import, validate that this file contains the following line:

project.id.ID_OF_THE_PROJECT_BEFORE_EXPORT=ID_OF_THE_PROJECT_AFTER_EXPORT_SERVER_CONFIGURATION.

Exporting

When you export user data, you must decide whether to export all data, only the editable layers stored in JMap (including personal layers) or only the workspaces (including contexts, user preferences, etc.).

Importing

When you import user data, there may be situations where imported resources already existed (identical names). In these cases, you must indicate which action JMap Admin must take: replace the existing resource or create a new one under a different name.

User Data

JMap application users can generate certain data that will be stored in the JMap Server environment.

This can include various types of data, including user preferences (choice of units, print settings, etc.), map contexts (JMap Pro, JMap Web and JMap NG) and customized print layouts.

Map context data is stored in JSON format in the JMAP_CONTEXTS table of the System database.

Non-context data is stored in separate folders for each user. The parent folder of these user folders is

JMAP_HOME\workspaces<username>

Note that this folder can have a different location if you indicate a different folder in the server.workspaces.path line of the jmapserver.properties file and manually copy the files and subfolders.

In some cases, the administrator may have to copy certain files when a migration occurs or when these files need to be shared with other users. The following sections describe each of these situations in detail.

Note that the functions to export and import JMap configurations also handle user data.

Contexts

Map contexts are comprised of all the parameters that allow a JMap Pro, JMap Web or JMap NG user to recreate a geographic map. Contexts can be used to save maps and even share them between users. Existing contexts can be recalled easily to recreate a map environment. All layer parameters, annotations, thematics, selections, etc. are part of the context and are recreated when the context is opened.

A context is associated with the project in which it was created. It cannot be accessed in other projects.

Personal Layers

The Personal Layers section provides more information on managing personal layers and how to make them public. The data from personal layers is not stored in the workspaces folder; instead, it is saved directly in JMap Server’s System database (one table per personal layer).

Export and import tools can handle the data of personal layers.

JMap Spatial Tables

As with personal layers, the data from editable layers of JMap projects is stored directly in JMap Server’s System database, in tables that are called JMap Spatial tables.

Export and import tools can handle the data from JMap Spatial tables.

The users of JMap Pro applications can create their own print layouts. The files are stored in the folder

JMAP_HOME\workspaces<username>\printLayouts

The print layouts created by users can be made public. To do this, you must copy the files in the following directory:

JMAP_HOME\workspaces\public\printLayouts.

Public print layouts can be accessed by all JMap Pro users.

JMap Server Settings

These parameters have an impact on the behaviour and performances of a JMap Server system. Press Save to save all modifications. Click on img to reread parameters from configuration files if they have changed. The configuration files are located in JMAP_HOME/conf.

General  
JMap Server name You can give a name to this JMap Server instance. This name will be displayed in the authentication screen and in the JMap Admin header.
Default language You can select the default language that will be selected automatically when creating new projects.
Available languages You can select the available languages that will be automatically selected when creating new projects.
Ports  
Server port TCP/IP port used by JMap Server for connections with JMap Pro and other JMap Server instances.
Web server port TCP/IP port that JMap Server embedded web server listens to for HTTP requests. Used for JMap Admin and for local application deployments.
Web server port (https) TCP/IP port that JMap Server embedded web server listens to for HTTPS requests.
Network  
Preferred external service address The proxy address used to deploy the applications. When configuring a new deployment, you can change the local address to this external address.
Preferred JMap Server address The local address of JMap Server used to deploy the applications. When configuring a new deployment, you can change the external address to this local address.
Server port TCP/IP port used by JMap Server for connections with JMap Pro and other instances of JMap Server.
Web server port TCP/IP port used by the integrated JMap Server web server for HTTP requests. Used for JMap Admin and local application deployments.
Web server port (https) TCP/IP port used by the integrated JMap Server web server for HTTPS requests.
Caching  
Memory size Size of memory cache. Holds previously loaded vector data tiles to minimize data source queries. This helps improve JMap Server performances. Cache statistics can be viewed in JMap Server Status section.
Disk size Size of disk cache. Its operation is similar to the memory cache. Unlimited size is recommended.
Imaging size Size of memory cache dedicated to imaging operations. This cache is used by JMap Server when processing image files (raster data sources that read image files). It dramatically helps improve JMap Server performances when working with high volume images.
HTTPS  
Redirect Automatically redirects JMap Admin users to a secure connection (https). This option is only available if there is a security certificate. For more information, refer to Using HTTPS with JMap.
HTTP Proxy  
Host Host name or address of HTTP proxy server. Is used if JMap Server must go through an HTTP proxy to access systems outside of the local network.
Port TCP/IP port used to connect to the HTTP proxy server.
Username Username used to connect to the HTTP proxy server.
Password Password used to connect to the HTTP proxy server.
SMTP (Mail server)  
Host Host name or address of SMTP server. JMap Server requires an SMTP server to send emails.
Port TCP/IP port used to connect to SMTP server.
Username Username used to connect to the SMTP server (if needed).
Password Password used to connect to the SMTP server (if needed).
Encryption Select an encryption method if required by the SMTP server.
GeoWebCache  
URL (1-4) Enter one or more URLs to connect to the GeoWebCache server. Only one URL is necessary, but entering several URLs that point to the same server will optimize the use of this type of server.
Configuring settings for GeoWebCache is optional but offers better performance for JMap Web applications. Refer to the Using a GeoWebCache Server section for more information.
Username User name used to connect to the GeoWebCache server.
Password Password used to connect to the GeoWebCache server.
Route Logistics Service  
URL Enter the URL of the RLS service to use (e.g. https://rls.jmaponline.net/rls/rest/v1.0). This service allows you to geocode addresses and calculate optimal routes.
Client ID Enter your organization’s unique key that allows you to use the RLS services.
API Keys  
Google Enter the API key of your organization that allows you to use Google services. For more details, visit the following page:
https://developers.google.com/maps/documentation/javascript/get-api-key?hl=Fr
Bing Enter the API key of your organization that allows you to use Bing services. For more details, visit the following page: https://msdn.microsoft.com/fr-fr/library/ff428642.aspx
Mapbox Enter the API key of your organization that allows you to use Mapbox cache and layers. For more details, visit the following page: https://docs.mapbox.com/api/.
File browser  
Allow upload Select this option if you allow uploading files to JMap Server directly from JMap Admin.
Max. upload file size Specify the maximum size of a file to upload. Select the Unlimited option if you do not set a limit on file size.
Upload root folder Specify the directory where the uploaded files will be copied. Each administrator account in JMap has a subdirectory automatically created in the JMAP_HOME/Data/Uploads directory. Uploaded files are accessible to all JMap Admin users. The Uploads directory is also available when creating spatial data sources.
WebSocket server  
Enabled Check this option to enable the WebSocket server inside Tomcat. The option is disabled by default.
Type Indicate the type of server: Local or External.
URL Enter the URL of the WebSocket server.
Loaded parameters  
Database drivers List of loaded database drivers. New drivers can be added by creating new configuration files in the directory JMAP_HOME/conf/db on the server.
Custom spatial data sources Spatial data sources related to certain specific applications.
Projections List of loaded projections. New projections can be created by adding entries in the file JMAP_HOME/conf/projections.properties on the server.
Element factories Map element generation modules related to certain specific applications.
User managers List of loaded user manager modules. User managers are used to manage users and groups and they provide the authentication service used in JMap Server.

Usage Statistics

Usage statistics offer the JMap administrator information on the usage of projects, layers, and contexts. JMap Server records some of the users’ activity and allows you to generate reports, which contain statistics on the use of resources in JMap Pro, JMap NG and JMap Web applications. This data can be useful to assess the relevance of projects or layers that are seldom or never used.

In order for usage data to be recorded, you must select the Usage statistics option when creating or editing a project. For more details on this topic, refer to the Creating Projects section. When exporting or importing your project, your choice will be saved in the exported configuration.

Thus, whenever a user opens a project, views a layer, or views or creates a context in a JMap Pro, JMap NG or JMap Web application, this activity will be automatically recorded in a temporal table of the System database.

Every night, at a set time, the data will be aggregated into two tables (JMAP_STATISTICS_MONTHLY and JMAP_STATISTICS_YEARLY), and it will then be displayed in this section of JMap Admin.

The data aggregation frequency can be configured in JMap’s settings. To do so, you must modify the server.statistics.config.cron variable in the jmapserver.properties file that is found in the JMap_HOME/conf folder. If server.statistics.config.cron variable is not in the jmapserver.properties file, by default the aggregation frequency is every day at 2 am (server.statistics.config.cron=0 2 * * *). If you want to change the aggregation frequency the server.statistics.config.cron variable needs to be manually added in the properties file. This page http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html offers details about cron expressions.

Information about the activity of users who were deleted is recorded in both tables. The details of the aggregation functions are found in JMap Admin’s REST API.

Information entered in the temporal table will differ slightly between JMap Pro and JMap Web applications. Usage data originating from JMap Pro will be saved when the JMap Pro application is closed, or when the project is closed because the user has switched to another project.

Calculating statistics

Project statistics  
From Select the start date of the period for which the statistics will be calculated.
To Select the end date of the period for which the statistics will be calculated.
User Select the user whose statistics you want to obtain. If the user who opened the project was eliminated from JMap, his or her usage statistics will be added to the System user and displayed under this user.
Project name Enter the name of the project for which you want to obtain statistics. You can enter part of the project’s name, and all the projects whose names coincide in part with the name you entered will be displayed.
Open count The result indicates the number of times that the user opened the project in a JMap Pro, JMap NG or JMap Web application. Note that the data originating from JMap Pro will be saved when the application is closed, or when the project is closed because the user has switched to another project.

Click on Apply to generate the statistics by project. Click on Reset to delete the statistics.

Layer statistics  
From Select the start date of the period for which the statistics will be calculated.
To Select the end date of the period for which the statistics will be calculated.
Project name Select the project that contains the layer(s) whose statistics you want to calculate.
User Select the user whose statistics you want to obtain. If the user who opened the project was eliminated from JMap, his or her usage statistics will be added to the System user and displayed under this user.
Layer name Enter the name or part of the name of the layer(s) whose statistics you want to calculate.
View count The result indicates the number of times the user viewed the layer(s) in a JMap Pro, JMap NG or JMap Web application. One view will be counted for each user session. When the layer is visible in the map, one view is counted. If the user disables the layer’s visibility and enables it again during a session, only one view will be counted.
Note that the data originating from JMap Pro will be saved when the application is closed, or when the project is closed because the user has switched to another project.

Click on Apply to generate the statistics by layer. Click on Reset to delete the statistics.

Statistics on public contexts  
From Select the start date of the period for which the statistics will be calculated.
To Select the end date of the period for which the statistics will be calculated.
Filter Three filters allow you to calculate various statistics.
Created by user: Calculates the number of contexts created by the user for a given project.
Used by project: Calculates the number of times a public context is opened by all JMap Pro users for a given project.
Used by project and user: Calculates the number of times a public context is opened by a JMap Pro user for a given project.
JMap Web and JMap NG contexts are private. JMap only calculates the statistics for public contexts, used in JMap Pro applications.
User Select the user whose statistics you want to obtain. If the user who opened the project was eliminated from JMap, his or her usage statistics will be added to the System user and displayed under this user.
Project name Enter the name of the project for which you wish to obtain statistics on the contexts.
Create count Calculates the number of contexts created during the selected period for the user and project selected in JMap Web, JMap NG and JMap Pro applications.
Context name Enter the name of the public context for which you wish to obtain statistics.
Use count Indicates the number of times the public context was opened, either by all users of a project in a JMap Pro application, or by a specific user of a project in a JMap Pro application.

Select the filter you wish to use and click on Apply to display the settings used to define the calculation. Once the settings have been completed, click on Apply again to produce the statistics. Click on Reset to delete the statistics.

Exporting reports

You can export the generated report in Excel or PDF format. To do so, once the statistics have been calculated, click on Excel or PDF to automatically download a file in the selected format.

Log Files

Log files contain information on the activities that are performed in JMap Server. The quantity of events written in the log files depends on the selected logging level. By default, a new log file is created every day but this parameter can be adjusted. By default, log files are located in the directory JMAP_HOME/logs. You may need to periodically check the volume of the log files and archive or delete old ones.

Configuration  
Log level The maximum level of the messages added to the log files. For example, if Warning is selected, only messages with a level of Warning, Error or Fatal will be written in the log files. The following log levels are available (listed in descending order):
All: Every event is written. Use only to solve a problem.
Debug: Debug level events are written. Use only to solve a problem. All lower level events are also written.
Info: Information level events are written. This includes user logins. All lower level events are also written.
Warning: Warning (non serious) level events are written. All lower level events are also written.
Error: Error (serious) level events are written. All lower level events are also written.
Fatal: Only fatal error (very serious) events are written.
Off: Nothing is written.
Log file directory Directory where to create the log files. Default is under JMAP_HOME/logs. Make sure there is sufficient disk space to hold log files.
File age limit The file age limit determines how often new log files are created. The current log file is always called jmap_log. When a new file is created, the current log is renamed to include the date (e.g. jmap_log_2006_05_23.log).
Messages to console Determines if events will also be written in JMap Server screen console. This is useful for tests or development but should be turned off during production. Moreover, when JMap Server has no output console (started as a background process or as a service on Windows), this option is useless and consumes server resources for nothing.

Viewing log files

Log files (and error files) can be viewed directly in JMap Admin. Select the name of a file from the list to open it. The content of the file is displayed. Note that error files are also listed along with log files. The error files contain only error messages that can sometimes complement the log files to help solve a problem.

The view window allows you to filter the content by event type, date, keyword, etc. You can also download the file by clicking on Download.

Analyzing log files

Log files can be analyzed in order to provide a summary of the activity of JMap Server. For instance, they can inform you of the number of sessions for each user, the number of server shutdowns, authentication failures, etc. To analyze log files, select one or more files in the list and click on img.

Messages

As the administrator, you can send messages to JMap users from JMap Admin. The messages will be displayed in the user interface (JMap Pro applications only). Users who already have an active session will see the messages immediately. The other users will see the message the next time they log on. Messages can be used to inform users of service interruptions, for example. Messages will be displayed each time a user starts a new session, during the validity period of the message.

Sending messages

To create a new message to be sent to all users, press Create from the Messaging section.

New message to users  
Subject A short text describing the subject of the message.
Message The message itself. Formatting is done using HTML tags. For example, line breaks are done using <BR> tags. The message can contain hyperlinks.
Valid from The date and time from which the message will start to be displayed.
Valid until The end date and time from which the message will no longer be displayed. After this date and time, the message will disappear from the list.

Deleting messages

To delete a message before it expires, select it in the table and press Delete.

JMap Server 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 databases is Apache Derby. It is embedded in JMap Server and requires no maintenance. This system is suitable for publishing small spatial data volumes or for test environments. It is strongly recommended to use another relational database management system. The list of compatible systems is presented in the article Technical Specifications of JMap 7 Jakarta from the JMap Knowledge Base. 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 environment

JMap Server’s System database can be moved to another RDBMS easily. It is recommended to do it for scalability or performance reasons or to take advantage of more advanced features such as backups. The officially supported RDBMS for storing the JMap System database are detailed in the article Technical specifications of JMap 7 Jakarta from the JMap Knowledge Base.

Note that other RDBMS and versions will also probably be supported because JMap Server uses mostly very common and simple database functions.

To store the System database, you should use a database or schema that is reserved exclusively for JMap. The user account that established the connection must have sufficient privileges to select, insert, create, and delete tables and indexes.

To move the System database towards another RDBMS, you must modify the database called System in JMap Admin. Select the database driver and connection parameters associated with the environment of the new System database. JMap Server will automatically create the required tables in the new database.

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.

In addition, if you move the System database, all user data from the previous database must be moved using the data import and export tool. For more information, see the Exporting and Importing section.

Backups

It is strongly recommended to make backups of the JMap Server setup.

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.

The simpler backup strategy is to make copies of the JMap directory and all sub-directories.

img

Contents of the JMap directory

If you wish to make smaller backups, you can make copies of the specific directories listed below, which contain important information.

Directory  
conf Contains all parameter files such as jmapserver.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 export files.
workspaces User workspaces contain the users’ personal parameters and contexts.