Qorus Integration Engine®  4.0.3.p2_git
Introduction

This document describes how to develop workflows, services, and jobs using the Qorus Integration Engine system.

This manual should be used in conjunction with the Qore Programming Language Reference Manual, as all programming in the system is performed using the Qore Programming Language. The documentation for the version of Qore that this version of Qorus is based on can be found here.

Embedded Qore Programming Language

The concept of using a dynamically-typed language as the primary programming language in business process automation solution, embedded in a rigid framework to provide interface reliability, error recoverability, and operational traceability such as with Qorus Integration Engine, results in extremely fast and flexible development and very high operational reliability. This leads directly to lower development and operational costs and greater business process reliability.

The Qore programming language was designed and implemented specifically to allow Qorus Integration Engine to be developed; Qore provides the critical enabling infrastructure that allows Qorus to support features such as: live upgrades without service interruption, efficient resource sharing, excellent SMP scalability, fine-grained multithreading, and much more. Additionally, Qore was designed to provide a powerful platform for enterprise-class interface development with a dynamically-typed language, aiming to provide maximum flexibility from the programming language while the Qorus Integration Engine operative framework provides the structure, control, and compartmentalization needed to allow services and workflows featuring enhanced error recoverability to be developed in a collaborative, modular, and iterative fashion.

All Qore language functions, classes, operators, expressions, and statements are available to Qorus logic except those that could compromise system integrity (such as some process-control and thread-control functions). For more information on this subject, please see Workflow API Reference and Service API Reference.

With the correct high-level design, using the simple and powerful Qorus API, and by creating the necessary user services, reliable and flexible Qorus workflows can be developed with minimum effort and in short periods of time even by programmers that have no prior expertise in deploying business process automation solutions.

Recoverability by Design

As with any development project, it is important to get the design right with Qorus workflows. Qorus workflows should always target comprehensive error recoverability, so that the workflow can complete successfully even in the case of unforeseen errors. See Error Recoverability for more information about this topic.

Further in this manual the details for defining Workflow Definition File workflow metadata and Workflow Steps step logic and for defining Qorus services will be described.

Qorus Integration Engine was designed to produce automated release packages for user code. By using the make-release script, Qorus programmers create release packages with minimal effort, so the subsequent installation is as easy as uncompressing an archive and running the automatically-generated install.sh script. See make-release and oload for descriptions of the Qorus release tools and creating automated release packages.