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 11 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.

New: 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.

New: 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 batch mode (threading / asynchronous programming) is an advanced feature that requires care! Read more about batch processing.

Example

A device which has support for Batch processing is the Remote Agent Sender device. This device brokers messages between Connexion and Remote Agents. Initial implementations of this device sent one message-at-a-time and therefore had a maximum processing speed capped by the latency of the connection. Even on fast connections, this capped throughput at around 40 messages per second.

To overcome this limit, a custom batching mechanism was implemented which cached the messages into a local file and then periodically sent that batch of messages. This resulted in a 10x throughput improvement but required a fairly complex caching mechanism.

When operating in batch mode, this device receives a collection of messages off the queue and can instantly send this batch without any custom caching mechanism. This mode is slightly faster (than custom caching) with much lower complexity and latency.

New: Message Tracing

In large/complex deployments of Connexion (often including Remote Agents), it can be challenging to determine the path a message followed from origin to destination. ‘Message Tracing’ has been added to 15.5 to simplify this task.

Learn about Message Tracing

Changed: Gateway User Interface Hierarchy

Remote agents are now hosting many more channels and performing more functions that the original UI was designed for. This has surfaced some manageability and performance issues we have decided to change the object hierarchy from Group > Tab > Remote Agent > Channel (15.1) to Group > Remote Agent > Tab > Channel (15.5). This hierarchy provides a more manageable and performant experience for remote agents with many channels, although it does take some getting-used-to.

Learn about the UI changes

Changed: Bandwidth Usage Improvements

The continued feature enhancements to both Connexion and Remote Integrator have necessitated larger and larger data payloads to be transferred between the UIs and servers. This was highlighted at the beginning of the pandemic as people moved to work-from-home over (often) slow vpns. 15.5 brings a significant improvement in load times and overall speed when running over slower network connections. We now page-in data on-demand (where possible) to get you up-and-running more quickly.

New: Gateway Map Dashboard

todo

Updated: User Dashboard

todo

Updated: Integrator Push Updates

todo

New: Centralized Server Connections

todo

New: Delay Queuing

todo

New: Release Message(s) For Processing

todo

New: Kafka Reader/Writer Devices

todo

New: Globals bulk import/export

todo

New: Gateway Nightly Backup

todo

New: Enterprise Dashboard & Reporting

todo

Updated: Connexion Plugin UI

todo

Updated: Queue Query Timezone Logic

todo

New: Remote Agent MongoDb Error State

todo

New: Channel Settings Device & Message Verification

todo

New: Remote Agent Decommissioning

todo

Updated: Alert/Event Purging

todo

Updated: Database Polling Device Set Seed

todo

Updated: Queue Device ‘Copy to Queue’

todo

  • No labels