You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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 of 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

RequirementRecommended
CPU2-cores
System Memory4GB
System Storage100GB

Software Requirements

RequirementRecommendedNotes
Apache httpdDistribution version
yum|dnf install httpd
Perl ModulesDistribution version
yum|dnf install \
# overkill, but saves an incredible amount of time
perl-open \
perl-Catalyst* \
perl-Module-Install \
perl-DBD-Pg \
perl-XML-LibXML \
perl-XML-LibXSLT \
perl-CPAN
CLAIMS Direct LibraryLatest VersionContact support@ificlaims.com for link to latest version
CLAIMS Direct CDWSLatest VersionContact 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 application.
  • alexandria-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:

ParameterDefault ValueCustom ConfigurableDescription
namealexandria-cdwsNoThe package name
remote1NoThis variable guides code logic depending on the CLAIMS Direct installation being remote (on-site) or Primary.
log_statistics_database1YesIf requests should be logged into the admin.t_user_statistics table (see PostgreSQL, section: "Creating the Credentials Database for CDWS")
log_statistics_error_log1YesIf requests should be logged into the httpd error_log
index_version21YesThe index version. Although this variable is configurable, it shouldn't need to be changed.
enable_ip_authentication1NoThis parameter activates code that allows IP authentication
secure0YesChange 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 ModelVariablesFunctionNotes
Model::DBIx::ConnectornoneMain PostgreSQL interface 
Model::CustomhostInterface into the reporting databaseThis interface enables CSV reporting. This reporting module is superseded by Model::Report defined below.
Model::WebhostDeprecated (was earlier web sessions interface) 
Model::UsershostInterface into the users database supporting the authentication plugin 
Model::Reporthost
solrurl
storage 
Interface into the users databaseThis interface supports v2.x reporting for both XML and CSV. To use this interface effectively, the optional SOLR component must be installed locally.
Model::SessionhostInterface into the users databaseThis interface supports the Sessions web services (experimental)
Model::DWH::Standard
Model::DWH::Premium
Model::DWH::Premium::Plus 
hostInterface into the main alexandria XML data warehouseThis interface supports a variety of web services, including /text
Model::Attachments Interface into the attachments databaseUnavailable with on-site installations
Model::Inventory Interface into the raw data warehouseUnavailable with on-site installations
Model::MSSQL Interface into the level I data warehouseUnavailable with on-site installations
Model::Solr::Standard
Model::Solr::Premium
Model::Solr::Premium::Plus 
base
server
collection
params 
Main interfaces into the SOLR indexAvailable only with optional SOLR installation
Model::Solr::Attachments Interface into attachments indexUnavailable with on-site installations
Model::Solr::PITR Interface into PITR reporting indexUnavailable with on-site installations
Model::Zabbix Interface into systems monitoringUnavailable 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 

 

 

  • No labels