CLAIMS Direct Web Services are a collection of services built on the Perl Cataylst framework. The application runs as a virtual host and a typical deployment would be in combination with Apache httpd.
On-site installations that install CDWS have a very limited set of services available, namely /text
, and if the optional SOLR index is installed /search
. All other service interfaces must be called remotely to https://cdws.ificlaims.com. Please contact support@ificlaims.com for further details.
Hardware Requirements
Requirement | Recommended |
---|---|
CPU | 2-cores |
System Memory | 4GB |
System Storage | 100GB |
Software
Requirements
Requirement | Recommended | Notes |
---|---|---|
Apache httpd | Distribution version | yum|dnf install httpd |
Perl Modules | Distribution version | yum|dnf install \ |
CLAIMS Direct Library | Latest Version | Contact support@ificlaims.com for link to latest version |
CLAIMS Direct CDWS | Latest Version | Contact support@ificlaims.com for link to latest version |
CDWS Installation
It is recommended to install CLAIMS Direct software into /opt/fv
using the INSTALL_BASE
argument to Makefile.PL, e.g.,
perl Makefile.PL INSTALL_BASE=/opt/fv --alldeps
This is the pre-configured location of the Apache httpd virtual host. In addition, PATH
and PERL5LIB
environment variables need to be set in .bashrc
export PATH=/opt/fv/bin:$PATH export PERL5LIB=/opt/fv/lib/perl5:$PERL5LIB
Assuming requirements have been installed, including Alexandria::Library
, CDWS is installed again in typical perl module fashion.
wget http://alexandria.fairviewresearch.com/software/Alexandria-CDWS-x.x.tar.gz tar zxvf Alexandria-CDWS-x.x.tar.gz cd Alexandria-CDWS-x.x perl Makefile.PL INSTALL_BASE=/opt/fv --alldeps make sudo make install
Configuration
The main configuration files for CDWS will reside in /opt/fv/lib/perl5/Alexandria/CDWS
and are
alexandria-cdws-apache.conf
The virtual host definition. Here you can change the Port httpd listens on for the CDWS applicationalexandria-cdws.conf
The main application configuration file.
The main configuration file ( alexandria-cdws.conf
) is broken into the following sections:
- Global parameters
- Authentication Plugins
- Database Models
Global Parameters
The following table explains the global parameters and values in alexandria-cdws.conf:
Parameter | Default Value | Custom Configurable | Description |
---|---|---|---|
name | alexandria-cdws | No | The package name |
remote | 1 | No | This variable guides code logic depending on the CLAIMS Direct installation being remote (on-site) or Primary. |
log_statistics_database | 1 | Yes | If requests should be logged into the admin.t_user_statistics table (see PostgreSQL, section: "Creating the Credentials Database for CDWS") |
log_statistics_error_log | 1 | Yes | If requests should be logged into the httpd error_log |
index_version | 21 | Yes | The index version. Although this variable is configurable, it shouldn't need to be changed. |
enable_ip_authentication | 1 | No | This parameter activates code that allows IP authentication |
secure | 0 | Yes | Change this parameter to 1 to broadcast to CDWS application that the web server is running under SSL |
Authentication Plugins
The Plugins section contains the directives for authentication. As this uses database model definitions appearing later in the file, this directive should not be modified.
Database Models
The following table lists the Database Models defined, along with their function. Italic rows are not available with on-site installations:
Database Model | Variables | Function | Notes |
---|---|---|---|
Model::DBIx::Connector | None | Main PostgreSQL Interface | |
Model::Custom | host | Interface into the reporting database | This interface enables CSV reporting. This reporting module is superseded by Model::Report defined below |
Model::Web | host | Deprecated (was earlier web sessions interface) | |
Model::Users | host | Interface into the users database supporting the Authentication plugin | |
Model::Report | host solrurl storage | Interface into the users database | This interface supports v2.x reporting for both XML and CSV. To use this interface effectively, the optional SOLR component must be installed locally |
Model::Session | host | Interface into the users database | This interface supports the Sessions web services (experimental) |
Model::DWH::Standard Model::DWH::Premium Model::DWH::Premium::Plus | host | Interface into the main alexandria XML data warehouse | This interface supports a variety of web services, including /text |
Model::Attachments | Interface into the attachments database | Unavailable with on-site installations | |
Model::Inventory | Interface into the raw data warehouse | Unavailable with on-site installations | |
Model::MSSQL | Interface into the level I data warehouse | Unavailable with on-site installations | |
Model::Solr::Standard Model::Solr::Premium Model::Solr::Premium::Plus | base server collection params | Main interfaces into the SOLR index | Available only with optional SOLR installation |
Model::Solr::Attachments | Interface into attachments index | Unavailable with on-site installations | |
Model::Solr::PITR | Interface into PITR reporting index | Unavailable with on-site installations | |
Model::Zabbix | Interface into systems monitoring | Unavailable with on-site installations |
Apache httpd Integration
alexandria-cdws-apache.conf installation
To enable CDWS to run under httpd, the virtual host definition file alexandria-cdws-apache.conf
must be either copied or linked into /etc/httpd/conf.d
# link (recommended) cd /etc/httpd/conf.d && ln -s /opt/fv/lib/perl5/Alexandria/CDWS/alexandria-cdws-apache.conf z01.conf # or copy sudo cp /opt/fv/lib/perl5/Alexandria/CDWS/alexandria-cdws-apache.conf /etc/httpd/conf.d/z01.conf
Apache httpd Directory permissions
Depending on distribution, you may also need to adjust the permissions to the root Directory
in httpd.conf
<Directory /> AllowOverride none Require all granted </Directory>
Enable, Start and Stop httpd
sudo systemctl enable httpd.service sudo systemctl start httpd.service # stop # sudo systemctl stop httpd.service