See Integration with DTP Enterprise Pack for additional information about integrating DTP Enterprise Pack into your DTP environment. In this chapter:
Installation
DTP Enterprise Pack is packaged in the DTP installer. See New DTP Installations for instructions on how to install Enterprise Pack during DTP installation.
Upgrading
If you are upgrading from DTP Enterprise Pack 5.3.2 or older, you will need to upgrade to DTP Enterprise 5.3.3 prior to upgrading to 5.4.0. See Upgrading DTP and DTP Enterprise Pack for additional information and instructions on how to upgrade.
Upgrading Using the dtpservices Script
DTP Enterprise Pack ships with a script that you can execute to perform administration tasks for Extension Designer, Policy Center, and the Enterprise Pack database. If your installation contains custom flows, be sure to back them up before upgrading.
- Open a command prompt and navigate to the [DTP_HOME]/dtpservices directory.
- Run the following command:
dtpservices.bat upgrade --target <dir>
Specify the directory of the older version with the--target
argument.
Migrating PIE Slices to Extension Designer
Upgrading from PIE 1.x requires a manual migration for its database and flows. See Migrating PIE Slices to Extension Designer for additional information.
Backing Up
DTP Enterprise Pack ships with a script that you can execute to perform administration tasks for Extension Designer, Policy Center, and the Enterprise Pack database. The script includes a process for backing up your current installation.
- Run the following command to stop DTP Enterprise Pack processes:
dtpservices.bat stop - Run the following command to create a backup archive:
dtpservices.bat backup --target <dir> --output <dir>
The--target
and--output
arguments are optional.
Specify the directory you want to backup with the--target
argument. If not defined, the parent of the current directory and its children are backed up.
Specify the destination directory for the backup with the--output
argument. If not specified, the backup archive will be placed in the parent of the current directory.
The following files and directories are backed up:
- All service flows
- All installed marketplace artifacts
- All DTP add-ons
- Logs directory (without pid)
- Databases
Files stored in the Common, Components, Examples, Parameters, and Sample Widgets built-in directories are backed up, but any JSON files stored in those directories are not restored on upgrade.
Restoring a Backup Archive
DTP Enterprise Pack ships with a script that you can execute to perform administration tasks for Extension Designer, Policy Center, and the Enterprise Pack database. The script includes a process for restoring backup archives.
- Run the following command to stop DTP Enterprise Pack processes:
dtpservices.bat stop
- Run the following command to restore a backup archive:
dtpservices.bat restore --src <your-backup-file.zip> --target <dir>
Specify the archive you want to restore with the--src
argument. This argument is required.
Specify the directory you want to restore the archive to with the--target
argument. This argument is optional. If not specified, the archive will be restored in the current directory.\
Enabling SSL
SSL is not enabled in DTP Enterprise Pack by default. You will need to enable SSL if you need to secure the data transported between applications in your infrastructure. If you are using an SSL-enabled reverse proxy server, you do not need to enable SSL for Parasoft applications (see Reverse Proxy Support).
To enable SSL, you must first obtain an authority-signed certificate (CA) from a provider, such as VeriSign, Symantec, or GlobalSign.
Do Not Use a Self-signed Certificate
Unless you are implementing a reverse proxy infrastructure, only use authority-signed certificates when enabling SSL.
- If you have the CA, open the ssl.config.js file in an editor. This file is located in the <DTPSERVICES>/shared directory.
- Change the value of the
enabled
property totrue
and set the options to use your certificate. See the node.js documentation for a complete list of options. If the certificate was created with a passphrase, then be sure to include it in your configuration. - Save the file.
The same ports are used when SSL is enabled for DTP Enterprise Pack, but they will all use the HTTPS protocol. DTP Enterprise Pack will also use SSL-enabled ports to communicate with DTP. If you want to send data between DTP and Enterprise Pack applications over HTTPS, you must enable SSL for both systems to make sure they work properly.
If you enable SSL for Enterprise Pack, you must also enable SSL for the DTP interface (DTP APIs always run under SSL) so that Report Center, Extension Designer, and Policy Center use the same protocol (HTTPS). If you disable SSL and are not using an SSL-enabled reverse proxy server, then passwords and other important information will transmit over the network unencrypted.
Starting and Stopping Enterprise Pack Applications
- Open a command prompt and navigate to the Enterprise Pack installation directory.
- Run the dtpservices script for your operating system with the
start
argument:
Windows:dtpservices.bat start
Linux:dtpservices.sh start
You can also stop and start DTP Enterprise Pack applications from the DTP console. See Starting DTP Services on Linux/Solaris.
The start argument starts Extension Designer, Policy Center, and database.
To stop DTP Enterprise Pack applications, run the dtpservices script with the stop
argument:
dtpservices.bat stop
The following table lists all available commands:
Command | Output |
---|---|
dtpservices.bat start | Starts all servers and the database. Also see Configuring Log Rotation for the Database. |
dtpservices.bat stop | Stops all servers and the database. |
dtpservices.bat install-addon | Installs deployed slices into DTP. This command is only available if DTP and Extension Designer are installed as the same user on the same machine. For Windows, the DTP_HOME environment variable is set if DTP is installed on the machine. For Linux, PST_HOME is set under $HOME/.pstrc_<hostname>. |
dtpservices.bat status | Reports the status for DTP Enterprise Pack applications and services. If you are experiencing issues with Extension Designer, Policy Center, or any of your flows, run this command to verify that components and services are running. |
Potential Errors When Stopping on Linux
In some unexpected instances, you may see the following message when running the stop
on Linux:
"Time out on DTP Enterprise Pack process termination. Please kill all processes manually. (Refer to the documentation)"
This message only triggers if any of the children processes of the main DTP Enterprise Pack application (typically one of the service processes) started but was not killed completely. These processes must be terminated before starting DTP Enterprise Pack again.
- Run following command:
pgrep node or pgrep -f <installation home>/nodejs/bin/node
This command will print out all processes that DTP Enterprise Pack started. - Run the kill command using the same argument to kill these process:
pkill node
orpkill -f <installation home>/nodejs/bin/node
Configuring Log Rotation for the Database
You can configure the DTP Enterprise Pack database to archive log files, which eases system administration resources. The DTP Enterprise Pack startup process enables the ability to rotate database logs, but your system administrator must perform additional tasks for the database to begin archiving logs. In addition, the process is specific to the operating system running Enterprise Pack.
Linux
The logrotate
command configures and starts log rotation using a configuration file. The following snippet is an example configuration file–your actual configuration file should be written according to your organization's needs:
"/home/qa/parasoft/dtpservices/logs/mongodb.log" { size 5M missingok rotate 5 compress delaycompress }
- Make sure that DTP Enterprise Pack is installed and running.
- Create a configuration file and save it to the local machine.
- Run the following command:
logrotate -v --state ~/parasoft/dtpservices/logs/status.tmp ~<path to your configuration file>
status.tmp
is not required; you can point to any location where you have write permission.
Windows
The logrotate
command is not native on Windows. You can download a utility that provides this functionality (e.g., LogRotateWin from https://sourceforge.net/projects/logrotatewin/). A configuration file is also required to configure and start rotation. The following snippet is an example configuration file–your actual configuration file should be written according to your organization's needs:
"C:\parasoft softwares\dtpservices\logs\mongodb.log" { size 5M missingok rotate 5 compress delaycompress postrotate "C:\parasoft softwares\dtpservices\mongodb\bin\mongo.exe" --port 8316 --eval "db.runCommand('logRotate')" admin endscript }
- Make sure that DTP Enterprise Pack is installed and running.
- Make sure that a log rotation utility for Windows is installed. These instructions assume you are using LogRotateWin.
- Create a configuration file and save it to the local machine.
- Run the following command:
C:\Program Files (x86)\Ken Salter\LogRotate>logrotate.exe -v --state "C:\temp\status.tmp" <path to your configuration file>
status.tmp
is not required; you can point to any location where you have write permission.
Accessing Enterprise Pack Applications
Enter the host and port number in a browser address bar to open Extension Designer and Policy Center. The following examples use the default ports, but the actual port number depends on the availability of the port. See System Requirements:
- http://<host>:8314 - Extension Designer.
- http://<host>:8000 - Policy Center.
If SSL is enabled, the protocol will be https (see Enabling SSL).
You will also be able to access Enterprise Pack applications from the settings menu in DTP.
Policy Center will be available from the DTP applications menu.
Configuring Enterprise Pack Applications
Extension Designer and Policy Center must be configured for use within your DTP environment. This includes:
- Connecting to DTP
- Configuring proxy settings (if applicable)
- Configuring email server settings
- Connecting to the Marketplace for downloading and installing extensions
After starting an Enterprise Pack application, choose Settings from the gear icon menu to access the configuration page.
You can also access the settings from Policy Center by choosing Settings from the gear icon menu.
See DTP Enterprise Pack Configuration for details.
Branding Extension Designer and Policy Center
You can add a custom logo to the header of Enterprise Pack applications. To add a custom logo, replace the png at /public/lib/custom-logo.png with your company logo.
The image file must be named "custom-logo.png". The dimensions of the image container is 300px by 35px.
Important Concepts and Terminology
The following table provides working definitions of concepts and terms associated with DTP Enterprise Pack applications.
Service | In the context of this technology, a service is a group of one or more flows or artifacts that can perform specialized tasks. Services can provide custom REST endpoints, custom widgets for DTP, custom practices for Policy Center, trigger actions in third-party system, etc. Services in DTP Enterprise Pack should not be confused with web services or components that are more generally described as services. |
---|---|
Flow | Flows are one or more nodes that can perform specialized tasks. Flows can be grouped into services to more evenly distribute data processing across endpoints, which results in more stable execution. |
Node | Nodes are the basic building blocks for creating flows and services that can perform specialized tasks. |
Artifact | Artifacts are complete services or flows that can be downloaded and installed from the marketplace (see Downloading and Installing Artifacts) or created locally and uploaded to Extension Designer. |
Policy | Policies are non-functional requirements that can be automatically monitored in an exception-based manner. See Core Policy Center Concepts for additional information. |
Practice | A practice can be any means of automatically assessing the software being produced, such as static analysis, metrics analysis, code coverage, and unit testing. See Core Policy Center Concepts for additional information. |
Gate | Gates measure compliance to one or more policies at a particular point in time. If the policy expectations are not met, the gate can prevent the software from proceeding to the next phase of the SDLC. See Core Policy Center Concepts for additional information. |
Model | If you want to perform custom calculations within the context of a flows or services, you can create a model, which defines the template for the data used to perform the specific type of calculation. Specific instances of a model are called profiles, which can be used in a flow to carry out the custom calculation. See Working with Model Profiles for additional information. |
Profile | Each instance of a model is a profile. Profiles must be paired with flows that can consume the data associated with the specific type of calculation. See Working with Model Profiles for additional information. |