Difference between revisions of "VT2020 - Flogo Fiche"

From air
Jump to navigation Jump to search
Line 59: Line 59:
   
 
Si vous utilisez Apache Kafka ou Pulsar vous pouvez très facilement faire par exemple du Machine Learning à l'aide de Flogo et revenir dans Pulsar ou Kafka.
 
Si vous utilisez Apache Kafka ou Pulsar vous pouvez très facilement faire par exemple du Machine Learning à l'aide de Flogo et revenir dans Pulsar ou Kafka.
  +
  +
  +
= Structure du projet =
  +
  +
Si vous adorez coder et ne souhaitez pas utiliser le web UI, vous pouvez ! Vous allez avoir besoin d'un fichier JSON et de fichiers Go.
  +
  +
  +
'''Metadata'''
  +
  +
Pour la metadata, Flogo utilise tout simplement un fichier JSON. Les champs nécessaires sont les suivants :
  +
  +
- name : nom de l’activité
  +
- version : version de l'activité
  +
- type : type de contribution
  +
- title : titre de l’application
  +
- description : description de l’application
  +
- settings : un tableau qui contient les paramètres de l’activité
  +
- input : un tableau qui contient les paramètres des entrées
  +
- output : un tableau qui contient les paramètres des sorties
  +
  +
'''Logique'''
  +
  +
Pour la logique de l'application, Flogo utilise des fichiers Go. On aura besoin de trois fichiers : activity.go, activity_test.go et metadata.go.
  +
  +
- activity.go contient l'implémentation de l'activité en go.
  +
- activity_test.go contient les test unit de l'activité.
  +
- metadata.go contient la metadata basique de input, output et settings.

Revision as of 15:02, 14 December 2020

Résumé

Logo de Flogo

Flogo est un framework entièrement codé en Golang ultra léger qui permet la création d'applications événementielles de manière très simplifiée à l'aide d'un Web UI très intuitif.

Il utilise la notion de triggers et de actions pour construire l'application.






Triggers et Actions

Schéma triggers et actions

Triggers

Les triggers gèrent tout ce qui est réception de données et l'envoi de réponses.

C'est également ces triggers qui vont par exemple paramétrer le port via lequel on va recevoir/envoyer les flux de données.


Handlers

Un handler est simplement ce qui permet d'attribuer les événements aux actions.


Actions

Les actions c'est ce qui va gérer toute la logique de l'application et les différentes opérations qui vont être effectués après réception des données.

C'est également les actions qui vont déterminer ce qui va être renvoyé pas l'application avant de passer par les trigger.


Déploiement et compatibilités

Cloud.png

Dépoloiement


On a le choix entre plusieurs possibilités de déploiement ce qui est très agréable :

On peut déployer l'application sur un cloud avec AWS lambda, ce qui est pratique car Flogo a un support natif de AWS lambda ce qui permet d'avoir des fonctions serverless et donc avoir moins de ops. Cela permet de consommer moins de ressources mais aussi d'économiser de l'argent.

On peut aussi publier dans un container avec Docker. On connaît tous les avantages d'un tel déploiement donc c'est en effet très intéressant.

On peut également déployer comme un binaire statique pour intégrer l'application à des objets orientés IoT (internet des objets).


Pulsar.png

Compatibilités


Si vous utilisez Apache Kafka ou Pulsar vous pouvez très facilement faire par exemple du Machine Learning à l'aide de Flogo et revenir dans Pulsar ou Kafka.


Structure du projet

Si vous adorez coder et ne souhaitez pas utiliser le web UI, vous pouvez ! Vous allez avoir besoin d'un fichier JSON et de fichiers Go.


Metadata

Pour la metadata, Flogo utilise tout simplement un fichier JSON. Les champs nécessaires sont les suivants :

- name : nom de l’activité - version : version de l'activité - type : type de contribution - title : titre de l’application - description : description de l’application - settings : un tableau qui contient les paramètres de l’activité - input : un tableau qui contient les paramètres des entrées - output : un tableau qui contient les paramètres des sorties

Logique

Pour la logique de l'application, Flogo utilise des fichiers Go. On aura besoin de trois fichiers : activity.go, activity_test.go et metadata.go.

- activity.go contient l'implémentation de l'activité en go. - activity_test.go contient les test unit de l'activité. - metadata.go contient la metadata basique de input, output et settings.