General Overview

What Is io.Bridge?

io.Bridge is a distributed server-side app that provides connectivity between the io.Connect platforms (io.Connect Desktop and io.Connect Browser), your interop-enabled apps running on different machines, and third-party apps for which you are using Application Adapters (Microsoft Office apps, Bloomberg, Fidessa, Salesforce, and more).

io.Bridge comes with a configurable embedded io.Connect Gateway which can be used as an alternative deployment option to the embedded io.Connect Gateway that is distributed by default with the io.Connect platforms.

The io.Bridge service can be hosted in a third-party cloud environment (e.g., AWS), in a local cloud (on-premise deployment), and can also be run locally on the user machine.

The cloud-based deployment of io.Bridge is intended for simultaneous multi-user support - i.e., multiple users utilizing a shared instance of io.Bridge. Contextual data isn't shared between the users.

io.Bridge is horizontally scalable in order to be able to handle varying load amounts. This enables io.Bridge to support high-availability deployments. The io.Connect Gateway connections and data traffic are load-balanced in-memory across the io.Bridge cluster. The cluster is composed of multiple io.Bridge node instances. Each node is responsible for managing the connections between the io.Connect Gateways and synchronizing with all other io.Bridge nodes. The cluster can be scaled dynamically based on the load. When new nodes are added to the cluster, the load balancer automatically starts to distribute the load across the new nodes.

Why Use io.Bridge?

io.Bridge is an interoperability solution that can be applied in cases where certain technological or infrastructural limitations exist.

While the io.Connect Desktop platform supports interoperability between web, native, and third-party apps, the web-based io.Connect Browser platform can't by itself provide interoperability support for native apps or third-party that don't have web APIs. You can use the io.Bridge capabilities to surpass this limitation and connect your io.Connect Browser project with your interop-enabled native apps and other third-party apps.

It's not uncommon for enterprise users to have setups on multiple machines. For instance, a trader may be using in-house interop-enabled web and native apps powered by the io.Connect Desktop platform on one machine and one or more third-party trading apps like Bloomberg or Fidessa powered by the respective io.Connect Application Adapter on another machine. In this case, you can deploy io.Bridge to establish an interoperability connection between the io.Connect platform on one machine and the io.Connect Application Adapters on the other.

io.Bridge can also be deployed in the cloud to enable secure and scalable cross-machine interoperability without having to install additional software on the machines of your users. This setup can be used to provide a zero-install experience for io.Connect Browser users if you want to enable interoperability between io.Connect Browser, interop-enabled native apps, and third-party apps powered by the io.Connect Application Adapters.

Architecture

io.Bridge consists of the following components:

  • Gateway Broker - a broker that manages the connections between the io.Connect Gateways;
  • Remote Gateway - an io.Connect Gateway that provides connectivity between io.Connect Browser, interop-enabled native apps, and third-party apps powered by the io.Connect Application Adapters;
  • Bridge Broker - a broker that manages the connection and the synchronization between the members (io.Bridge node instances) of the io.Bridge cluster;