Difference between revisions of "Understanding Configuration Options"

From IMSMA Wiki
Jump to: navigation, search
 
(48 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Configuration Options==
+
{{TOC right}}
 +
__NOEDITSECTION__
 +
To determine the initial configuration of the IMSMA<sup>NG</sup> system, it is important to understand the two ways in which IMSMA<sup>NG</sup> can be set up and the basic architecture of the system. IMSMA<sup>NG</sup> is a client/server software application designed to run in stand-alone or client/server mode. In a stand-alone system, both the IMSMA<sup>NG</sup> client and server are installed on the '''same''' computer. The stand-alone configuration is the simpler type of installation: it requires no additional network equipment or infrastructure and is easy to maintain.
  
To determine the initial configuration of the IMSMA<sup>NG</sup> system, it is important to understand the two ways in which IMSMA<sup>NG</sup> can be set up and the basic architecture of the system. IMSMA<sup>NG</sup> is a client-server software application designed to run in stand-alone or networked mode.
 
  
 +
{| class="wikitable"
 +
|+ Comparison of Stand-alone and Client/server Configuration Options
 +
! Configuration
 +
! Advantages
 +
! Disadvantages
 +
|-
 +
| <b>Stand-alone</b>
 +
|
 +
* Simple to set up and maintain
 +
* Limited IT knowledge required
 +
* Can be upgraded to a client/server configuration later
 +
|
 +
* One-at-a-time data access
 +
|-
 +
| <b>Client/server</b>
 +
|
 +
* Multiple concurrent data access
 +
* Redundancy
 +
|
 +
* Complicated to set up and maintain
 +
* Local Area Network infrastructure required
 +
* Multiple computers required
 +
|-
 +
|}
  
[[Image:Understanding Configuration Options - Standalone Vs Networked Config Comparison.png|center|500px|''Comparison'']]
+
In a client/server configuration, one computer acts as a server and many other computers can connect to it simultaneously over a network, enabling multiple people to access the same data at the same time. A client/server installation requires at least two computers and a network infrastructure connecting the computers together. Using a client/server installation, a mine action programme can have multiple data entry clerks entering data at the same time.
 +
 
 +
 
 +
[[Image:Understanding Configuration Options - Networked Config.png|center|300px|''Client/server Config'']]
 
<div align="center">
 
<div align="center">
''Comparison of Standalone and Networked Configuration Options''
+
''Client/server configuration''
 
</div>
 
</div>
  
 +
{{Note| Be aware of the following when running IMSMA in a client/server installation:
 +
* The server and client(s) must be running the exact same version of IMSMA.
 +
* The gisServer.properties file on the server must be configured. 
 +
* The client(s) must be configured to connect to the server. 
 +
* Maps only need to be installed on the server.
 +
* Data entered into the server or clients will be automatically rendered to all clients (as well as the server). However, geospatial information (points, polygons) will NOT be immediately rendered to all clients. To either post your geospatial updates to the server (thus making them available to other clients) or to receive updates from the server, you must log out of IMSMA and then log back in.
 +
* Fonts will need to be installed on both the server and client(s)
 +
}}
  
===Standalone===
+
==Client/server Architecture==__NOEDITSECTION__
 
 
In a stand-alone system, both the IMSMA<sup>NG</sup> client and server are installed on the same computer. The stand-alone configuration is the simpler type of installation: it requires no additional network equipment or infrastructure and is easy to maintain.
 
  
 +
Whether a programme uses a stand-alone installation or a client/server installation, the IMSMA<sup>NG</sup> software has two main components:
  
[[Image:Understanding Configuration Options - Standalone Config.png|center|300px|''Standalone Config'']]
+
* the IMSMA<sup>NG</sup> server
<div align="center">
+
* the IMSMA<sup>NG</sup> client
''Standalone Configuration''
 
</div>
 
  
 +
The figure below shows the parts of the software; the following sections then explain the functions that each part performs.
  
===Networked Configuration===
+
{| border="1" cellpadding="5"
 +
|- valign="top"
 +
|
 +
[[Image:stand_alone Architecture.png|center|300px|''Stand-alone architecture'']]
  
In a networked client-server configuration, one computer acts as a server and many other computers can connect to it simultaneously over a network, enabling multiple people to access the same data at the same time. A networked installation requires at least two computers and a network infrastructure connecting the computers together. Using a networked installation, a mine action programme can have multiple data entry clerks entering data at the same time.
+
|
 +
[[Image:Understanding Configuration Options- Client Server Architecture.png|center|600px|''Client/server architecture'']]
  
 +
|}
  
[[Image:Understanding Configuration Options - Networked Config.png|center|300px|''Networked Config'']]
+
===Server===__NOEDITSECTION__
<div align="center">
 
''Networked Configuration''
 
</div>
 
  
==IMSMA Server==
+
The IMSMA<sup>NG</sup> server stores data and manages much of the data processing. The server has two main parts, the datastore and the business layer. The datastore is where data is stored for retrieval by the IMSMA<sup>NG</sup> client. IMSMA<sup>NG</sup> uses a PostgreSQL relational database to store data on the server. Additionally, IMSMA<sup>NG</sup> stores other data including attachments and some configuration files on the server in file format. The PostgreSQL database is accessible via a variety of database access tools designed for browsing relational databases.
  
The IMSMA<sup>NG</sup> server stores data and manages much of the data processing. The server has two main parts, the datastore and the business layer. The datastore is where data is stored for retrieval by the IMSMANG client. IMSMA<sup>NG</sup> uses a MySQL relational database to store data on the server. Additionally, IMSMA<sup>NG</sup> stores other data including attachments and some configuration files on the server in file format. The MySQL database is accessible via a variety of database access tools designed for browsing relational databases.
+
{{warning|While the database contains many relational database constraints designed to preserve data integrity, all updates of data should be handled through the business layer rather than with direct SQL updates in order to maintain integrity. Failure to do so will likely cause data corruption or loss}}
  
 
The business layer is where rules are implemented to ensure data quality and consistency. The business layer takes data from the datastore and transforms it for display in the IMSMA<sup>NG</sup> client. All data interaction between the client and server database is handled through the business layer, which allows for multiple clients to be connected to the database while preserving data integrity in cases of multiple requests. This includes access from the IMSMA<sup>NG</sup> client and from the reporting tool.
 
The business layer is where rules are implemented to ensure data quality and consistency. The business layer takes data from the datastore and transforms it for display in the IMSMA<sup>NG</sup> client. All data interaction between the client and server database is handled through the business layer, which allows for multiple clients to be connected to the database while preserving data integrity in cases of multiple requests. This includes access from the IMSMA<sup>NG</sup> client and from the reporting tool.
  
==IMSMA Client==
+
===Client===__NOEDITSECTION__
  
The IMSMA<sup>NG</sup> client is the interface through which users can connect to the server and browse the system, enter data and generate outputs. The client includes an integrated GIS and reporting tools. Based on ESRI’s ArcGIS Engine, the GIS performs all geospatial calculations including distance/bearing calculation, coordinate conversion and reprojection. The GIS also allows each client to load and manage its own maps and geographic data which the client receives from the IMSMA<sup>NG</sup> server. As a result, each client receives and locally stores a complete copy of geographic data from the IMSMA<sup>NG</sup> server when it is connected to the server. This synchronized data is stored in a client ―sandbox‖ separate from the server and can always be updated by connecting to the server.
+
The IMSMA<sup>NG</sup> client is the interface through which users can connect to the server and browse the system, enter data and generate outputs. The client includes an integrated GIS component and reporting tools. Based on ESRI’s ArcGIS Engine, the GIS component performs all geospatial calculations including distance/bearing calculation, coordinate conversion and reprojection. The GIS component also allows each client to load and manage its own maps and geographic data which the client receives from the IMSMA<sup>NG</sup> server. As a result, each client receives and locally stores a complete copy of geographic data from the IMSMA<sup>NG</sup> server when it is connected to the server. This synchronized data is stored in a client ―sandbox‖ separate from the server and can always be updated by connecting to the server.
  
 
JasperSoft’s iReport tool is built into each IMSMA<sup>NG</sup> client and allows users to access data from the database via the business layer. With iReport, users can generate reports containing tabular data, subreports and cross tabs as well as various types of charts and graphs. These reports can easily be localized into any language that IMSMA<sup>NG</sup> supports. Additional reporting options include direct connections to the IMSMA<sup>NG</sup> database via ODBC. This functionality supports tools such as Crystal Reports, Microsoft® Access®, Microsoft Excel® and various open-source reporting tools.
 
JasperSoft’s iReport tool is built into each IMSMA<sup>NG</sup> client and allows users to access data from the database via the business layer. With iReport, users can generate reports containing tabular data, subreports and cross tabs as well as various types of charts and graphs. These reports can easily be localized into any language that IMSMA<sup>NG</sup> supports. Additional reporting options include direct connections to the IMSMA<sup>NG</sup> database via ODBC. This functionality supports tools such as Crystal Reports, Microsoft® Access®, Microsoft Excel® and various open-source reporting tools.
  
==Decentralized Information Exchange==
+
===Memory settings===__NOEDITSECTION__
 
 
IMSMA<sup>NG</sup> is designed to support information management in a decentralized context involving many users and groups at various sites. These users can include implementing partners, mine action operators and regional or decentralized mine action authorities. Decentralizing information management within IMSMA<sup>NG</sup> is easy and allows information managers to expand the scope and impact of information on mine action activities. While IMSMA<sup>NG</sup> supports nearly any conceivable patterns for decentralized information exchange including multilateral exchange, peer-to-peer exchange and one- and two-direction exchange, the most prevalent pattern is that of a central mine action authority (CMA) and subordinate regional mine action authorities (RMAs). Much of the discussion of maintaining a decentralized IMSMA<sup>NG</sup> system refers to this typical example; however, many points apply to other information exchange patterns as well.
 
 
 
The centralized pattern is characterized by one or more non-overlapping regional sites or authorities that conduct data entry and data quality control for their region. Regional sites also typically perform some regional data analysis designed to support regional operations management and planning. By contrast, the central authority manages the overall data set for the entire country, collecting all regional information in order to perform national planning and produce national statistics.
 
 
 
 
 
[[Image:Understanding Configuration Options - Decentralized Info Exchange.png|center|''Decentralized Info Exchange'']]
 
<div align="center">
 
''Decentralized Info Exchange''
 
</div>
 
 
 
 
 
Establishing IMSMA<sup>NG</sup> with the correct configuration in this complicated context of multiple users and asynchronous data exchange is important to trouble-free operations and high-quality information management. The first step in ensuring the correct configuration is to document the information management flows.
 
 
 
In the following example, mine action field reports are entered at each regional site for the ongoing operations in that region. Field reports are reconciled, linked and approved according to the regional operations needs. Using the export functionality, the regional sites export data on a regular basis (for example, monthly) and send it to the central authority. (Regional information managers can use the search functionality to export the field reports entered since the last data exchange.) The central authority then imports the maXML files from each site and resolves any issues with the imports as well as performs quality control. When the import is complete, the central authority compiles a set of national statistics and then distributes a complete dataset (in the form of a database backup) to each of the regional sites. The regional sites restore the dataset and then import any data entered since the last export was sent to the central authority. When the backup is restored, regular data entry and exchange can continue, based on a common dataset.
 
 
 
 
 
[[Image:Understanding Configuration Options - Decentralized Info Management Flow.png|center|''Decentralized Info Management Flow'']]
 
<div align="center">
 
''Decentralized Info Management Flow
 
</div>
 
 
 
 
 
This straightforward approach to decentralized data exchange ensures that all sites regularly receive a complete and authoritative dataset. Other variations on this pattern are possible with varying degrees of increased complexity to meet specific data exchange needs. Regardless of the information exchange pattern selected, there are several key aspects of maintaining decentralized data exchange within IMSMA<sup>NG</sup> that must be considered. These aspects are discussed in the following sections.
 
 
 
===Ensuring Correct Roles and Permissions are Assigned===
 
 
 
Establishing correct roles and permissions is a key factor in managing and maintaining data exchange within IMSMA<sup>NG</sup>. Using the permissions structure, the information manager can carefully control access to key functions that affect data exchange including field report template creation, CDF creation, field report approvals and auxiliary data creation. When permissions are correctly established and roles and user accounts created, information managers can freely distribute the IMSMA<sup>NG</sup> dataset to regional partners knowing that key data controls are in place.
 
 
 
Using the example of the central authority and regional sites, the following principles for user account creation and permissions should be considered:
 
 
 
* <b>Central Authority:</b> Ensure central authority has exclusive control over user accounts and roles, field report templates, the Data Inventory Manager and auxiliary data.
 
* <b>Regional Sites:</b> Ensure that regional sites have data entry, approval and import/export permissions. Remove permissions for user accounts and roles and auxiliary data.
 
 
 
By establishing a set of limited permissions for the regional sites, information managers can prevent the accidental or intentional creation of new data elements not available at the central authority that could affect the ability of the central authority to import field reports and cause the dataset to become fractured.
 
 
 
===Creating New Auxiliary Data at the Central Authority Level===
 
 
 
By limiting auxiliary data permissions to the central authority, information managers can prevent complications when synchronising field reports. Because field reports often refer to auxiliary data (places, ordnance, organisations, etc.), it is important that each site have a common set of auxiliary data to facilitate exchange. If the auxiliary data is not properly synchronised, the exchange of field reports can result in import issues which must be manually resolved. While IMSMA<sup>NG</sup> provides an interface for resolving these kinds of issues, it is recommended to reduce the occurrence of these issues by limiting any creation of auxiliary data to the central authority who can then distribute an updated dataset as necessary. Likewise, limiting the creation of field report templates, data elements and country structure levels to the central authority improves the ease of information exchange.
 
  
===Sending Backups to Reset to a Common Dataset===
+
By reserving memory for {{IMSMANG}}, less memory may be used by other applications. It also depends on how much memory the computer has if is possible to reserve more memory for {{IMSMANG}}.
  
The easiest way to ensure that each site is working from a common dataset is to distribute a full backup of the IMSMA<sup>NG</sup> dataset to each site on a regular basis. This can occur weekly, monthly or quarterly, but the key is to distribute an official‖ dataset to each site regularly to ensure that auxiliary data is up to date and that any changes made to other parts of the dataset are distributed. In this way, organisations can maintain a common set of national statistics and the dataset reflects the decisions made by the central authority to resolve errors or issues in importing and exchanging field reports.
+
[[Image:memory_settings.png|500px]]
  
It is important to understand, however, that the restoration of a backup file overwrites the data at the regional site including any locally created searches and reports. So, the recipient sites should consider the following recommendations:
+
If you would like to reserve more memory for the IMSMA server '''process''', edit row 3 in ''C:\IMSMAng\trayLauncher\TrayLauncher.properties''.
  
* Make a complete backup prior to restoring the central authority’s backup.
+
If you would like to reserve more memory for the IMSMA client '''process''', edit row 12 in ''C:\IMSMAng\trayLauncher\TrayLauncher.properties''. Start with increasing it to 1024 and then evaluate.  
* Export all field reports that have been entered since the last exchange with the central authority before restoring a backup.
 
* Restore only the IMSMA<sup>NG</sup> database and GIS database. This preserves local customisations of peripheral elements such as field report templates and iReport templates, which can be reimported into IMSMA<sup>NG</sup>.
 
* Request that any searches or other non-exportable elements that are important for regional site use be created in the central authority’s dataset prior to distribution so they do not need to be recreated regionally each time a new backup is distributed.
 
  
===Collecting Regular Feedback===
+
{|
 +
|- valign="top"
 +
|
  
In any information exchange activity, it is important to have regular sessions or meetings to collect feedback and discuss issues or improvements to the information exchange process. One recommendation is to establish a feedback forum where organisations can address data quality issues and make adjustments to the information exchange process. Topics to address in such a forum include:
+
{| class="wikitable"
 +
! Value !! Meaning 
 +
|- align="right"
 +
| 512 || 0.5 GB
 +
|- align="right"
 +
| 1024 || 1 GB 
 +
|- align="right"
 +
| 2048 || 2 GB
 +
|- align="right"
 +
| 3072 || 3 GB
 +
|- align="right"
 +
| 4096 || 4 GB 
 +
|- align="right"
 +
|}
 +
The values should be increased step-by-step and evaluated after each change.
  
* frequency of data exchange
+
{{Note |
* standardization of reports and searches included in the central dataset
+
* Since IMSMA NG is a 32-bit application there is no effect by reserving more than total 4 GB.
* permissions and role changes
+
* On the physical server in a client/server configuration there is need to start the client, take backup and restore so do not set the client process memory to less than 512. }}
* creation or modification of auxiliary data
 
* form template changes
 
  
By collecting feedback on these issues, information managers can help ensure that decentralized information exchange works as expected and set up a quality assurance mechanism to prevent data quality issues from affecting the programme’s information management.
+
{{NavBox Information Management}}
 +
[[Category:NAA]]

Latest revision as of 15:37, 7 June 2021

To determine the initial configuration of the IMSMANG system, it is important to understand the two ways in which IMSMANG can be set up and the basic architecture of the system. IMSMANG is a client/server software application designed to run in stand-alone or client/server mode. In a stand-alone system, both the IMSMANG client and server are installed on the same computer. The stand-alone configuration is the simpler type of installation: it requires no additional network equipment or infrastructure and is easy to maintain.


Comparison of Stand-alone and Client/server Configuration Options
Configuration Advantages Disadvantages
Stand-alone
  • Simple to set up and maintain
  • Limited IT knowledge required
  • Can be upgraded to a client/server configuration later
  • One-at-a-time data access
Client/server
  • Multiple concurrent data access
  • Redundancy
  • Complicated to set up and maintain
  • Local Area Network infrastructure required
  • Multiple computers required

In a client/server configuration, one computer acts as a server and many other computers can connect to it simultaneously over a network, enabling multiple people to access the same data at the same time. A client/server installation requires at least two computers and a network infrastructure connecting the computers together. Using a client/server installation, a mine action programme can have multiple data entry clerks entering data at the same time.


Client/server Config

Client/server configuration

Note.jpg Be aware of the following when running IMSMA in a client/server installation:
  • The server and client(s) must be running the exact same version of IMSMA.
  • The gisServer.properties file on the server must be configured.
  • The client(s) must be configured to connect to the server.
  • Maps only need to be installed on the server.
  • Data entered into the server or clients will be automatically rendered to all clients (as well as the server). However, geospatial information (points, polygons) will NOT be immediately rendered to all clients. To either post your geospatial updates to the server (thus making them available to other clients) or to receive updates from the server, you must log out of IMSMA and then log back in.
  • Fonts will need to be installed on both the server and client(s)

Client/server Architecture

Whether a programme uses a stand-alone installation or a client/server installation, the IMSMANG software has two main components:

  • the IMSMANG server
  • the IMSMANG client

The figure below shows the parts of the software; the following sections then explain the functions that each part performs.

Stand-alone architecture
Client/server architecture

Server

The IMSMANG server stores data and manages much of the data processing. The server has two main parts, the datastore and the business layer. The datastore is where data is stored for retrieval by the IMSMANG client. IMSMANG uses a PostgreSQL relational database to store data on the server. Additionally, IMSMANG stores other data including attachments and some configuration files on the server in file format. The PostgreSQL database is accessible via a variety of database access tools designed for browsing relational databases.

Warning.jpg While the database contains many relational database constraints designed to preserve data integrity, all updates of data should be handled through the business layer rather than with direct SQL updates in order to maintain integrity. Failure to do so will likely cause data corruption or loss

The business layer is where rules are implemented to ensure data quality and consistency. The business layer takes data from the datastore and transforms it for display in the IMSMANG client. All data interaction between the client and server database is handled through the business layer, which allows for multiple clients to be connected to the database while preserving data integrity in cases of multiple requests. This includes access from the IMSMANG client and from the reporting tool.

Client

The IMSMANG client is the interface through which users can connect to the server and browse the system, enter data and generate outputs. The client includes an integrated GIS component and reporting tools. Based on ESRI’s ArcGIS Engine, the GIS component performs all geospatial calculations including distance/bearing calculation, coordinate conversion and reprojection. The GIS component also allows each client to load and manage its own maps and geographic data which the client receives from the IMSMANG server. As a result, each client receives and locally stores a complete copy of geographic data from the IMSMANG server when it is connected to the server. This synchronized data is stored in a client ―sandbox‖ separate from the server and can always be updated by connecting to the server.

JasperSoft’s iReport tool is built into each IMSMANG client and allows users to access data from the database via the business layer. With iReport, users can generate reports containing tabular data, subreports and cross tabs as well as various types of charts and graphs. These reports can easily be localized into any language that IMSMANG supports. Additional reporting options include direct connections to the IMSMANG database via ODBC. This functionality supports tools such as Crystal Reports, Microsoft® Access®, Microsoft Excel® and various open-source reporting tools.

Memory settings

By reserving memory for IMSMANG, less memory may be used by other applications. It also depends on how much memory the computer has if is possible to reserve more memory for IMSMANG.

Memory settings.png

If you would like to reserve more memory for the IMSMA server process, edit row 3 in C:\IMSMAng\trayLauncher\TrayLauncher.properties.

If you would like to reserve more memory for the IMSMA client process, edit row 12 in C:\IMSMAng\trayLauncher\TrayLauncher.properties. Start with increasing it to 1024 and then evaluate.

Value Meaning
512 0.5 GB
1024 1 GB
2048 2 GB
3072 3 GB
4096 4 GB

The values should be increased step-by-step and evaluated after each change.

Note.jpg
  • Since IMSMA NG is a 32-bit application there is no effect by reserving more than total 4 GB.
  • On the physical server in a client/server configuration there is need to start the client, take backup and restore so do not set the client process memory to less than 512.