Actyx-HTTP-Connector

Actyx-HTTP-Connector

Need connector to talk an Actyx swarm from external applications via HTTP?

Actyx-HTTP-Connector allows you to build one in a few minutes while keeping the embedded HTTP server fully customizable.

:sparkles: Features

The HTTP connector allows you to interact with a swarm of Actyx nodes by providing an HTTP interface to systems not running Actyx. You can use it to …

  • … inject data from other systems that will be injected into the Actyx swarm in the form of events (think webhooks)
  • … query fish state from non-Actyx applications to show data from Actyx in other apps (e.g., legacy Web-Apps)
  • … get updates from the Actyx swarm via WebSockets

The connector provides hooks you can use to influence the behavior of the underlying HTTP server/web framework, Express. You can use these hooks to …

  • … add middlewares like encryption, body-parsers or authentication
  • … add static file resources
  • … provide additional routes or catch-all route handlers

Additionally, you can query information from your local source Id, the Pond state, swarm connectivity, and whether the node running the HTTP connector is in sync with the swarm to better deal with error conditions.

:balance_scale: Trade-Offs

Note, however, that web apps running on the HTTP connector do not provide the same level of resilience that Actyx Apps do.

This is typically not an issue when interfacing with external systems (top floor, back office). But you should probably not use it to build applications that run on the shop floor and need to be highly available and resilient.

Check it out:

npmjs: https://www.npmjs.com/package/@actyx-contrib/actyx-http-connector
github: GitHub - actyx-contrib/actyx-http-connector

Community

Any feedback or contribution is very welcome.

5 Likes

Thank you very much for this very useful contribution. Such tools make implementation easier and more reliable on the client side. More of them please :+1:

2 Likes