Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

15.5 Builds upon the 15.1 branch and includes many improvements, fixes, and new features. If you are upgrading from a pre-15.1 environment, please have a look at the changes made in 15.1.

In the past few years (2019 onwards), we have seen a push towards cloud computing and automation. Many of the updates in this branch address issues relating to the management of very large instances/clusters. The Integrator framework has evolved from hosting a small number (<10) channels to replacing on-premise Connexion instances with hundreds of channels (and has a significantly re-worked UI).

There are also many improvements which will also benefit smaller Connexion/Integrator deployments. As always, we welcome your feedback on these features and updates.

Connexion & Gateway API

We have built a preliminary API for both Connexion and Gateway environments. Currently, these APIs are geared towards the querying and creation of the main components of each environment (Groups, Tabs, Channels, Devices, Remote Agents). We will be evolving these APIs based on feedback.

Connexion API

Gateway API

Since we are actively evolving these APIs, the easiest way to discover what is currently available is to download the sample projects (at the end of the above linked pages) and browse the methods. There are 3 assemblies (with associated nuget packages):

Connexion.Gateway.Api.dll - Core APIs for the Integrator platform.

Connexion.Api.dll - Core APIs for the Connexion platform.

Connexion.Api.Orchestration.dll - Helpers for common tasks on both platforms, as well as the ability to create routes between Connexion and Remote Agents.

Batch Processing

The default queue modes process messages one-at-a-time and in the order of receipt. In 15.0, the ‘Multi-threaded’ mode was added to allow parallel processing of messages. This mode exposed the ability to group message pulled from the queue and then process those groups of messages in parallel. For example, X HL7v2 messages could be pulled from the queue, grouped by patient, and then those groups processed in parallel.

While useful, ‘multi-threaded’ mode required a number of conditions to be met and was somewhat cumbersome to implement. We no longer recommend multi-threaded mode for new implementations.

Batch processing uses a new interface and function to allow the processing of a batch of messages. A collection of messages is passed to the device, and the implementer can decide on how best to deal with them. In some cases you may want to pass the entire collection of messages in a single call (for example, a web service that takes an array of messages), or, you may want to process the messages individually in parallel.

Please note that threading / asynchronous programming requires care! Read more about batch processing.

  • No labels