Deploying CONNECT to WebSphere Enterprise 8.5.5.3
Version History
Version# | Date | Modified By | Description of Modification |
---|---|---|---|
1.0 | 03/14/2013 | Matt Tiller | Initial version |
1.1 | 04/01/2013 | Matt Weaver | Added clarification regarding keystores on the classpath. |
1.2 | 04/05/2013 | Deepthi Rodrigues | Updated wiki links for source instructions(4.1) and Exchange certificate configuration page |
1.3 | 04/12/2013 | Deepthi Rodrigues | Updated note related to 4.0 support being deprecated with 4.1 release |
1.4 | 05/14/2013 | Naresh Subramanyan | Updated DataSources section providing clarification regarding perfrepo_pool data source. |
1.5 | 07/30/2013 | Matt Weaver | Updates for 4.2. |
1.6 | 03/12/2014 | Chris May | Link updates for 4.3. |
1.7 | 03/21/2014 | Kerry Chin | Review for formatting, style, grammar, etc. |
1.8 | 10/30/2014 | Christopher May | Updated for Admin GUI, Direct Config, and Direct QOS |
1.9 | 07/01/2015 | Naresh Subramanyan | Updated CONNECT and Admin GUI deploy section |
1.10 | 07/21/2016Â | Daniel Fernandez | Updated Admin GUI deploy section. |
1.11 | 06/09/2017 | Minh-Hai Nguyen | Update for 5.0. |
1.12 | 01/24/2018 | Tabassum Jafri | Updated Admin GUI deploy section for 5.1 |
1.13 | 10/26/2018 | Paul Tambellini | Updated Keystores keysize and Generic JVM arguments |
WebSphere Enterprise Setup
Prerequisites
- An operational WebSphere Enterprise 8.5 Installation. You can see the CONNECT team's reference /wiki/spaces/CONNECT4/pages/10584186.
- A CONNECT EAR built for WebSphere Enterprise and CONNECT Properties set, or the means to build those artifacts. You can download the connect EAR binary from here, or you can follow the steps from here to build from source. Â
Configuring for CONNECT
JavaÂ
CONNECT 5.2.x requires IBM JDK version 1.8 or higher to run the application. The server JDK can be configured from Administrator Console > Server Configuration > Java SDKs, or using the managesdk command line tool.
JCE
If Direct will be deployed with CONNECT, the Java Cryptography Extension must be installed. Please see the IBM Documentation.
Config Directory
Create a folder to put configuration files in. For example:
mkdir /home/connect/nhinc
Make sure the folder you just created is reflected in -Dnhinc.properties.dir in the system properties.
Copy/transfer configuration files to the config folder. In the binary distribution, these files can be found in the Properties directory of the zip. If using the source code:
cp -pr Product/Production/Common/Properties/src/main/resources/* /home/connect/nhinc
If Admin GUI will be deployed, set the "directconfigwsclient" bean in AdminGUIProxyConfig.xml to "directconfigcontainerwsclient" (for release 4.7 and below):
<alias alias="directconfigwsclient" name="directconfigcontainerwsclient" />
Create the keystores in the /home/connect/nhinc directory or ${WAS_PROPS_DIR} as following:
Deploying CONNECT from Binaries#certkeystore
Java Properties
From WebSphere 8.5 Administrator Console > server1 > Process Definition > Java Virtual Machine:
Set the following under "Generic JVM Arguments":
-Xmx8000m -XX:PermSize=1024m -XX:+PrintGCTimeStamps -XX:NewRatio=3 -Dnhinc.properties.dir=/home/connect/nhinc -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.keyStore=/home/connect/nhinc/gateway.jks -Djavax.net.ssl.keyStoreType=JKS -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStore=/home/connect/nhinc/cacerts.jks -DCLIENT_KEY_ALIAS=gateway -Dcom.ibm.websphere.webservices.DisableIBMJAXWSEngine=true
Additionally, set the Classpath to the value used previously for nhinc.properties.dir, e.g.:
/home/connect/nhinc
Data Sources
Set up the following data sources using the WebSphere Administration Console:
Data Source Name | JNDI Name | Database Name |
---|---|---|
adminguidb_pool | jdbc/adminguidb_datasource | adminguidb |
assigningauthoritydb_pool | jdbc/assigningauthoritydb_datasource | assigningauthoritydb |
asyncmsgs_pool | jdbc/asyncmsgs_datasource | asyncmsgs |
auditrepo_pool | jdbc/auditrepo_datasource | auditrepo |
configdb_pool | jdbc/configdb_datasource | configdb |
docrepository_pool | jdbc/docrepository_datasource | docrepository |
eventdb_pool | jdbc/eventdb_datasource | eventdb |
messagemonitoringdb_pool | jdbc/messagemonitoringdb_datasource | messagemonitoringdb |
patientcorrelationdb_pool | jdbc/patientcorrelationdb_datasource | patientcorrelationdb |
patientdb_pool | jdbc/patientdb_datasource | patientdb |
transrepo_pool | jdbc/transrepo_datasource | transrepo |
For example, when creating a data source for MySQL the following custom properties with the respective values should be set:
- databaseName
- port
- user
- password
Keystores and Truststores
CONNECT requires keystores and truststores for both SSL as well as SAML/Digital Signatures. Either add the keystore and truststore to the classpath or provide absolute paths in the signature and truststore properties files. See Exchange Certificate Configuration Details for more details.
From WebSphere 8.5 Administrator Console > server1 > Process Definition > Java Virtual Machine, prepend the folder containing the keystore and truststore to the classpath, using a colon as the separator. For example:
/path/to/certs:<original classpath>
Update signature.properties and truststore.properties to contain absolute paths, as shown in the following two code blocks:
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=changeit org.apache.ws.security.crypto.merlin.keystore.alias=gateway org.apache.ws.security.crypto.merlin.file=<absolute path to gateway.jks> org.apache.ws.security.crypto.merlin.keystore.private.password=changeit
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=changeit org.apache.ws.security.crypto.merlin.truststore.file=<absolute path to cacerts.jks>
These keystores and truststores can be managed by the WebSphere Admin Console under Security > SSL certificate and key management > Key stores and certificates.
Configure SSL & Two-Way SSL
Using the WebSphere Administrator Console, configure the WebSphere server to require the client certificate during SSL handshakes.
- Log in to the WebSphere Administrator Console from the browser.
- Under Security, go to SSL certificate and key management > SSL configurations.
- Click the default SSL configuration NodeDefaultSSLSettings and click Quality of protection (QoP) settings.
- Change the Client Authentication to Required from the list and click Ok and Save. This will enable the two-way SSL authentication.
Deploy Connect
- Log in to the WebSphere Administrator Console from the browser.
- From Application > New Application > click Install New Enterprise Application.
- Browse to select the file <binary-location>/CONNECT-<VERSION>/CONNECT/<VERSION>/CONNECT-WAS-<VERSION>.ear and continue through the last step. Click Finish and Save.
- Now click the installed CONNECT application, then click Class loading and update detection, then from Class Loader order select Classes loaded with local class loader first (parent last), then click OK and Save.
- Finally, select the installed CONNECT application and click Start to load the application.
Deploy Admin GUI
- Create a shared library and add the  neethi & xmlschema libraries. Due to a CXF/XMLSchema class-loader issue in WebSphere, the following Shared Library needs to be created.
- Under CONNECT Config Directory, create a lib folder (for example D:\app\connect\nhinc\lib)
- Copy the libraries below to the lib folder. You can find these libraries from <binary-location>/CONNECT-<VERSION>/CONNECTAdminGUI/<VERSION>/CONNECTAdminGUI-<VERSION>.war\WEB-INF\lib.
- commons-beanutils-1.8.3.jar
- commons-codec-1.7.jar
- commons-collections-3.2.2.jar
- commons-configuration-1.9.jar
- commons-digester-1.8.jar
- commons-fileupload-1.3.2.jar
- For Release 4.7 and below, uses commons-fileupload-1.3.1.jar
- commons-io-2.1.jar
- commons-lang-2.6.jar
- commons-validator-1.4.0.jar
- el-api-2.2.jar
- el-impl-2.2.jar
- hibernate-jpa-2.1-api-1.0.0.Final.jar
- myfaces-bundle-2.1.15.jar
- neethi-3.0.3.jar
- For Release 4.7 and below, uses neethi-3.0.2.jar
- xmlschema-core-2.0.3.jar
- httpclient-4.5.2.jar (for release 5.1 and above)
- httpcore-4.4.5.jar (for release 5.1 and above)
- Log in to the WebSphere Administrator Console from the browser.
- From Environment > Shared libraries, create a new shared library ADMINGUI_COMP_LIB and enter the shared library lib folder location (created in Step 1) in the Classpath field.  Under Class Loading, check the box for Use an isolated class loader for this shared library.  Click OK and Save.
- From Application > New Application > click Install New Enterprise Application.
- Browse to select the file<binary-location>/CONNECT-<VERSION>/CONNECTAdminGUI/<VERSION>/CONNECTAdminGUI-<VERSION>.war and continue through the last step. Click Finish and Save.
- Now click the installed CONNECTAdminGUI application, then click Class loading and update detection, then from Class Loader order make sure Classes loaded with parent class loader first, then click OK and Save.
- Now click the installed CONNECTAdminGUI application, then click Shared library references, then from the table select the application and click  Reference Shared Libraries and select  ADMINGUI_COMP_LIB from the Pick List and then click OK and Save.
- Under Web Module Properties, click on JSP and JSF options.  Select SunRI1.2 for the JSF Implementation.
- Finally, select the installed CONNECTAdminGUI application and click Start to load the application.
Alternately, an adopter can also do the above steps using the WebSphere command line tool wsadmin. Please refer to the WebSphere 8.5 Admin Guide for more information.