Protocol extension structure

Before organizing your extension, note the restrictions and guidelines provided in this topic.

Restrictions

The following restrictions apply to plug-ins:

  • The execution portion of the plug-in must be deployed to an agent. You cannot assume that the Software Development Workbench is available.
  • The execution portion of the plug-in code cannot depend on any workbench code.
  • The execution portion of the code cannot depend on the workspace because none is available on the agent.

For best results, minimize the amount of code that is deployed to the agent for execution.

Guidelines for naming plug-ins

Most base Test Performance plug-ins follow this naming convention:

<prefix>.<component>[.subcomponent].<protocol>

where:

  • prefix: The prefix com.ibm.rational.test.lt is used for all load-test-specific Test Performance plug-ins.
  • component: One of the extension components:testgen, datacorrelation, testeditor, codegen, execution, or models.
  • subcomponent: Some plug-ins contain subcomponents (for example, execution.ui contains the UI portion of execution), or they might have separate code based on their use in a different component (for example, datacorrelation.testgen and datacorrelation.execution).
  • protocol: For example, http, or sap. (Some plug-ins use core for the base plug-in.)

Using these conventions, the extension can have the following plug-ins:

  • com.ibm.rational.test.lt.recorder.protocol
  • com.ibm.rational.test.lt.testgen.protocol
  • com.ibm.rational.test.lt.models.protocol
  • com.ibm.rational.test.lt.testeditor.protocol
  • com.ibm.rational.test.lt.sdksamples.datacorrelation.testgen.protocol
  • com.ibm.rational.test.lt.sdksamples.datacorrelation.execution.protocol
  • com.ibm.rational.test.lt.codegen.protocol
  • com.ibm.rational.test.lt.execution.protocol
  • com.ibm.rational.test.lt.execution.results.protocol

Alternatively, you can divide the code into two plug-ins, one for the workbench and one for execution. This has the advantage of deploying fewer plug-ins.

Using this method, you would have the following two plug-ins:

  • com.ibm.rational.test.lt.protocol
  • com.ibm.rational.test.lt.protocol.execution

Within these plug-ins, you can either arrange the components in one of two ways:

  • As separate source folders
  • As separate packages within a single source folder