Tutorial: Performing impact analysis of GenAppC, a demo project

Out of the box, Wazi Analyze provides GenAppC as a demo project that is pre-scanned and ready to view. Learn how to get started with GenAppC and perform the analysis of the GenAppC scanned results.

GenAppC is a COBOL application that is taken from "General Insurance Application" (GenApp). GenApp is an IBM sample application for IBM CICS Transaction Server that simulates transactions that are made by an insurance company to create and manage its customer and insurance policies. For more information, see General Insurance Application.

Prerequisites

  1. Make sure that you have Docker installed and set up. For more information, see Prerequisite: Setting up Docker.
  2. Obtain the repository of the Wazi Analyze image.
Notes: The steps below are based on the following assumptions.
  1. You are deploying the Wazi Analyze container from Wazi Analyze image.
  2. You are using Docker Desktop for Windows or Mac.
If you are deploying Wazi Analyze from Docker registry or using Linux machine, see Deploying the Wazi Analyze Docker container.

Procedures

To perform the impact analysis of GenAppC, complete the following steps:
  1. Run CMD to open a command prompt window or open Mac terminal from your machine.
  2. Run the following command to load Waiz Analyze image into Docker.
    docker load --input <wazi-analyze-archive-file-name.tar.gz>
    Replace <wazi-analyze-archive-file-name.tar.gz> with the name of Wazi Analyze archive file that you obtained.
  3. Go to Docker Desktop and select Images on the left menu. You can see that the image is loaded into Docker.
    Figure shows the image list on the Docker Desktop.
  4. Start a Wazi Analyze container by running the following command.
    docker run -it -p 5000:5000 --name WA ibmcom/wazianalyze:1.3.0
  5. Go to Docker Desktop and select Containers/Apps on the left menu. You can see that the Wazi Analyze container named WA is running on port 5000.
    Figure shows the Wazi Analyze container named WA.
    Wazi Analyze reserves port 5000 for the web interface.
  6. On the terminal, run the following command to start Wazi Analyze servers.
    wa-startup.sh
    When servers are started up, you will see the following messages.
    Figure shows the message that is showed after the Wazi Analyze servers are started.
  7. When the command line prompts for your password input, enter wa1234 as a password.
    Figure shows the command line after you enter a password.
  8. Launch your browser and navigate to https://localhost:5000/explore.
    Note: Wazi Analyze uses https protocol to communicate between browser and servers. Out of the box, a self-signed certificate is provided. You need to accept the risk of the unknown certificate and proceed. On your production environment, you should consider generating your verified certificate. For more information, see Security considerations.
  9. On the Log in dialog box, enter wa1234 in the Password field.
    Figure shows the Login page of Wazi Analyze and the dialog box to request a password.
  10. Select GenAppC project from the Projects list to view GenAppC project.
  11. Type LGI on the Search box to search for a program that you want to view the program call references.
    Figure shows the Search box.
  12. Type LGI*01 on the Search box.

    You can use a wildcard symbol to search. ‘*’ is replaced by any one or more characters. The results show programs that start with LGI and end with 01.

    You can also use ‘?’ in the search string. ‘?’ is replaced by any one character.

    Figure shows the search result of "LGI*01".
  13. Select LGICDB01 from the list. A program call graph appears.
    Figure shows the call graph of LGICDB01 program.
  14. Select the LGICDB01 node to display the Properties pane that shows detailed information for the LGICDB01 program. You can see the information such as type, source type, incoming references, and outgoing references with the type of references and all included files.
    Figure shows the Properties pane for program LGICDB01.
    You can see that LGICDB01 is a COBOL program. LGICDB01 has one incoming reference of type ProgramCall from program LGICUS01 and one outgoing reference of type ProgramCall to program LGSTSQ. It also includes seven copybook files.
  15. Click the + icon next to the Relationship depth field to increase the number of relationship depth to 2. An additional node is displayed on the graph.
    Figure shows the Relationship depth field.
    Figure show the LGTESTC1 as additional node is calling LGICUS01.
    You can notice LGTESTC1 as an additional node that is calling LGICUS01.
  16. Hover over the relationship line between LGICDB01 and LGSTSQ to see the type of the relationship.
    Figure shows the relationship line between LGICDB01 and LGSTSQ.
  17. Select the Options menu icon ( ) on the top right of LGICDB01 node and select View source file references to display the relationship between source files of selected node.
    Figure shows the View source file references menu.
    Source file references are displayed on a new tab. You can see that LGICDB01.CBL refers to the following seven copybook files.
    Figure shows 7 copybook files of LGICDB01.CBL.
  18. Select LGPOLICY.CPY node to open the Properties pane of LGPOLICY.CPY.
    Figure shows the Properties pane of LGPOLICY.CPY.
    You can see that only one file is included by LGPOLICY.CPY.
  19. Click the Close (X) icon on the Properties pane to close it.
  20. Select the Options menu icon ( ) on the upper right of LGPOLICY.CPY and select View source file references.
    Figure shows the COBOL file LGPOLICY.CPY.
    Source file references of LGPOLICY.CPY are displayed on a new tab. Now you can see all the files that refer to LGPOLICY.CPY.
    Figure shows all the files that refer to LGPOLICY.CPY.
  21. Select the Table view icon ( ) on the upper right header to change the graph view to table view. The same information is displayed on table format.
    Figure shows the table view.
  22. Select the History icon (Figure shows the History icon. ) to see the graph that you previously viewed.
  23. Select LGICDB01 (depth = 2) view from the list of history views to view LGICDB01 program call references.
    Figure shows the History view.
  24. Click the Close (X) icon on the History pane to close it.
    You can now see the LGICDB01 program call references in table format.
    Figure shows the Table view.
  25. Select the Graph view icon (Figure shows the Graph view icon.) on the top right header to change the table view to graph view.

  26. Select the Export icon (Figure shows the Export icon.) to export the graph that is displayed.
  27. Select PDF from the Export Format field and keep the File name as default.
  28. Specify LGPOLICY_source_ref as the file name.
    Figure shows the Export table view to file dialog box.
  29. Click Save to save the file.
  30. Select Open option to open the PDF on your browser. For Firefox, select Open with Firefox option. You can select Save File option to save the file to your local machine as well.
    Figure shows the options that you can choose what to do with the PDF file.
    PDF file opens in a new window.
    Figure shows the JSON file that is opened in your Firefox.
You have explored how to deploy the Wazi Analyze container on Docker and bring up the UI to view impact analysis of GenAppC.