Software Requirements
Software | Versions |
---|---|
CONNECT Binary Packages | |
Application Server | WebSphere Enterprise 8.5.5.3, WebLogic 12c (12.1.1), JBoss EAP 7, WildFly 8.2.1 |
Relational Database | Any ANSI SQL92 compliant relational database. |
Recommended Test Tools (optional) |
Throughout this document, we use <VERSION> to indicate the version of the software downloaded and APP SERVER implies the type of supported Application Server.
Install MySQL
The CONNECT gateway and the reference implementation of the Adapters use a MySQL database by default. The programmatic access to this database is done using Hibernate. When doing the initial installation of the Gateway and Adapter, it is recommended that MySQL be installed and that the system be verified. After it has been created and verified, other relational databases can be used in place of MySQL by altering the appropriate entries in the Hibernate configuration files for those projects that are accessing the database. Directions for configuring Hibernate to use other databases are not defined in this document.
Create Database and Tables
Run the following scripts to set up the CONNECT databases:
- CONNECT\Product\target\CONNECT-<VERSION>\DBScripts\nhincdb\dropall.sql
- CONNECT\Product\target\CONNECT-<VERSION>\DBScripts\nhincdb\nhincdb.sql
- CONNECT\Product\target\CONNECT-<VERSION>\DBScripts\nhincdb\populateTestData.sql
Windows/DOS commands for running the MySQL scripts are detailed here:
cd <binary-location>/CONNECT-<VERSION>/DBScripts/nhincdb mysql -u {$user} --password={$password} < dropall.sql mysql -u {$user} --password={$password} < nhincdb.sql mysql -u {$user} --password={$password} < populateTestData.sql
Put the mysql-connector-java jar into the application domain's lib/ext directory. The jar is downloaded into the adopter's local Maven repository if the adopter runs a source build, and it can also be downloaded here.
The CONNECT Team uses version 5.1.10.
Unzip the Binary
CONNECT-<VERSION>-<App Server> - CONNECT ear available with all exchange services (PD,DQ,DR,DS,AD) and X12.
Item | Zip Location | Description |
---|---|---|
CONNECT-<App SERVER>-<VERSION>.ear | <binary-location>/CONNECT-<VERSION>-<APP SERVER>/CONNECT-<APP SERVER>/<VERSION> | This is the ear file used to deploy CONNECT to a particular application server. |
CONNECTAdminGUI-<VERSION>.war | <binary-location>/CONNECT-<VERSION>-<APP SERVER>/CONNECTAdminGUI/<VERSION> | This is the war file used to deploy System Administration Module to application server |
MySQL scripts | <binary-location>/CONNECT-<VERSION>/DBScripts/nhincdb | These are the scripts needed to create the application required database and tables. The test data that are required by application smoke testing are also populated using these scripts. |
Application Server properties files | <binary-location>/CONNECT-<VERSION>/Properties | These are the properties files required to configure the Application Server to run CONNECT |
Configure App Server
Configure GlassFish to use MySQL by putting the latest version of mysql-connector-java-5.1.xx.jar into <glassfish>/domains/domain1/lib/ext.
Configure the domain1 directory for CONNECT:
- Create this directory: <glassfish>/domains/domain1/config/nhin
- Move everything from <binary-location>CONNECT-<VERSION>/Properties to <glassfish>/domains/domain1/config/nhin
- Copy <binary-location>CONNECT-<VERSION>/glassfish_templates/connect/domain.selfsigned.xml.template to <glassfish>/domains/domain1/config/ as domain.xml (replace existing domain.xml)
- Move log4j.properties from <glassfish>/domains/domain1/config/nhin to <glassfish>/domains/domain1/config/
- Copy jboss-logging.3.3.0.Final.jar from //CONNECT-GF/lib to ~\{glassfish_install_dir}\glassfish\modules.
- Optional: To deploy AdminGUI.war copy hibernate-jpa-2.1-api-1.0.0.Final.jar from \\WEB-INF\lib folder to ~\{glassfish_install_dir}\glassfish\modules.
NOTE: Follow Hibernate upgrade from 3.2.5 to 5.1.0.Final to find more details.
Generate a self-signed certificate and create key stores and trust stores
Execute the following commands (via command line) to create and store the certificate:
keytool -v -genkey -keyalg RSA -keysize 2048 -keystore gateway.jks -keypass changeit -storepass changeit -validity 365 -alias gateway -dname "cn=localhost" keytool -v -export -rfc -alias gateway -file localhost.cer -keystore gateway.jks -keypass changeit -storepass changeit keytool -v -import -keypass changeit -noprompt -trustcacerts -alias localhost -file localhost.cer -keystore cacerts.jks -storepass changeit
Create Direct Keystore and truststores
This step is needed only if the adopter is deploying CONNECT-DIRECT-<VERSION>-<APP SERVER> ear.
Direct anchors and truststores can be configured using AdminGUI Direct Configuration pages (Refer AdminGUI manual).
If you are implementing Direct via keystores (Refer AdminGUI manual), the following stores are required.
- anchors.jks - to store the trust anchors of trusted HISPs.
- example-store.jks - to store the public keys of trusted HISPs.
- example-key.jks - to store the local HISP private key.
Please see the DirectCore README.md for additional information around certificates for Direct. The DirectCore README contains references to setting up certificates in DNS, as well as signing certificates with a self-signed Certificate Authority (CA). Please see the following commands for creating the Direct keystores and truststores. These commands will help get CONNECT deployed successfully, but don't forget to import your CA and your signed certificate per the references in the README.
keytool -v -genkey -keyalg RSA -keysize 2048 -keystore example-key.jks -keypass changeit -storepass changeit -validity 365 -alias direct.example.com -dname "cn=direct.example.com" keytool -v -export -rfc -alias direct.example.com -file example.cer -keystore example-key.jks -keypass changeit -storepass changeit keytool -v -import -keypass changeit -noprompt -trustcacerts -alias direct.example.com -file example.cer -keystore example-store.jks -storepass changeit keytool -v -import -keypass changeit -noprompt -trustcacerts -alias direct.example.com -file example.cer -keystore anchors.jks -storepass changeit
If the server was started during server installation, an adopter must restart the server now.
Deploy App Server
- Deploying to WebSphere Enterprise 8.5
- Deploying to WebLogic
- Deploying to JBoss EAP 7
- Deploying to WildFly 8.2.1
Test the Installation
- Open SoapUI
- Import <binary-location>/CONNECT-<VERSION>/ValidationSuite/ConnectValidation.xml
- Set GatewayPropDir at project level to <glassfish>/domains/domain1/config/nhin
- Run g1 and g0 test suites
- Instructions for running CONNECT validation tests can be found /wiki/spaces/CONNECTWIKI/pages/10584099
When doing a binary install and verifying with SoapUI, be sure to copy the CONNECT FileUtils and mysql-connector-java (referenced above) jars into the SoapUI lib folder.