In this article

You can find below the major changes and improvements of the Stambia DI Runtime 2020 (S20.4.x) version.

This article only highlights the most important changes.

If you need further information, please consult the full changelog and/or reference documentation.

 

Prerequisites

Migration from S17

Stambia DI Runtime 2020 (S20) major version changes some important part of the software which require your attention.

Migrating from Stambia DI Designer S17, S18 or S19 require to follow the migration guide, which can be found in the following article.

If you are simply updating from another Stambia DI Runtime 2020 (S20) version, simply follow the minor version upgrade guide, as usual.

 

What's new in Stambia DI Runtime 2021 (S20.4.3)?

Bug fix

This version fixes an issue on Runtime Session Logs can display sessions with an incorrect status in other tools until the end of the session.

Complete changelog can be found here.

 

What's new in Stambia DI Runtime 2021 (S20.4.2)?

  • We have disabled the download of this version because a regression was found inside.
  • Please use next S20.4.3 (or higher) version fixing it.

 

Stambia DI Components Updated (20.4.2)

You can find in this section the list of Components which have been updated in Runtime 20.4.2

Note that this lists only the Components shipped within a default Designer.

Components name Update Description Components release notes
Base Component Some improvements and fixed issues about Property fields. Release notes

 

Property Fields:

Property "nodeUUID"

The new Property Field named "nodeUUID" has been added for XML and JSON Metadata.

nodeUUID

This Property Field returns an UUID on each node to be able to have a unique generated identifier available for each node when reading XML/JSON data.

 

Property "nodeAbsolutePosition"

The new Property Field named "nodeAbsolutePosition" has been added for XML and JSON Metadata.

nodeAbsolutePotision

This Property Field returns a number being incremented on each node.

For instance:

<parent>                    => nodeAbsolutePosition would return 1
    <child></child>         => nodeAbsolutePosition would return 2
    <child></child>         => nodeAbsolutePosition would return 3
</parent>
<parent>                    => nodeAbsolutePosition would return 4
    <child></child>         => nodeAbsolutePosition would return 5
    <child></child>         => nodeAbsolutePosition would return 6
</parent>

 

Have a look at these articles for further information: Using XML Property Fields article and Using JSON Property Fields article.

 

What's new in Stambia DI Runtime 2021 (S20.4.1)?

  • We have disabled the download of this version because a regression was found inside.
  • Please use next S20.4.3 (or higher) version fixing it.

 

Runtime Logs Database

By default, when a session is executed, all the session logs are logged synchronously on the log database.

Which means that the session which is being executed is waiting for the logs to be successfully logged before continuing.

For example, an action starts to be executed, the information about that are logged, then when they are logged, the execution continue to the next action, etc...

This allows to always have up to date information in log database and to follow the executions directly.

But this can cause performance issues because the logging can take time.

We have created an option to allow the logging of session logs to be asynchronous, which means that the logs will be logged asynchronously and the session will run without waiting for the logs to complete.

Attribute in Runtime configuration file

This new behaviour can be defined from Runtime configuration file, through a new attribute on the node.

This new attribute is named “synchMode“, it accepts three values: “synch”, “asynch”, “synchFirstLog”.

Default value when the attribute is not defined is “synch” for compatibility purposes.

Example on H2 Log Database:

<Logs>
<log userLogName="logDatabase" autoUpdate="true"userLogClass="com.indy.engine.userLog.RdbmsUserLog"synchMode="synch">
<... >
<Logs>

 

Possible values for the parameters:

  • synch: session logs are synchronous, while being executing, a session will log synchronously all its session logs. This is the default mode used.
  • asynch: while being executing, a session will log asynchronously all its session logs, the session will continue to be executed without waiting for the information to be logged in database.
  • synchFirstLog:this mode is therefore a mix between the synch and asynch mode. The first log of the session will be synchronous, to be sure that at least one log has worked and that the log database is available, then the following logs will all be asynchronous.

 

HTTP Header Parameter

The default synchMode defined on the Runtime Configuration file can be overriden at execution when invoking stambia web services.

This will be done by sending, alongside with the web service request, an HTTP Header with the mode to be used.

This http header is named X-synchLogMode and it accepts the same three values: “synch”, “asynch”, “synchFirstLog”.

Default value when this http header is not defined is the value of the Runtime configuration file.

 

New log parameter in database configuration:

A new log parameter named "userLogRdbmsConnectionEnableRetry" has been added to allow the possibility to disable the mechanism to retry connection on database.

If value is set to "false" then the retry and connection on database will not be performed.

If value is set to "true" then the retry and connection on database will be performed when a failure is detected.

<Logs>
<parameter name="userLogRdbmsConnectionEnableRetry" value="true"/>
<Logs>

Default value of this parameter is "true", and when not specified, it is also "true".

Moreover, Performances have been improved for this mechanism.

 

Security with IP Address on HTTP Connection

In the EngineParameters.xml configuration file, it is possible to set security on the IP address.

