Large Image File Transfer (LiFT)

Skip to end of metadata
Go to start of metadata

Installation and Configuration for LiFT

The images included below are thumbnails.  Click on an image to enlarge.

LiFT

The Large Image File Transfer (LiFT) Component provides the Aurion Gateway with the capability to transfer a large file to another Gateway using an Out Of Band Transfer Mechanism.  This page describes the installation and configuration steps necessary to use the LiFT Component. 

For more information on the LiFT Component the design documentation is located at the following location: LIFT Design Documentation

The LIFT Component is part of the Aurion Gateway. So these instructions assume that the steps for either the binary or source installation of the Aurion Gateway have already been performed.

The 3.0 version of LiFT is only supported and has been tested on the Windows, non-FIPS platform.  It is also only implemented for the Deferred Document Submission Service.  Future releases of Aurion will add support for other Operating Systems, for the FIPS environment, and for other NHIN Services.

Configuration

In order to utilize the LiFT Component, some configuration changes need to be made in a few different property files.  The following sections outline the LiFT configuration items that may need to be changed for each property file.

gateway.properties

The Table below describes the LiFT related properties in the gateway.properties file.

Property Default Value
Description
liftEnabled
false
This property enables or disables use of the LiFT Component for an instance of the Aurion Gateway.  In order to use the LiFT Component this property needs to be changed to true.
LiftKeyStore
C:/Sun/
AppServer/
domains/
domain1/
config/
keystore.jks
This property specifies the keystore file to use during the secure TLS out of band file transfer. 

Typically this will be set to the same keystore file specified in the domain.xml file.
LiftKeyStorePass
changeit
This property specifies the password to access the specified keystore file.
Typically this will be set to the same password as specified in the domain.xml file.
LiftTrustStore
C:/Sun/ AppServer/
domains/
domain1/
config/
cacerts.jks
This property specifies the truststore file to use during the secure TLS out of band file transfer. 

Typically this will be set to the same truststore file specified in the domain.xml file.
LiftTrustStorePass
changeit
This property specifies the password to access the specified truststore file.
Typically this will be set to the same password as specified in the domain.xml file.
LiftKeyAlias
gateway
This property specifies the alias to the certificate being used during the secure TLS out of band file transfer.
Typically this will be set to the same alias value as specified in the domain.xml file.
ProxyAddress
localhost
This property specifies the IP or hostname for the LiFT Component that remote Gateways will attempt to connect to.  This property must be set to a value that is accessible to remote Gateways that will attempt to establish a connection.
ProxyPort
1337
This property specifies the port number for the LiFT Component that remote Gateways will attempt to connect to.  This property must be set to a value that is accessible to remote Gateways that will attempt to establish a connection.
BaseOutboundDir
C:/Apache2.2/htdocs
This property specifies the base directory where files will reside when they are made available to transfer.  File urls provided to remote Gateways will be relative paths from this base location.
FileServerIP
localhost
This property specifies that the hostname or IP address for the machine HTTP Server is installed on.  This property only needs to change if the HTTP Server is installed on a different machine than the Aurion Gateway.
FileServerPort
80
This property specifies the port number in which the HTTP Server was installed to use.
ClientManagerControllerIP
localhost
This property specifies the hostname or IP address for the machine the LiFT Client Component is installed on.  This property only needs to change if the LiFT Client Component is installed on a different machine than the Aurion Gateway.
ClientManagerControllerPort
1212
This property specifies the port number the LiFT Client Component will listen on for transfer request messages.
DefaultFileDest
C:/Temp
This property specifies the location where transferred files will be written to.
LiftMessageCleanupIntervalMinutes
60
This property specifies the time interval (in seconds) in which the LiFT Message Database will be checked to see if old entries need to be cleaned up.
LiftStaleMessageDurationEnteredDuration
120
This property specifies the expiration time (in seconds) in which an entry in the ENTERED state becomes stale.
LiftStaleMessageDurationProcessingMinutes
120
This property specifies the expiration time (in seconds) in which an entry in the PROCESSED state becomes stale.
internalConnectionInfo.xml

