Configuration Management

Moving Configuration between Environments

12 April 2018

Ouvvi and Data Synchronisation Studio have a number of features to help you move configuration between environments, whether this is DEV, UAT and PROD or between customers.

Using these configuration management features allow you to manage a larger number of integration projects and follow a typical DEV->UAT->PROD pipleine.

User Settings

These are user defined variables in Ouvvi which can be used in Ouvvi Step configuration or passed to a Data Sync project via Project Properties. These are typically defined as {{SettingName}} values in Ouvvi projects. When steps run these are evaluated at runtime and therefore change the configuration based on the environment.

Setup your User Settings

User Settings

Use User Settings in Step Configuration

Step User Setting

Defining Project Properties in Data Sync project files will ensure that at runtime these values come from the Ouvvi Instance where a user Setting of the same name is defined.

Connection Library

The Connection Library holds the Endpoint and Credential details for Data Sync datasource connections. By using the same name for the connection library connection when you move projects between environments they automatically pick up the connection details for the Environment in which their running.

Connection Library

Connections can be created and updated directly in Ouvvi to make it easy to change the endpoint configuration for all Data Sync projects that use the same connection.

Connection Library SQL Server

Import and Export

Ouvvi Import and Export allows you to export a number of Projects and their Steps and then import them into a another Environment. The Import/Export file is an XML document which contains the Project and Step Metadata and the Step(s) configuration data.

Ouvvi Project Export

The generated OPR file is simply an XML document which you can store in your Source Control System for backup and/or project management purposes.

<Projects version="4.0">
  <Project>
    <Index>16</Index>
    <Group>SSIS</Group>
    <Name>SSIS API</Name>
    <StartMode>1</StartMode>
    <Status>0</Status>
    <Created>2018-04-12 09:36:09.863Z</Created>
    <CreatedBy>INTERNAL\sean</CreatedBy>
    <Enabled>True</Enabled>
    <Steps>
      <Step>
        <Index>1</Index>
        <Name>Products</Name>
        <Status>0</Status>
        <Type>Simego.Console.Handlers.SqlSsisV2StepHandler, Simego.Console.Handlers</Type>
        <RunCondition>1</RunCondition>
        <ConfigurationData>
          <Command SQLConnectionString="{{SQLSSISServerConnectionString}}" FolderName="Test" ProjectName="CSVToProducts" PackageName="Package.dtsx">
            <Parameters>
              <Parameter Name="LOGGING_LEVEL" Type="System" DataType="Int16">1</Parameter>
              <Parameter Name="SourceFileName" Type="Parameter" DataType="String">{{CONTEXT}}</Parameter>
              <Parameter Name="CM.SQL02.Northwind.ConnectionString" Type="Parameter" DataType="String">{{SQL02.Northwind2}}</Parameter>
            </Parameters>
          </Command>
        </ConfigurationData>
        <RetryCount>0</RetryCount>
        <SaveQueueFailure>False</SaveQueueFailure>
        <Enabled>True</Enabled>
        <Created>2018-04-12 09:36:49.623Z</Created>
        <CreatedBy>INTERNAL\sean</CreatedBy>
      </Step>
    </Steps>
    <Triggers />
  </Project>
</Projects>

As of Ouvvi V4 the Step configuration is an XML Fragment under the ConfigurationData element this ensures the XML document is easy to read or create manually.

<ConfigurationData>
    <Command SQLConnectionString="{{SQLSSISServerConnectionString}}" FolderName="Test" ProjectName="CSVToProducts" PackageName="Package.dtsx">
    <Parameters>
        <Parameter Name="LOGGING_LEVEL" Type="System" DataType="Int16">1</Parameter>
        <Parameter Name="SourceFileName" Type="Parameter" DataType="String">{{CONTEXT}}</Parameter>
        <Parameter Name="CM.SQL02.Northwind.ConnectionString" Type="Parameter" DataType="String">{{SQL02.Northwind2}}</Parameter>
    </Parameters>
    </Command>
</ConfigurationData>

The Export file can then be imported into a different environment. As of Ouvvi V4 the projects are merged by project and step name i.e. if the Project already exists it is updated rather than deleted and re-created. This means history is preserved and any project configuration like triggers and execution context remain unchanged.

Ouvvi Project Import

Questions?

If have any questions then send us a message to support@simego.com. We love to hear feedback from our customers and will keep striving to add more functionality to our software.

| |