How to move services between environments for DevOps.

You can move your service artifacts between environments such as Development, Test, and Production without changing the service archive (.sar) configuration files. This is an important consideration when you choose connection names for your Systems of Record (SoRs).

The attributes of a service are stored in the service archive file. Environment attributes are specified in the server.xml configuration file. This means that service artifacts can be moved from one environment to another without the need to regenerate the service. The service uses connection by reference, so if you have three environments, development, test, and production, you define a connection reference with the same ID in each environment. The connection reference defines the connection to the system of record for that environment. The service artifact is configured to use the ID of the connection reference. Because the ID is the same in each environment, the service artifact can be moved without regeneration from one environment to another even though each environment uses a different system of record.

For example, you have a set of mortgage services that targets various programs in a mortgage application. When you create a service, you specify the connection reference as MortgageSys. This defines a connection reference for the service to the connection element with ID MortgageSys in the server.xml configuration file of the IBM® z/OS® Connect server in that environment. The MortgageSys connection element defines the connection to the system of record where the Mortgages application resides.
Diagram shows a service archive file that can be used in Development, Test and Production configurations without the need to rebuild.

Development: "MortgageSys" defines a connection to DEV_SYS
Test: "MortgageSys" defines a connection to RETAIL_TEST_SYS
Production: "MortgageSys" defines a connection to MORTGAGE_PROD_SYS
If you add two more sets of services, one for Loans programs and another for Investments, you might use the connection references LoansSys and InvestSys respectively. The configuration in each server is then expanded to:

  "MortgageSys" -> DEV_SYS
  "LoansSys" -> DEV_SYS
  "InvestSys" -> DEV_SYS
  "MortgageSys" -> RETAIL_TEST_SYS
  "LoansSys" -> RETAIL_TEST_SYS
  "MortgageSys" -> MORTGAGE_PROD_SYS
  "LoansSys" -> LOANS_PROD_SYS

In this configuration, all the services can move unchanged through the Development, Test, and Production environments because the same connection IDs are used in each environment to represent the logical endpoints. You might also connect all the services to the same system of record in Development, and in separate systems of record in Production.