Managing a Service Using Correlation

Correlation is the capturing of dynamic values passed from the client to the server and used to send the response based on these dynamic values. Correlation is done using parametrization. User can save this captured value into a parameter, and then use this parameter in the script in place of the original value.

Need of Correlation

Sometimes user needs to send response based on request data. HPD supports this feature. User can send response based on request data.

Directory Structure of Correlation

HPD_ROOT/correlation/[<project dir>]/<host name>/services/<service name>/


  • project dir: This is the Project directory [optional].
  • host name: This is the Host name [optional]. Here, its value is ‘default’. Currently this is set to “default” directory.
  • services: This is a directory to hold all services.
  • service name: This is the name of correlation service. There can be multiple services with different names.

Files in Directory Structure of Correlation

Each correlation service contains following files:

  • service.conf: This is Service configuration file that contains information for different response templates, parameters, advance settings etc.
  • service.c: This is optional that contains C code for call back methods.
  • service.comments: It contains information for service which can be edited/viewed from GUI.
  • data file: This is used in file and index file parameter
  • <Response file>: <service name>_<template name><content type of response file>
  • <Request file>: This file contains request came on NO.

Implementation of Correlation

Correlation is implemented via a concept called parameterization


User can define various parameters associated with a Service. Parameters are variables whose values could be set based on the incoming request, or user defined to be picked from a Dataset or different inbuilt functions. Parameters are used for parameterization of the response templates, in defining conditions for selection of the template and as index for Indexed Datasets.