Introduction

Proxy is the part of the Gazelle testbed which is used to capture the messages exchanged between two systems under test. This tool is also bind to the EVSClient in order to validate the messages stored in the Proxy in a very simple way.

As for the other tools, the proxy is an open source project and its sources are available at https://gitlab.inria.fr/gazelle/applications/test-execution/gazelle-proxy.git.
You can download the latest gazelle-proxy.ear in nexus http://gazelle.ihe.net/nexus/index.html#nexus-search;quick~gazelle-proxy.ear

Compilation and installation

Gazelle testbed tools are built using Maven 3, when you have download the sources, go to the gazelle-proxy folder and execute

mvn -P public clean package

You will get an EAR in the gazelle-proxy-ear/target folder.

Then, follow the instructions below:

  1. In your database (postgresql 9.1 or higher) create a database named “gazelle-proxy”, using UTF-8 encoding and owned by the user gazelle
createdb -U gazelle -E UTF8 gazelle-proxy
  1. On your file system, create a directory /opt/proxy/DICOM and an empty file /opt/proxy/proxyPersistentChannels.csv
sudo mkdir -p /opt/proxy/DICOM
sudo touch /opt/proxy/proxyPersistentChannels.csv
sudo chown -R jboss:jboss-admin /opt/proxy
sudo chmod -R 775 /opt/proxy
  1. Put the ear in the deploy folder of your Jboss AS
cp gazelle-proxy-ear/target/gazelle-proxy.ear /usr/local/jboss7/standalone/deployments/gazelle-proxy.ear
  1. WARNING : From version 4.7.0, datasources have been extracted from the ear. The template file can be found in /src/main/application/datasource in the source or in the file gazelle-proxy-X.X.X-datasource.zip from the nexus. For more informations about how to manage that externalization, please refer to general considerations for JBoss7.
  • Datasource name : gazelle-proxyDS

  • Database name : gazelle-proxy

  1. Start Jboss AS 7
sudo /etc/init.d/jboss7 start
  1. Execute the sql script available in your workspace at gazelle-proxy-ear/src/main/sql/schema-5.0.0.sql
psql -U gazelle gazelle-proxy < schema-5.0.0.sql
  1. Execute the sql script available in your workspace at gazelle-proxy-ear/src/main/sql/init-5.0.0.sql
psql -U gazelle gazelle-proxy < init-5.0.0.sql
  1. Open your favorite browser (we recommand Chrome or Firefox) and go to http://yourServer:8080/proxy

  2. The proxy is now up and running, see the next section for information on the configuration.

This new instance of the proxy is running without the CAS feature, that means that anyone accessing the tool has the administrator privileges.

If you rather want to use a single-sign one authentication, configure the application in this way. Edit the preference application_works_without_cas to set it to false.

Called tools

Check that dcmtk is installed on the machine. Actually, the proxy uses dcmdump to render the dicom files.

sudo apt get install dcmtk

Configuration

There is a set of properties that you can configure on the Configuration page, the table below describes the various properties defined and their default values.

Property name Description Default value
application_documentation The link to the user manual. Link to this page  
application_issue_tracker The link to the section of the issue tracker where to report issues about the Gazelle Proxy tool https://gazelle.ihe.net/jra/browse/PROXY
application_release_notes The link to the application release notes of the tool https://gazelle.ihe.net/jira
application_works_without_cas Specifies if the CAS should be used or not, if no CAS is used, property shall be set to true otherwise, it’s set to false true
application_url The URL used by any user to access the tool. The application needs it to build permanent links inside the tool http://yourASURL/proxy
cas_enable If you intent to use a CAS, set it tu true here true
dcmdump_path Path to dcmdump /usr/bin/dcmdump
evs_client_url The URL of the EVSClient application. This is required to validate the messages captured by the proxy. If you install your own instance of the proxy, you also need your own instance of the EVSClient tool. (Do not forget the tailing slash) https://gazelle.ihe.net/EVSClient/
ip_login if the application is not linked to a CAS, you can choose to restraint the access to the administration sections of the application to a subset of IP addresses false
ip_login_admin regex to be matched by IP address of the users granted as admin .*
jms_communication_is_enabled Enable jms communication false
max_proxy_port Specifies the high limit for the opened ports 11000
min_proxy_port Specifies the low limit for the opened ports 10000
NUMBER_OF_ITEMS_PER_PAGE Number of items to diplay in datatable 20
proxy_ip_addresses This property is used to inform the users of the IP address(es) to use to contact the proxy 131.254.209.16 (kujira.irisa.fr), 131.254.209.17 (kujira1.irisa.fr), 131.254.209.18 (kujira2.irisa.fr), 131.254.209.19 (kujira3.irisa.fr)
proxy_oid For each tool, we need an OID which uniquely identify the instance of the tool and the URL used to send back results. 1.1.1.1.1
storage_dicom Absolute path to the system folder used to store the DICOM datasets /opt/proxy/DICOM
time_zone The time zone used to display the timestamps Europe/Paris
admin_only_mode This preference is used to enable/disable the Admin Only mode. This mode restricts the access to messages list and messages details to admin only. Connection can however be shared by an administrator to allow users knowing the connection privacy key to see messages from the connection. false
proxy_persistent_channels_file_path This file path where persitent channels are written. The file must be created by server admin /opt/proxy/proxyPersistentChannels.csv