Scenario execution, cycles, and phases

Boost.space Integrator is a transactional system, similar to relational databases. Each scenario execution starts with the initialization phase, continues with at least one cycle composed of the operation and commit/rollback phases, and ends with the finalization phase:

  1. initialization
  2. cycle #1
    1. operation (reading or writing)
    2. commit or rollback
  3. cycle #2
    1. operation (reading or writing)
    2. commit or rollback
  4. cycle #N
    1. operation (reading or writing)
    2. commit or rollback
  5. finalization
[Caution] Caution
Maximum  scenario execution time should not exceed 40 minutes for hosted version and 60 minutes for a private instance.

Initialization

During the initialization phase, all necessary connections (connection to a database, email service, etc.) are created. They are also checked if each module is capable of performing their intended operation(s).

Cycles

Each cycle represents an undividable unit of work composed of a series of operations. It is possible to set the maximum number of cycles in the scenario settings. The default number is 1.

Operation

During the operation phase reading and/or writing operation is performed:

  • The reading operation consists of obtaining data from a service that will then be processed by other modules according to a predefined scenario. E.g. the Dropbox > Watch files module returns new bundles (files) created since the last scenario execution.
  • The writing operation consists of sending data to a given service for further processing. E.g. the Dropbox > Upload a file module uploads a file to a Dropbox folder.

Commit

If the operation phase is successful for all modules, the commit phase begins during which all operations performed by the modules are committed. This means that Boost.space Integrator sends information to all the services involved in the operation phase about its success.

Rollback

If an error occurs during the operation or commit phase on any module, the phase is aborted and the rollback phase is started, making all operations during the given cycle void. Some modules do not support rollback and operations performed by these modules cannot be taken back. For more information see the ACID modules section.

Finalization

During the finalization phase, open connections (e.g. FTP connections, database connections, etc.) are closed and the scenario is completed.

ACID modules

The modules that support rollback (transactional modules) are tagged with the ACID tag:

Scenario_execution_cycles_phases_1.png

The modules not tagged with this tag do not support rollback and cannot be reverted back to their initial state in case of an error in other modules.

A typical example is the Email Send an email module. Once the module sends an email during its operation phase, the sending cannot be undone.