Basic Modules

Here is a list of examples of modules usage to make you understand how you can use Ryax. Ryax provides some base modules for you to start, but you can create your own in order to fit with your requirements. This list is just here to give you a taste of what kinds of module can be used in Ryax.

Sources

  • MQTT Subscriber

MQTT Subscriber IoT, Source

MQTT is an open protocol for the Internet of Things (IoT). With this module a workflow can receive data directly from an MQTT broker: for every MQTT messages received, a message in Ryax containing the payload will be triggered.

  • Wait for a new request from an integrated form

on new request from form General, Source

Ryax integrates a form system. You can easily build an HTLM form, directly from a Ryax Workflow. Every time that a form is sent by a user, the workflow will be triggered, processing the associated data.

  • On a new file in a Microsoft SharePoint directory

On new file in SharePoint Source, File

This module looks for new files that are added to a particular directory. When a new file is added, this module sends the file to the next steps of the workflow.

Ryax can also be connected to Dropbox, Google Docs or any cloud storage that provides an API.

Publishers

  • MQTT Publisher

MQTT Publisher IoT, Publisher

MQTT is an open protocol for the Internet of Things (IoT). This module is able to publish data using this protocol to an MQTT broker.

  • Send an email with an attached file

Send email Alerting, Publisher

Send an email. This module is useful in multiple cases:

  • alerting that something happened

  • exporting results to the right person

  • send a file

  • On Webhook

On Webhook Web, Source

Webhooking is a standard way for web-services to alert other web-services that something happened. With this module you can connect a webhook to Ryax!

  • Push data to a MySQL database

Push to MySQL Publisher

This module makes SQL request to a MySQL database.

  • Publish on a webpage

Publish to webpage Web, Publisher

To speed up developments of a workflow, we may want to get its results without pushing them to any external system. Ryax integrates a way to display some intermediate data of a workflow. This data will be available on a platform-hosted webpage.

Processors

  • Detect object on an image using TensorFlow

Detect object on an image IA, Machine Learning

Ryax supports most popular Machine Learning frameworks, such as Tensorflow. For example, this module uses TensorFlow to build an object detection processor. As soon as this module is ready, any Ryax user (even those with lack of knowledge on Deep Learning methods), can use this module. Users only need to provide the module’s inputs and outputs ; this information is easily customizable through Ryax’s WebUI. Thus, even inexperienced users in Deep Learning can seamlessly build a complex workflow to detect objects in videos.

  • Run python code

Run python code Data, Code

You need specific code for your workflow? Simply use some Python code. Integrating new python code in Ryax is straight forward, all you need is a file named handle.py containing a function called handler that takes a dict as input and returns a dict with the output. This handler function will call your custom code ; a few clicks and you are good to go!

  • Cut a video frame by frame

Cut video into images Video, Streaming

This module takes videos as input. It then cuts into frames (based on the input’s original framerate). This module is useful to perform static image analyses on videos, like detecting object such as cars, signs, faces, and such.

  • Run Spark job

Run Spark job Big Data

If you already have some analyses available in other platforms, like Spark or Slurm, you can use Ryax to abstract the use of these complex systems. This module launches a Spark job and waits for the result.

  • Filter data

Filter Filter

Filter data in in any part of a workflow.

  • Draw graph from data using matplotlib

Draw graph Data, Reporting, Dashboard

As you can freely use Python code in Ryax, you can also produce graphs using the famous Matplotlib library. Ryax integrates a dependency management system for extra Python libraries, to easily use them.

  • Transform some binary data into a CSV file

Binary to CSV ETL

The flexibility of Ryax processors allow for any data operation. This module performs a standard Extract-Transform-Load (ETL) operation. This module transforms some binary data into a more standard and widely-used CSV file.

  • Render a report in docx format

Render report.docx Reporting

Another use of Ryax is to automatically render reports. As Ryax can grab data from a wide range of systems, conduct any kind of analysis, it is very useful for producing highly detailed reporting.

  • Run a docker that analyses data

Run a docker Data

Ryax supports OCI compliant containers (like Docker). Using Ryax Docker module is easy: inputs are given as container parameters, Ryax gets the output from the data printed in stdout that respect a special format.

Stream Operators

  • Merge 2 data streams using with-latest-from strategy

mXith-latest-from merge Streaming

You may want to merge 2 streams of data from different sources. For example, 2 IoT sensors may acquire data at different speeds. However, many analyses require syncing the 2 sensors’ data at the same pace. You can use this module to merge 2 data streams with a specific merging strategy: the first stream will be merged with the latest data from the second one. Various merging strategies are available in Ryax, check it out.