Before users can select different component states while creating/provisioning environments, the available states need to be defined as component instances.
An instance describes a particular state that the component can be set to (in terms of proxies, virtual assets, data source usage, performance profiles, etc.). An instance can determine:
- What message proxy is used—and with what settings (e.g., whether it records traffic, directs traffic to a real asset, directs traffic to a virtual asset).
- What JDBC controller is used—and with what mode (e.g., virtualize, record, passthrough, etc.) and what logging.
- Which virtual asset is deployed—and with what settings (data sets, performance profiles, etc.).
- Which test scenarios are used to check the health of this component.
- Which real endpoints are checked in determining online or offline status.
- Which provisioning action is performed (e.g., to configure a real endpoint in a certain manner, etc.).
You can define any number of instances for each component. For instance, you might want a test environment to have the option of provisioning an actual database as well as three different virtualized databases—each of which uses a different data set. Or, you might want to make available several different versions of a virtualized partner service—each of which follows a different performance profile.
Developers and testers can then specify the different combinations of component instances that they want to provision for a particular test environment. When an environment is provisioned, the involved components are set to the selected state.
If a component can be accessed via an HTTP, JMS, or MQ endpoint, you can configure a "real" component instance as well virtual ones. If you define both real and virtual instances of a component, CTP will alert you if the real endpoint is offline. Details on this functionality are provided in Reviewing Out of Sync Virtual Assets. Note that provisioning a real component instance will disable the virtual assets used in the other instances.
The following icons are used to mark specific types of component instances:
|The instance uses a "real" endpoint (not a virtual asset).|
|The instance uses a virtual asset.|
|The instance executes one or more test scenarios and is not associated with a virtual asset or real endpoint.|