[Deprecated] XDStarClient - Installation & Configuration
Warning: This documentation is out-dated, newest version of the documentation is available at https://gazelle.ihe.net/gazelle-documentation
Here is a guide to help you installing XDStarClient.
Requirements
- Debian squeeze or ubuntu 12.04 64bits with an Internet access.
- Database : PostGresql 9.1
- Java virtual machine : JDK 1.7
- Application server : Jboss 7.2.0.Final
- It must be installed in: /usr/local/jboss7
- A server named gazelle must be here: /usr/local/jboss7/standalone/
- you can get a preconfigured jboss7 from Gazelle team
To install those requirements you need to follow instructions of installation of jboss7 : https://gazelle.ihe.net/content/general-considerations-jboss-7
Quick start
XDStarClient can be installed using gazelle user on your server:
wget https://gazelle.ihe.net/jenkins/job/XDStarClient/ws/install_xdstar_client.sh wget https://gazelle.ihe.net/jenkins/job/Installer_script/ws/jboss7/common.sh sudo chmod +x install_xdstar_client.sh sudo chmod +x common.sh sudo ./install_xdstar_client.sh $HOSTANDPORT
$HOSTANDPORT are the host and the port number to which your application will deployed, you may use the value localhost:8380 if you are testing locally and you have not changed the configuration of your jboss7 installed.
It will:
- Backup the previous EAR
- Get the latest released version of XDStarClient and deploy it in your jboss.
- Create the database if it doesn't exists.
- Create /opt/XDStarClient folder (used for validation, samples storage) if this folder is not already there
All these steps are done by the script. The next paragraph are only details of how these steps are done (for developper who need more details).
2. Compile Sources
XDStarClient is an open source project under Apache2 licence. The sources are available on the INRIA's Forge:
svn checkout https://scm.gforge.inria.fr/svn/gazelle/Maven/simulators/XDStar-modules/trunk XDStar-modules svn checkout https://scm.gforge.inria.fr/svn/gazelle/Maven/simulators/XDStarClient/trunk XDStarClient cd XDStar-modules mvn clean install cd ../XDStarClient mvn clean package -U -Pproduction
If maven cannot download dependencies checkout the maven configuration guide: http://gazelle.ihe.net/content/development-support-tools
3. Database creation and initialization
The names of the databases are defined in the pom.xml file. Use the following commands :
su postgresql psql postgres=# CREATE USER gazelle; postgres=# ALTER USER gazelle WITH ENCRYPTED PASSWORD 'password'; postgres=# CREATE DATABASE "xdstar-client" OWNER gazelle ENCODING UTF-8; postgres=# \q exit
Insert configuration values
To insert values you can connect to the database
psql -U gazelle xdstar-client
Then copy paste the folowing script:
SET statement_timeout = 0; SET lock_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; SET check_function_bodies = false; SET client_min_messages = warning; SET search_path = public, pg_catalog; SET default_tablespace = ''; SET default_with_oids = false; -- -- Name: app_configuration; Type: TABLE; Schema: public; Owner: gazelle; Tablespace: -- CREATE TABLE app_configuration ( id integer NOT NULL, value character varying(255), variable character varying(255) ); ALTER TABLE public.app_configuration OWNER TO gazelle; -- -- Name: app_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: gazelle; Tablespace: -- ALTER TABLE ONLY app_configuration ADD CONSTRAINT app_configuration_pkey PRIMARY KEY (id); -- -- Name: variable_unique; Type: CONSTRAINT; Schema: public; Owner: gazelle; Tablespace: -- ALTER TABLE ONLY app_configuration ADD CONSTRAINT variable_unique UNIQUE (variable); -- -- Data for Name: app_configuration; Type: TABLE DATA; Schema: public; Owner: gazelle -- INSERT INTO app_configuration VALUES (7, 'cda.xsl', 'cda_xsl_path');
INSERT INTO app_configuration VALUES (8, 'XDR Test Pratician', 'default_pratician_id');
INSERT INTO app_configuration VALUES (13, 'UTC+01', 'application_time_zone');
INSERT INTO app_configuration VALUES (10, 'http://gazelle.ihe.net/jira/browse/XDSTAR', 'application_issue_tracker_url');
INSERT INTO app_configuration VALUES (11, 'XDStarClient', 'application_name');
INSERT INTO app_configuration VALUES (12, 'http://gazelle.ihe.net/jira/browse/XDSTAR#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-panel', 'application_release_notes_url');
INSERT INTO app_configuration VALUES (29, 'http://gazelle.ihe.net/content/xdstarclient', 'app_documentation');
INSERT INTO app_configuration VALUES (27, 'http://gazelle.ihe.net/xsl/xdsDetailedResult.xsl', 'validation_result_xslt');
INSERT INTO app_configuration VALUES (32, 'NOVAK', 'family');
INSERT INTO app_configuration VALUES (33, 'JAN', 'given');
INSERT INTO app_configuration VALUES (34, '19501201', 'birthdate');
INSERT INTO app_configuration VALUES (35, '', 'root');
INSERT INTO app_configuration VALUES (36, '', 'gender');
INSERT INTO app_configuration VALUES (37, '', 'extension');
INSERT INTO app_configuration VALUES (38, '', 'street');
INSERT INTO app_configuration VALUES (39, '', 'city');
INSERT INTO app_configuration VALUES (40, '', 'country');
INSERT INTO app_configuration VALUES (41, '', 'postalcode');
INSERT INTO app_configuration VALUES (42, '', 'maidenname');
INSERT INTO app_configuration VALUES (19, '50000', 'connection_timeout');
INSERT INTO app_configuration VALUES (47, 'http://gazelle.ihe.net/xsl/mbcdaDetailedResult.xsl', 'cda_mbv_xslt');
INSERT INTO app_configuration VALUES (49, 'http://gazelle.ihe.net/xsl/mbcdaDetailedResult.xsl', 'cda_mbv_xslt');
INSERT INTO app_configuration VALUES (45, '/usr/bin/', 'dicom3tools_validator');
INSERT INTO app_configuration VALUES (26, '/opt/XDStarClient/xsd/IHE/XDSI.b_ImagingDocumentSource.xsd', 'xds_xsd');
INSERT INTO app_configuration VALUES (51, '/opt/XDStarClient/xsd/DSUB/soap-envelope.xsd', 'dsub_xsd');
INSERT INTO app_configuration VALUES (53, '/opt/XDStarClient/', 'server_local_path');
INSERT INTO app_configuration VALUES (9, 'abderrazek.boufahja@ihe-europe.net', 'application_admin_email');
INSERT INTO app_configuration VALUES (21, 'N/A', 'consent_template_path');
INSERT INTO app_configuration VALUES (50, 'N/A', 'dds_web_service');
INSERT INTO app_configuration VALUES (20, 'N/A', 'dispensation_template_path');
INSERT INTO app_configuration VALUES (1, 'N/A', 'epsosFolder');
INSERT INTO app_configuration VALUES (16, '/opt/XDStarClient/uploadedFiles', 'registered_files_directory');
INSERT INTO app_configuration VALUES (2, '/opt/XDStarClient/tmp', 'uploadFolder');
INSERT INTO app_configuration VALUES (54, 'N/A', 'xdstool_xca_query_wsdl');
INSERT INTO app_configuration VALUES (56, 'SAMEORIGIN', 'X-Frame-Options');
INSERT INTO app_configuration VALUES (57, 'private, no-cache, no-store, must-revalidate, max-age=0', 'Cache-Control');
INSERT INTO app_configuration VALUES (58, 'max-age=31536000 ; includeSubDomains', 'Strict-Transport-Security');
INSERT INTO app_configuration VALUES (59, '', 'X-Content-Security-Policy');
INSERT INTO app_configuration VALUES (60, 'Use X-Content-Security-Policy values', 'X-WebKit-CSP');
INSERT INTO app_configuration VALUES (61, 'Use X-Content-Security-Policy-Report-Only values', 'X-WebKit-CSP-Report-Only');
INSERT INTO app_configuration VALUES (63, 'false', 'sql_injection_filter_switch');
INSERT INTO app_configuration VALUES (55, 'true', 'security-policies');
INSERT INTO app_configuration VALUES (15, '/opt/china.jks', 'simu_jks_path');
INSERT INTO app_configuration VALUES (5, 'tomcat', 'key_alias');
INSERT INTO app_configuration VALUES (6, 'password', 'key_pass');
INSERT INTO app_configuration VALUES (4, 'password', 'keystore_pass');
INSERT INTO app_configuration VALUES (64, 'true', 'avoid_nist_validation_ihe');
INSERT INTO app_configuration VALUES (44, 'http://gazelle.ihe.net/SchematronValidator-SchematronValidator-ejb/GazelleObjectValidatorWS?wsdl', 'schematron_validator');
INSERT INTO app_configuration VALUES (62, 'default-src ''self'' *.ihe.net *.ihe-europe.net *.ihe-c.org; script-src ''self'' ''unsafe-eval'' ''unsafe-inline''; style-src ''self'' ''unsafe-inline'';', 'X-Content-Security-Policy-Report-Only');
INSERT INTO app_configuration VALUES (17, '1.3.6.1.4.1.12559.11.13.2.1.', 'document_root_oid');
INSERT INTO app_configuration VALUES (3, '1.3.6.1.4.1.12559.11.13.2.2', 'epsos_source_root_oid');
INSERT INTO app_configuration VALUES (43, '1.3.6.1.4.1.12559.11.13.2.3', 'homeCommunityID');
INSERT INTO app_configuration VALUES (23, '1.3.6.1.4.1.12559.11.13.2.4', 'home_root_oid');
INSERT INTO app_configuration VALUES (25, '1.3.6.1.4.1.12559.11.13.2.5', 'ihe_source_root_oid');
INSERT INTO app_configuration VALUES (18, '1.3.6.1.4.1.12559.11.13.2.6.', 'submission_set_root_oid');
INSERT INTO app_configuration VALUES (14, 'Abderrazek Boufahja', 'application_admin_name');
INSERT INTO app_configuration VALUES (65, 'http://gazelle.ihe.net/AssertionManagerGui', 'assertion_manager_url');
INSERT INTO app_configuration VALUES (66, 'true', 'display_KSA_menu');
INSERT INTO app_configuration VALUES (67, '/opt/XDStarClient/attachments/', 'attachement_files_directory');
INSERT INTO app_configuration VALUES (46, 'http://gazelle.ihe.net/CDAGenerator-CDAGenerator-ejb/CDAValidatorWS?wsdl', 'cda_mbv_wsdl');
INSERT INTO app_configuration VALUES (48, 'http://gazelle.ihe.net/CDAGenerator-CDAGenerator-ejb/CDAValidatorWS?wsdl', 'cda_mbv_wsdl');
INSERT INTO app_configuration VALUES (68, 'http://127.0.0.1:8180/XDStarClient-XDStarClient-ejb/DSUBRecipientWS?wsdl', 'xdstar_dsub_recipient_endpoint');
INSERT INTO app_configuration VALUES (72, '/opt/XDStarClient/', 'gazelle_home_path');
INSERT INTO app_configuration VALUES (70, '2.16.840.1.113883.3.3731.1.1.100.1', 'ksa_aa_oid');
INSERT INTO app_configuration VALUES (73, 'http://127.0.0.1:8180/XDStarClient-XDStarClient-ejb/XDSDeletetWS?wsdl', 'xdstar_delete_doc_endpoint');
INSERT INTO app_configuration VALUES (74, '/home/aboufahj/Téléchargements/36667D66.dcm', 'ksa_manifest_file');
INSERT INTO app_configuration VALUES (24, 'http://gazelle.ihe.net:8180/SVSSimulator/rest/RetrieveValueSetForSimulator', 'svs_repository_url');
INSERT INTO app_configuration VALUES (22, 'https://gazelle.ihe.net/XDStarClient/', 'application_url');
INSERT INTO app_configuration VALUES (52, 'https://gazelle.ihe.net/EVSClient/', 'evs_client_url');
INSERT INTO app_configuration VALUES (71, 'https://gazelle.ihe.net/xdstools2/', 'ksa_xdstools_url');
INSERT INTO app_configuration VALUES (75, 'false', 'display_IHE_RAD_menu');
INSERT INTO app_configuration VALUES (69, 'false', 'display_IHE_ITI_menu');
INSERT INTO app_configuration VALUES (28, 'http://gazelle.ihe.net/cas', 'cas_url');
INSERT INTO app_configuration VALUES (76, 'true', 'ip_login');
INSERT INTO app_configuration VALUES (77, '.*', 'ip_login_admin')
Properties | Description | Default |
app_documentation | official documentation | http://gazelle.ihe.net/content/xdstarclient |
application_admin_email | email of the admin | abderrazek.boufahja@ihe-europe.net |
application_admin_name | Admin name | Abderrazek Boufahja |
application_issue_tracker_url | issues tracker's url | http://gazelle.ihe.net/jira/browse/XDSTAR |
application_name | application name | XDStarClient |
application_release_notes_url | release notes' url | http://gazelle.ihe.net/jira/browse/XDSTAR#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-panel |
application_time_zone | time zone | UTC+01 |
application_url | the url of XDStarClient (too important as it is used by permanent links) | https://gazelle.ihe.net/XDStarClient/ |
assertion_manager_url | URL to the assertion manager used | http://gazelle.ihe.net/AssertionManagerGui |
attachement_files_directory | file directory on the server, where documnent uploaded and downloaded will be saved | /opt/XDStarClient/attachments/ |
avoid_nist_validation_ihe | set to false when validation using the nist validator is performed |
true |
birthdate | used for initialization for XCPD request | 19501201 |
Cache-Control | security parameter | private, no-cache, no-store, must-revalidate, max-age=0 |
cas_url | link to the SSO cas | http://gazelle.ihe.net/cas |
cda_mbv_wsdl | link to the CDA MBV tool ws | http://gazelle.ihe.net/CDAGenerator-CDAGenerator-ejb/CDAValidatorWS?wsdl |
cda_mbv_xslt | link to the stylesheet to render the result of validation of a CDA document | http://gazelle.ihe.net/xsl/mbcdaDetailedResult.xsl |
cda_xsl_path | link to the stylesheet to render a cda document | cda.xsl |
city | used for initialization for XCPD request | Valeur de la préférence |
connection_timeout | When the client want to rich a responder, this represent the time in millisecond, that the client shall wait before closing the connection | 50000 |
country | used for initialization for XCPD request | Valeur de la préférence |
default_pratician_id | used for epSOS purpose | XDR Test Pratician |
dicom3tools_validator | path where the dicom3tools is installed | /usr/bin/ |
dispensation_template_path | used for epSOS purpose | N/A |
display_IHE_ITI_menu | display, or not, the IHE ITI transactions | false |
display_IHE_RAD_menu | display, or not, the IHE RAD transactions | false |
document_root_oid | unique identifier of documents | 1.3.6.1.4.1.12559.11.13.2.1. |
dsub_xsd | path to the schema of DSUB | /opt/XDStarClient/xsd/DSUB/soap-envelope.xsd |
epsosFolder | used for epSOS purpose | N/A |
epsos_source_root_oid | used for epSOS purpose | 1.3.6.1.4.1.12559.11.13.2.2 |
evs_client_url | link to evs client tool | https://gazelle.ihe.net/EVSClient/ |
extension | used for initialization for XCPD request | Valeur de la préférence |
family | used for initialization for XCPD request | NOVAK |
gazelle_home_path | path to a folder used by the tool | /opt/XDStarClient/ |
gender | used for initialization for XCPD request | Valeur de la préférence |
given | used for initialization for XCPD request | JAN |
homeCommunityID | used by the XSD.b requests | 1.3.6.1.4.1.12559.11.13.2.3 |
home_root_oid | used by the XSD.b requests | 1.3.6.1.4.1.12559.11.13.2.4 |
ihe_source_root_oid | used by the XSD.b requests | 1.3.6.1.4.1.12559.11.13.2.5 |
ip_login | used to confirm if the connexion is done using a cas or an ip authentification | true |
ip_login_admin | list of accepted ip address | .* |
key_alias | the alias of the keystore used for ssh connexion with responders | tomcat |
key_pass | password of the key | password |
keystore_pass | password of the keystore | password |
ksa_aa_oid | assigning authority OID, for patients | 2.16.840.1.113883.3.3731.1.1.100.1 |
ksa_manifest_file | Manifest used in test plan, only related to k-project | /../36667D66.dcm |
ksa_xdstools_url | link to xdstools2 (only related to k-project) | https://gazelle.ihe.net/xdstools2/ |
maidenname | used for initialization of XCPD request | Valeur de la préférence |
postalcode | used for initialization of XCPD request | Valeur de la préférence |
registered_files_directory | used by the ITI-41 transaction | /opt/XDStarClient/uploadedFiles |
root | used for initialization of XCPD request | Valeur de la préférence |
schematron_validator | path to the ws of schematronValidator | http://gazelle.ihe.net/SchematronValidator-SchematronValidator-ejb/GazelleObjectValidatorWS?wsdl |
security-policies | confirm if security is used | true |
server_local_path | path to a folder on the server | /opt/XDStarClient/ |
simu_jks_path | path to the keystore | /opt/china.jks |
sql_injection_filter_switch | security parameter | false |
street | used for initialization of XCPD request | Valeur de la préférence |
Strict-Transport-Security | security parameter | max-age=31536000 ; includeSubDomains |
submission_set_root_oid | used by ITI-41 transaction | 1.3.6.1.4.1.12559.11.13.2.6. |
svs_repository_url | link to SVS rest service | http://gazelle.ihe.net:8180/SVSSimulator/rest/RetrieveValueSetForSimulator |
uploadFolder | path to folder for uploading file | /opt/XDStarClient/tmp |
validation_result_xslt | path to xds transformer of validation result | http://gazelle.ihe.net/xsl/xdsDetailedResult.xsl |
X-Content-Security-Policy | security parameter | Valeur de la préférence |
X-Content-Security-Policy-Report-Only | security parameter | default-src 'self' *.ihe.net *.ihe-europe.net *.ihe-c.org; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; |
xdstar_delete_doc_endpoint | endpoint link to the delete webservice | http://127.0.0.1:8180/XDStarClient-XDStarClient-ejb/XDSDeletetWS?wsdl |
xdstar_dsub_recipient_endpoint | endpoint link to the dsub recipient webservice | http://127.0.0.1:8180/XDStarClient-XDStarClient-ejb/DSUBRecipientWS?wsdl |
xds_xsd | link to the schema of XDS-I.b | /opt/XDStarClient/xsd/IHE/XDSI.b_ImagingDocumentSource.xsd |
X-Frame-Options | security parameter | SAMEORIGIN |
X-WebKit-CSP | security parameter | Use X-Content-Security-Policy values |
X-WebKit-CSP-Report-Only | security parameter | Use X-Content-Security-Policy-Report-Only values |
Compile
Before compiling, go to the directory XDStarClient and edit the file pom.xml. Open this file and adapt the properties of profile prod to your case :
- jdbc.connection.url : jdbc:postgresql:xdstar-client
- jdbc.connection.user / jdbc.connection.password : credentials for database access
Then, create the EAR archive with the command line:
cd XDStar-modules mvn install cd .. cd XDStarClient mvn clean package -Pproduction
The archive (EAR) and the distribution file are created and placed into XDStarClient /XDStarClient-ear/target directory.
5. Deployment
Copy the XDStarClient.ear into the "server/gazelle/deploy" directory of your JBoss server. Finally, start your server.
When the application is deployed, open a browser and go to http://yourserver/XDStarClient.
If the deployment and the database initialization are successful you should see the home page.