Integrate FireFlow via a CMS's Web Service

FireFlow can be integrated with a CMS via the CMS's Web service. A Web service is an API that can be accessed and executed over the network, thus allowing FireFlow to perform remote operations on the CMS. Supported operations are described in XML format in the Web service's WSDL (Web Services Description Language) file, and FireFlow refers to this file when performing operations on the CMS.

Supported operations

FireFlow uses the Web service to perform the following operations:

Creating a change request

When a requestor opens a change request in FireFlow, FireFlow uses the Web service to create a new change request in the CMS.

Updating a change request's status

At certain stages during the FireFlow change request lifecycle (for example, Approve and Resolve), FireFlow uses the Web service to change the change request's status in the CMS.

If you are not sure whether your CMS includes a Web service and a WSDL file, or if you need other assistance in integrating FireFlow with a Web service, contact AlgoSec Professional Services.

Web service integration process

Do the following:

  1. Determine the full URL to the Web service's WSDL file.
  2. Create a new directory under /usr/share/fireflow/local/WebServiceClient, and name it after the Web service.
  3. Use the following command to create Perl classes from the WSDL file:

    wsdl2perl.pl -b /usr/share/fireflow/local/WebServiceClient/WebServiceName/ -p WebServiceNameWsdlUrl

    Where:

    • WebServiceName is the name of the Web service, and
    • WsdlUrl is the full URL to the Web service's WSDL file.

    New directories are created under /usr/share/fireflow/local/WebServiceClient/WebServiceName/. For example: WebServiceNameAttr, WebServiceNameInterfaces, WebServiceNameTypes, and so on.

  4. Use the examples located under /usr/share/fireflow/local/WebServiceClient/ to write a Perl class that inherits from WebServices::Base and implements the following sub-routines:
    • getSOAPModule
    • getServerActionsForStatus
    • BuildParamsHashForAction
    • handleResponseHASH
  5. Configure FireFlow to use a Web service. For details, see Configure FireFlow to use a web service.

Configure FireFlow to use a web service

Do the following:

  1. Set the configuration parameter WebServicesModule to the name of the Perl class you created. For details, see Override FireFlow system defaults.

  2. If the Web service requires authentication, do the following:

    • Add the configuration parameter WebServicesUsername and set it to the user name to use when authenticating to the Web service.
    • Add the configuration parameter WebServicesPasswordEncrypted and set it to the password to use when authenticating to the Web service.
  3. In the main menu, click Advanced Configuration.

  4. Click Global.

  5. Click Scrips.

  6. Click the Show Disabled link at the top right.
  7. Click 320 On Non Sub Ticket Create Notify WebService.
  8. In the Stage drop-down list, select TransactionBatch.
  9. Click Update.
  10. Click 225 On Non Sub Ticket Status Change Notify WebService.
  11. In the Stage drop-down list, select TransactionCreate.
  12. Click Update.