The mechanism was already working with RMI communication but not with HTTP.

Now filtering is also applied for HTTP communications.

The IP address must be defined, on the server in the runtime editor or on the host in the runtime metadata.

For example in the EngineParameters.xm file:

<Security>
<user anonymous="true" roles="Connect View"/>
<user name="admin" uncryptedPassword="admin" roles="Admin"/>
<user name="developer" uncryptedPassword="developer" roles="Connect View Execute"/>
<user name="consult" uncryptedPassword="consult" roles="Connect View"/>
<allow address="192.168.75.140"/>
</security>

In the Designer:

Runtimehttp01

 

Execute delivery command

A new option named "mode" has been added for executing delivery.

Two values are available for this new option: "memory" and "standalone".

Mode values Description
memory mode memory mode starts the delivery in the current runtime, in memory (as before)
standalone mode standalone mode starts the delivery aside of the runtime

The option "mode" is not mandatory and if it is not defined, then the "memory" mode is used, for compatibility purposes.

Syntax: execute delivery <delivery> [mode <memory | standalone>] 

In designer, the displayed execution mode is "Autonomous" for delivery executed from standalone mode and "memory" for delivery executed from memory mode:

execute delivery mode

 

File Driver

Added support having delimiters around the column name (double quotes) in queries.

The default behavior for file driver queries is to have no delimiters around column names.

It is therefore impossible to manage columns with reserved names.

Now, it's possible to add double quotes around a column now allows you to manage these cases.

Example with a column named "Select":

FileDriver

 

What's new in Stambia DI Runtime 2021 (S20.4.0)?

  • We have disabled the download of this version because a regression was found inside.
  • Please use next S20.4.3 (or higher) version fixing it.

 

Actions improvements

SQL File Export Process Action

A new value had been added to the "generate header" parameter.

Refer to this article for futher information.

 

SCP Actions

The SCP Actions require sometime additional properties to connect. A new parameter named "SSH Additional Connection Properties" has been added to define them.

Refer to this article for further information.

 

Concate Files Action

Sometimes, we have several files, located in different folders, as input, without a mask, to concate.

Until now it was only possible to have a mask as input for the Concat Files action.

It is now possible to define several masks in the "IN_FILE_MASK" parameter, separated by a pipe.

concate01

 

Runtime Session Logs

No log Database

Runtime Session has been updated to support having no log database.

Even if no log database is defined in the Runtime then the runtime still works: successfully started, connected and executed.

The runtime return an empty list when asking the list of sessions.

 

Session Logger

Addition of a dedicated and structured session recorder in the stambia/stambiaRuntime/properties/log4j.xml.

4 new log4j loggers, each related to the following events have been added : Session Start, Session End, Action Start and Action End.

Refer to this article for more information.

 

Other improvements

Encrypt command

In Runtime we can use the “passwordCipheringKeyName” parameter to define a custom key for password encryption in the Runtime. This changes the key used to encrypt and decrypt the passwords for everything in the runtime.

We have added the ability to define which key should be used to encrypt with the "encrypt" command.

In the engineParameters.xml, the ciphering key and the keystore must be set.

<!--
==============================
Password Ciphering
==============================
--> <parameters>
<...>
<parameter name="globalPasswordCipheringKeyName" value="keystore_name"/>
<...>
</parameters>
<...>
<!--
==============================
Keystores
==============================
-->
<keystore>
<keystore path="path_to_keystore_file" password="keystore_password" type="JKS"/>
<key name="keystore_name" alias="key_alias_in_keystore" password="keystore_password""/>
</keystore>

 

Syntax : encrypt <PASSWORD_TO_ENCRYPT> cipheringKey <KEYSTORE_NAME>

ciphering01

 

Web Services Publication: Open API 3 definition.

Definition of the web services published by stambia was in swagger 2, in addition to this definition, we also propose an Open API 3 definition of the published web services.

runtime openapi

Open API reverse is also proposed in HTTP Rest Metadata. To use this open API 3 definition in reverse, you can perform it directly from stambia, from the 2.0.1 version of the Http rest component. Have a look at the Http rest release notes for further information.

 

Runtime cluster

We added the ability to schedule a delivery to the Runtime client cluster by specifying the cluster alias as the hostname.

schedule delivery My_Deliv on host cluster cron "0 15 10 * * ? *"

 

For further information about Runtime cluster, refer to this article.

 

Runtime Session Logs

No log Database

Runtime Session has been updated to support having no log database.

Even if no log database is defined in the Runtime then the runtime still works: successfully started, connected and executed.

The runtime return an empty list when asking the list of sessions.

 

Session Logger

Addition of a dedicated and structured session recorder in the stambia/stambiaRuntime/properties/log4j.xml.

4 new log4j loggers, each related to the following events have been added : Session Start, Session End, Action Start and Action End.

Refer to this article for more information.

 

Bug fixes

This version fixes a list of issues which can be found on the full changelog.

Do not hesitate to take a look at it to have an idea of what have changed.