A service is a single instance of the Extension Designer that can host multiple flows or artifacts that perform specialized tasks. You can create several services that run across multiple processes, rather than across multiple endpoints. The distribution allows you to scale horizontally to avoid performance issues, as well as group related flows into a single service. For example, Change Based Testing and Risky Code Changes would likely be grouped in a Change Management service. See Important Concepts and Terminology for additional information.
In this section:
Creating a Service Category
Services must belong to a category. The purpose of categories is to keep services organized; they have no effect on the functionality of the service (see Extension Designer Best Practices).
Extension Designer ships with three types of services out of the box:
- Policy Center Practices: This is where artifacts that enable Policy Center practices should be imported and deployed (PC Practices). Policy Center practices include static analysis, unit testing, regression testing, etc. See Policy Center for more information.
- Process Intelligence Engine: This is where you should import and deploy PIE Slice artifacts (Process Intelligence Engine). PIE Slice flows calculate technical debt and risk associated with the application under development.
- DTP Workflows: This is where you should import DTP Workflow artifacts, which trigger processes, extend existing workflows, and connect to third-party systems.
You can also create your own categories:
- Click Add Category and enter a name when prompted.
- Click Confirm to save the category.
Click Delete Category to remove a category from Extension Designer.
You cannot delete a category if it contains services. In addition, the categories shipped with Extension Designer (Process Intelligence Engine, DTP Workflows, and Policy Center Practices) cannot be deleted.
You can rename a category by clicking its name in the editor and making your changes.
Creating Services
- Choose a service category and click Add Service.
- Enter a name when prompted and click Confirm to save the service. You can also switch the category in the Add Service overlay.
To delete a service, click the Delete button and confirm that you want to delete the service when prompted.
Configuring Services
When the service has been created, you can begin creating flows. See Working with Flow.
Debugging Services and Flows
Use the debugging mechanism to verify that data is flowing properly and that nodes are functioning as expected.
- Drag a debug node to your flow and connect it to a node output to capture the information being passed between nodes (see Working with Nodes for additional information about nodes).
- Select the debug node to show related messages in the Debug tab. Issues will be reported in the debug tab.
Reviewing and Saving Log Files
You can access log files for Extension Designer and the database server in the <DTP_ENTERPRISE_PACK_HOME>/logs directory.
Deploying Services
After you've designed your service, click Deploy and choose a deployment option to deploy it to Extension Designer. Deploying services adds them to the <SERVICE_DESIGNER_HOME>/add-ons directory, where they can be copied and implemented in DTP.
If the DTP Enterprise Pack is installed on the same machine under the same user as DTP, clicking Deploy will automatically allow DTP to start working with your services. The DTP_HOME environment variable must also be set to the current DTP installation directory, for example: C:\Program Files\Parasoft\DTP or C:\Parasoft\DTP.
If you edit a node or make other changes to the flow, the Deploy button will be active so that you can push your changes. Changed nodes will also be flagged (see Working with Nodes).
Deploying Multiple Versions of the Same Flow in a Service
You can implement multiple instances of the same flow when in your services, but if your flows contain endpoint nodes, then the UUID must be different. Otherwise, only the first instance of the flow will be read.
Endpoint nodes expose a service endpoint that encapsulates all the functionality necessary to create a full-stack web component. See Working with Nodes for additional information about nodes.
You can manually change the UUID or delete it and re-save the node with an empty UUID field. Saving the empty field will generate a new UUID unique to that instance.
Deploying Artifacts with Custom Processors to a Service
Some Extension Designer artifacts ship with a custom processor, which are services deployed to Development Testing Platform in a JAR file. When you download and install an artifact that contains a custom processor, Artifact Manager attempts to automatically install the custom processor into the correct DTP directory. If Artifact Manager is unable to determine where to install the custom processor, e.g., the Enterprise Pack and DTP are installed on different machines and/or under different users, then you can manually copy the custom processor to the correct location: After installing the artifact, copy the custom processor JAR file from the [DTPSERVICES_HOME]/dtpaddons/[path to JAR] directory to the [DTP_HOME]/grs/processors directory. Also see Integrating with Custom Processors.