An Environment Instance, as its name suggests, is simply an association between one environment and one instance. An Environment Instance is created by either associating an Instance to an Environment on the Edit/Create Environment Wizard, or associating an Environment to an Instance on the Edit/Create Instance Wizard. Endpoints and properties values are mapped to those Environment Instance pairs.
Each Instance likely has a development environment, a production environment, and at least one testing environment. The association of Environments to Instances defines a matrix. Endpoint association and properties are defined at each intersection.
This table depicts four Environments identified as rows, and two Instances which are identified as columns. Each Environment Instance combination defines which Endpoint(s) host the Instance for that Environment, and the Environment-specific properties which are required to communicate to the underlying technology. Note that the SOA2 Instance in the DEV and SIT Environments do not have any Endpoints or configuration properties defined because SOA2 is not associated with those Environments.
SOA1 | SOA2 | |
---|---|---|
DEV | Endpoint(s) | N/A |
SIT | Endpoint (s) | Endpoint (s ) |
UAT | Endpoint (s) | N/A |
PROD | Endpoint (s) | Endpoint (s) |
The image below depicts the Environment Instances for SOA2. In this case, the FlexDeploy SOA Plugin's soaDeploy operation was associated to the SOA2 instance. The soaDeploy operation defines several Environment-Instance-scoped properties that must be defined for the operation to succeed.
Instances are flexible enogh to allow FlexDeploy to adapt to a variety of technologies and platforms. In Oracle Data Integrator, for example, an Instance is most likely one to one with a single installation, spanning all Environments (e.g. DEV, SIT, UAT, and PROD). In the case of Oracle WebLogic, a single installation is partitioned into one or more domains. So for WebLogic it makes more sense to map an Instance to each WebLogic domain, since each domain will require different property configuration to communicate with its servers.
Notice that in the table below the wls_customer and wls_order Instances (domains) share the same host/Endpoint in the DEV and SIT Environments, but only share some of the same hosts/Endpoint in the UAT and PROD Environments. Mapping the Instances to the WLS domains allows the flexibility to match the Endpoint and properties to your exact Topology.
wls_customer | wls_order | |
---|---|---|
DEV | Endpoints | Endpoints |
SIT | Endpoints | Endpoints |
UAT | Endpoints | Endpoints |
PROD | Endpoints | Endpoints |
Viewing Environment Instances
To view the Environment Instances that have been established select Topology -> Environment Instances from the menu.
Associating Endpoints to Environment Instances
Each Environment Instance has an Endpoints column, which indicates the number of Endpoints that are associated to it. Click on the number in the Endpoints column to add or remove endpoints from the Environment Instance.
To associate an Endpoint to the Environment Instance, shuttle one or more Endpoints from the left over to Selected Endpoints by selecting an endpoint and clicking the Add button. The list of available Endpoints on the left can be filtered by entering all or part of the name or port into the Filter field and clicking the Search button. By default, only Endpoints which are active are available for association.
Once an Endpoint has been shuttled to Selected Endpoints optional Resource Types can be assigned. The Resource Types indicates what type of resources the Endpoint contains, which helps in determining which Endpoints should be selected to perform particular plugin executions. For example, the Weblogic plugin has Resource Types of WLS Admin Server, WLS Managed Server, and WLS Node Manager. Selecting the Resource Type(s) for each Endpoint tells FlexDeploy a little bit more about the Topology and enables it to direct work appropriately (e.g. to the Weblogic Admin Server vs. one of its Managed Servers).
To disassociate an Endpoint from the Environment Instance, shuttle one or more Endpoints from Selected Endpoints back over to the left by selecting an endpoint and clicking the Remove Button.
Click the Save button to save the changes, and then click the Back button to return to the previous screen.
Updating Environment Instance Properties
Each Environment Instance also has a Properties column which summarizes the required properties that are associated to it. The first number indicates the number of properties which have been assigned values. The second number identifies the total number of required properties associated to that Environment Instance. If the two numbers are not equal it means that additional configuration is required for that Environment Instance. Click on the link in the Properties column to provide the ability to update properties associated to the Environment Instance.
The properties are linked to the Environment Instance because workflows or plugin operations associated to the Instance have Environment-Instance-scoped properties defined. These Environment-Instance-scoped properties must have values defined for every Environment to which that Instance is mapped. This provides, for example, the ability to define unique Weblogic Admin Server host and port for each Environment Instance.
See Properties chapter for more details.