In order for a component to be used, at least one component instance must be defined. You can define several component instances and use them in instances of your environments. An instance describes a particular state that the component can be set to (in terms of proxies, virtual assets, data source usage, performance profiles, and so forth). An instance can determine:

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:

IconMeaning

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.