Generating call chain analysis results by using API URLs
Before you begin
- If the authentication and authorization feature is enabled with the Authentication Server (DEX) installed and configured, the passwordConnector parameter must be added in the dex.yaml file. Also, a security token is needed. For more information, see step 1.4 in topic STEP 4. Configuring Authentication Server (DEX).
- If OrientDB SSL is enabled, add the following properties in file <IBM ADDI
Installation Folder>/IBM AD Web Services/wlp/usr/servers/ad_server/jvm.options:
- The path of the OrientDB certificates.
- The passwords of the certificates.
Example-Dclient.ssl.enabled=true -Dclient.ssl.keyStore=C:\certificates\orientdb.ks -Dclient.ssl.keyStorePass=password -Dclient.ssl.trustStore=C:\certificates\orientdb.ks -Dclient.ssl.trustStorePass=password
Note: You can enter an encrypted Keystore Password. For more information, see Obtaining an encrypted keystore password.After the file is edited and saved, restart IBM® Application Discovery WebSphere® Liberty Profile Service.
About this task
The call chain web service runs on the Liberty server. After the call chain REST API is enabled, you can run requests to generate call chain analysis results by using URLs with other tools, for example, Postman. For more information about call chain analysis in IBM AD Analyze Client, see section Miscellaneous Reports.
Procedure
Results
Example
{
"longestChainLength": 3,
"noOfPrgsNeverCalled": 3,
"prgsDetails": [
{
"chains": [
"DACI<-NCP-ENTER-RP<-DAKL<-NCD-PF9-RP"
],
"noOfChains": 1,
"prgName": "DACI",
"type": "ADS Dialog"
},
{
"chains": [
"ZZCU0013:UTCBTRC<-ZZCU0013",
"ZZCU0013:UTCOTRC<-ZZCU0013",
"ZZCU0013:UTMSDEV<-ZZCU0013:UTCBTRC<-ZZCU0013",
"ZZCU0013:UTMSDEV<-ZZCU0013:UTCOTRC<-ZZCU0013",
"ZZCU0013:UTMSTRC<-ZZCU0013:UTCBTRC<-ZZCU0013",
"ZZCU0013:UTMSTRC<-ZZCU0013:UTCOTRC<-ZZCU0013"
],
"noOfChains": 6,
"prgName": "ZZCU0013",
"type": "COBOL"
},
{
"chains": [
"ABDRAC01<-ACRFUTST<-ZZCU0013:UTCBTRC<-ZZCU0013"
],
"noOfChains": 1,
"prgName": "ABDRAC01",
"type": "COBOL"
},
{
"chains": [
"U11RHC:DTGDGBI<-U11RHC:GCBIAS",
"U11RHC:SCAN<-U11RHC:DTGDGBI<-U11RHC:GCBIAS",
"U11RHC:SCAN<-U11RHC:FNDREAN"
],
"noOfChains": 3,
"prgName": "U11RHC",
"type": "ASSEMBLER"
}
]
}
The call chain copybook analysis results follow the following
schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The programs input schema for the callchain includes/copybooks analysis API.",
"type": "object",
"properties": {
"prjName": {
"type": "string",
"description": "The name of the project on which the analysis will be made."
},
"includes": {
"type": "array",
"description": "An array which contains the includes names for the analysis.",
"items": [
{
"type": "object",
"properties": {
"inclName": {
"type": "string",
"description": "The name of a copybook/include"
},
"inclType": {
"type": "string",
"description": "The source type of a copybook/include",
"default": ""
}
},
"required": [
"inclName"
]
}
]
}
},
"required": [
"prjName",
"includes"
]
}
Example{
"avgNoOfPrgsAccessingOneInclud": 2.0,
"includesDetails": [
{
"allAccesses": 2,
"distincPrgs": 2,
"includeName": "#K5003ZA",
"includePrgsDetails": [
{
"occurrences": 1,
"prgName": "LWOUT1:INIT3",
"prgType": "PL1"
},
{
"occurrences": 1,
"prgName": "LWOUT1:NIT1",
"prgType": "PL1"
}
],
"includeType": "PL1"
},
{
"allAccesses": 2,
"distincPrgs": 2,
"includeName": "ACP1000R",
"includePrgsDetails": [
{
"occurrences": 1,
"prgName": "A50DBDWN",
"prgType": "COBOL"
},
{
"occurrences": 1,
"prgName": "A51DBDWN",
"prgType": "COBOL"
}
],
"includeType": "COBOL"
}
],
"maxNoOfPrgsAccessingOneInclud": 2,
"minNoOfPrgsAccessingOneInclud": 2,
"noOfPrgsAccessingIncludes": 4
}