The internalConnectionInfo.xml file is used to identify whether or not a target Gateway supports LiFT transfers.  The example below shows the tags that need to be added to the xdrrequest service for a particular community if it supports the LiFT component.

<service>
	<name>xdrrequest</name>
	<description>NHIN XDR Request</description>
	<endpointURL>https://localhost:8181/CONNECTGateway/NhinService/XDRRequest_Service</endpointURL>
	<supportsLIFT>true</supportsLIFT>
	<liftProtocols>
		<liftProtocol>
			<name>HTTPS</name>
		</liftProtocol>
	</liftProtocols>
</service>
GatewayLiftManagerProxyConfig.xml

There is an additional component spring proxy configuration file that has been created with the addition of the LiFT component.  This file is called:  GatewayLiftManagerProxyConfig.xml.  By default this file is configured to use the NoOp implementation of LiFT.  In order to use the LiFT Component this file needs to be edited to use the web service implementation.  Below is an example of how the entry would look in this file when using the web service implementation.

!-- Web-service implementation unsecured -->
<bean id="gatewayliftmanager" class="gov.hhs.fha.nhinc.lift.proxy.GatewayLiftManagerWebServiceProxy"/>

Apache HTTP Server Installation

The Large Image File Transfer is accomplished through accessing the Apache HTTP Server to deliver the desired files. The following steps will guide you through installation of the Apache HTTP Server.

  1. Bring up the Apache HTTP Server web site: http://httpd.apache.org/download.cgi#apache22
  2. Select the installation option for the 2.2.15 MSI installer and save the file.
    Win32 Binary without crypto (no mod_ssl) (MSI Installer): httpd-2.2.15-win32-x86-no_ssl.msi
  3. After accepting the security warnings, the installation wizard will begin
  4. Read over the installation information
  5. Verify the Server information is correct for your machine and install on port 80 if available to you.  If 80 is not available then choose a port that is available on this machine.  Note:  This port much match the FileServerPort property in gateway.properties.
  6. Select the Typical installation
  7. Modify the default destination folder to be C:\Apache2.2\
  8. Begin the installation process
  9. The installation may have an issue during the install because of the port definition for the listener
  10. Correct this by modifying the Listen property in the in C:/Apache2.2/conf/httpd.conf file to:
    Listen localhost:80
  11. Installation of the Apache HTTP Server is complete
  12. The startup and shutdown of the Apache HTTP Server can be controlled through the Apache icon in the tool bar or through the Start->All Programs->Apache HTTP Server 2.2->Control Apache Server->Start menu selection

Build and Deployment of LiFT (Binary Installation)

Obtain the zip file containing the version of the NHIN-Aurion-LiFT software (NHIN_CONNECT_LiFT_3.0.x.xxx.zip) from the NHIN Aurion Community Portal page at Full Binary Install Download.
Extract the contents of the zip file to "c:\NHINC\".

To start LiFT Client Application, execute the following from the command prompt:

cd C:\NHINC\LiFTClientApp
java -Dlift.log.root=C:\Temp\logs -jar LiFTClientApp.jar

To start LiFT Client Application, execute the following from the command prompt:

cd C:\NHINC\LiFTServerApp
java -Dlift.log.root=C:\Temp\logs -jar LiFTServerApp.jar

Build and Deployment of LiFT (Source Installation)

After building the Aurion source code, the LiFT Client and Server applications will also be built during this process.  However, these components are not part of the deployment process to the Glassfish Application Server. They can be run through the command prompt as follows:

To start LiFT Client Application, execute the following from the command prompt:

cd %NHINC_SOURCE_DIR%\Product\Production\Gateway\LiFTClientApp\RunFrom
CopyLibs.bat
java -Dlift.log.root=C:\Temp\logs -jar LiFTClientApp.jar

To start LiFT Client Application, execute the following from the command prompt:

cd %NHINC_SOURCE_DIR%\Product\Production\Gateway\LiFTServerApp\RunFrom
CopyLibs.bat
java -Dlift.log.root=C:\Temp\logs -jar LiFTServerApp.jar

Validation Tests

After configuring and starting the LiFT components, the functionality provided by this component can be validating by following the steps on the LiFT Testing Page.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.