DOCS

Configuring External PI Analyzers

To configure external PI analyzer web service in applications_bpa.properties file, you must have administrator rights and access to the deployed web application on the application server.

To call the external PI analyzer web service automatically in the Personal Information approval workflow, you must configure the following settings:

  1. Configure the external PI analyzer web service call in applications_bpa.properties file. You can find this file in the <rochade>/WEB-INF/classes/ path. See Configuring applications_bpa.properties File.
  2. In EDI Browser, enable the external PI analyzer web service call in the Personal Information approval workflow configuration. See Configuring PI Analyzer in the PI Approval Workflow.

Configuring applications_bpa.properties File

To configure external PI analyzer web services in applications_bpa.properties file:

  1. Open applications_bpa.properties file in the <rochade>/WEB-INF/classes/ path.
  2. Add the external PI analyzer settings to the applications_bpa.properties file. You can find an example setting to get an idea of what needs to be set. For more information on the settings, see Setting Up applications_bpa.properties file.
    • ### external PI analyzer(s) ###
      #
      #The key externalPIAnalyzers should not be commented, otherwise warnings will be logged.
      externalPIAnalyzers=GDP_StartExternalPIAnalyzerServices
      GDP_StartExternalPIAnalyzerServices.label=External PI Analyzer
      GDP_StartExternalPIAnalyzerServices.url=
      https://hostname.domain/IDC/services/workflows/definitions/gdpr_roundtrip_for_mobius/start
      GDP_StartExternalPIAnalyzerServices.method=POST
      GDP_StartExternalPIAnalyzerServices.headers={"Authorization":"<Security token>","accept":"application/json"}
      GDP_StartExternalPIAnalyzerServices.contentType=application/json
      GDP_StartExternalPIAnalyzerServices.content={"itemId":${itemId}, "glossaryId":${glossaryId}}
      #supported dynamic parameters and default values
      GDP_StartExternalPIAnalyzerServices.parameters={"itemId":-1, "glossaryId":-1}
      GDP_StartExternalPIAnalyzerServices.ignoreErrors=false

  3. Save the applications_bpa.properties file.
  4. In the applications_bpa.properties file, you can comment or clear the comment lines, as required.

    The external PI analyzer web service call is now configured in applications_bpa.properties file.

  5. Restart the application server to ensure the configuration works properly.

Setting Up applications_bpa.properties file

externalPIAnalyzers=

The value of the externalPIAnalyzers setting (externalPIAnalyzers=) is an enumeration of logical keys to be used in the subsequent lines. Each key in the list identifies the settings that belong to one web service configuration, to call an external analyzer. The keys can be defined freely based on the syntax specification of Java property keys.

Thus, the keys must contain alphanumeric characters and cannot contain the comment characters (hash sign (#), exclamation mark (!)), delimiter characters (space, equal sign (=), and colon (:)).

The externalPIAnalyzers setting must always be present in the application_bpa.properties file, even if it is empty. Otherwise, warnings will be logged.

Examples:

externalPIAnalyzers=

externalPIAnalyzers=key1

externalPIAnalyzers=key1 key2

<key>.method=GET|POST

The value of the .method setting identifies the HTTP request method for calling the corresponding web service.

Default: GET

Examples:

key1.method=GET

key2.method=POST

<key>.url=<Web service URL>

The value of the .url setting defines the URL for calling the corresponding web service.

You can use request parameters for the URLs that are used together with GET and POST requests. Furthermore, within the request parameters, placeholder variables can be used that are to be filled in with concrete values based on the .parameters setting.

Examples:

#example URL for using the GET method, with request parameters as part of the URL

key1.url=https://host.domain/services/get?itemId=${itemId}&glossaryId=${glossaryId}

#example URL for using the POST method

key2.url=https://host.domain/services/post

<key>.parameters=<values to fill into the variables used in the URL (GET method) , content (POST method), or HTTP headers>

The value of the .parameters setting is used to fill in the variables used in the URL (GET method) or content (POST method) or HTTP headers before the actual web service call is executed.

Those can be used to transmit dynamic parameter values for the call, for example, to specify objects or context that the called web service should process.

The defined parameter values are the defaults values that will be used if the actual implementation does not provide the actual values.

The “Start External PI Analyzer” action provides the parameter value for glossaryId, and the workflow call provides parameter values for glossaryId and itemId.

Examples:

key1.parameters={ "itemId":1234, "glossaryId":5678 }

key2.parameters={ "itemId":-1, "glossaryId":-1 }

<key>.content=<content to be transmitted with the HTTP POST request>

The value of the subordinated .content setting defines the content to be transmitted with the HTTP POST request.

Examples:

key2.content={ "itemId":${itemId}, "glossaryId":${glossaryId} }

<key>.contentType=<MIME type of the content to be transmitted with the HTTP POST request>

The value of the .contentType setting defines the MIME type of the content to be transmitted with the HTTP POST request.

Examples:

key2.contentType=application/json

<key>.headers=<values to be transmitted as header with the HTTP request>

The value of the .headers setting defines the values to be transmitted as header with the HTTP request.

Examples:

key2.headers={ "Authorization":"<security token>", "accept":"application/json" }

<key>.label=<localized label to be shown in the menu and workflow configuration>

The value of the .label setting defines the label that is to be displayed in the workflow configuration that refers to the external analyzers web service configuration.

Here, you can provide a constant label string or a key for reading a localized label from a message file.

Examples:

key1.label=Sample Web Service Call

key2.label=$Message.GDP_StartExternalPIAnalyzerServices.postSample

<key>.ignoreErrors=true|false

The value of the .ignoreErrors setting specifies the error handling. If .ignoreErrors is set to false, the errors and return codes, other than HTTP status codes “2xx” are treated as error, causing successive web service calls to be skipped. (Successive web services are services that are specified in the externalPIAnalyzers settings after the current one.)

Default: true

Examples:

key2.ignoreErrors=false

Configuring PI Analyzer in the PI Approval Workflow

To configure the external PI analyzer web service in Personal Information approval workflow:

  1. In Rochade Browser, navigate to Stewardship & Workflow Management > Workflow Templates > Personal Information Approval Workflow > Configuration tab.
  2. Click Edit.
  3. Select the External PI Analyzer web services check box to enable the external PI analyzer web service call in EDI Browser.
  4. Select Ignore Errors check box to ignore the warnings or errors that might occur due to the external PI analyzer call.
  5. Click Save.

The Personal Information approval workflow is saved and you have now configured the external PI analyzer web services in Personal Information approval workflow successfully.

  • To call the external PI analyzer web services explicitly outside the Personal Information approval workflow (on demand call), you must select Start External PI Analyzer on the Business Glossary context menu. This option is visible only if the Glossary contains Personal Information, the logged in user has the permission to start the external PI analyzers, and if there is an external PI analyzer web service configured in appications_bpa.properties file. Furthermore, you must have BG_ADM role with UI permission set to GDP.canStartExternalPIAnalyzer in Metability.