Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS Flow Framework Concepts de base : structure de l'application
Sur le plan conceptuel, une AWS Flow Framework application comprend trois composants de base : les initiateurs de flux de travail , les agents de flux de travail et les agents d'activité. Une ou plusieurs applications hôtes sont chargées d'enregistrer les travailleurs (flux de travail et activité) auprès d'Amazon SWF, de démarrer les travailleurs et de gérer le nettoyage. Les exécuteurs gèrent les mécanismes d'exécution du flux de travail et peuvent être implémentés sur plusieurs hôtes.
Ce schéma représente une AWS Flow Framework application de base :
Note
L'implémentation de ces composants dans trois applications distinctes est pratique d'un point de vue conceptuel, mais vous pouvez créer des applications pour implémenter cette fonctionnalité de différentes façons. Par exemple, vous pouvez utiliser une application hôte unique pour les exécuteurs d'activité et de flux de travail, ou utiliser des hôtes d'activité et de flux de travail distincts. Vous pouvez également avoir plusieurs exécuteurs d'activité, traitant chacun un ensemble d'activités différent sur des hôtes distincts, etc.
Les trois AWS Flow Framework composants interagissent indirectement en envoyant des requêtes HTTP à Amazon SWF, qui gère les demandes. Amazon SWF effectue les opérations suivantes :
-
Il gère une ou plusieurs listes de tâches de décision, qui déterminent l'étape suivante à exécuter par un exécuteur de flux de travail.
-
Il gère une ou plusieurs listes de tâches d'activité, qui déterminent les tâches qui seront exécutées par un exécuteur d'activité.
-
Il gère un historique étape par étape de l'exécution du flux de travail.
Avec le AWS Flow Framework, le code de votre application n'a pas besoin de traiter directement de nombreux détails illustrés dans la figure, tels que l'envoi de requêtes HTTP à Amazon SWF. Il vous suffit d'appeler AWS Flow Framework des méthodes et le framework gère les détails en coulisse.
Rôle de l'exécuteur d'activité
L'exécuteur d'activité exécute les différentes tâches que le flux de travail doit réaliser. Il comprend les éléments suivants :
-
L'implémentation des activités, qui comprend un ensemble de méthodes d'activité exécutant des tâches particulières pour le flux de travail.
-
Un ActivityWorker objet qui utilise de longues requêtes HTTP pour interroger Amazon SWF afin de déterminer les tâches d'activité à effectuer. Lorsqu'une tâche est requise, Amazon SWF répond à la demande en envoyant les informations nécessaires à l'exécution de la tâche. L'ActivityWorkerobjet appelle ensuite la méthode d'activité appropriée et renvoie les résultats à Amazon SWF.
Rôle de l'exécuteur de flux de travail
L'exécuteur de flux de travail orchestre l'exécution des différentes activités, gère le flux de données et traite les activités ayant échoué. Il comprend les éléments suivants :
-
L'implémentation de flux de travail, qui comprend la logique d'orchestration des activités, gère les activités ayant échoué, etc.
-
Un client d'activités, qui tient lieu de proxy pour l'exécuteur d'activité et permet au travail de flux de travail de planifier des activités à exécuter de façon asynchrone.
-
Un WorkflowWorker objet qui utilise de longues requêtes HTTP pour interroger Amazon SWF à des fins de prise de décision. Si des tâches figurent dans la liste des tâches du flux de travail, Amazon SWF répond à la demande en renvoyant les informations nécessaires à l'exécution de la tâche. Le framework exécute ensuite le flux de travail pour effectuer la tâche et renvoie les résultats à Amazon SWF.
Rôle du démarreur de flux de travail
Le démarreur de flux de travail démarre une instance de flux de travail, également appelée exécution de flux de travail, et peut interagir avec une instance lors de l'exécution pour transmettre des données supplémentaires à l'exécuteur de flux de travail ou obtenir l'état actuel du flux de travail.
Le démarreur de flux de travail utilise un client de flux de travail pour lancer l'exécution de flux de travail, interagit avec le flux de travail si nécessaire lors de l'exécution et gère le nettoyage. Le démarreur de flux de travail peut être une application exécutée localement, une application Web, le AWS CLI ou même le. Console de gestion AWS
Comment Amazon SWF interagit avec votre application
Amazon SWF assure l'interaction entre les composants du flux de travail et gère un historique détaillé du flux de travail. Amazon SWF n'initie pas de communication avec les composants ; il attend les requêtes HTTP émanant des composants et gère les demandes selon les besoins. Par exemple :
-
Si la demande provient d'un travailleur et qu'il interroge les tâches disponibles, Amazon SWF répond directement au travailleur si une tâche est disponible. Pour plus d'informations sur le fonctionnement de l'interrogation, consultez Attente active des tâches dans le Manuel du développeur Amazon Simple Workflow Service.
-
Si la demande est une notification émanant d'un agent d'activité indiquant qu'une tâche est terminée, Amazon SWF enregistre les informations dans l'historique des exécutions et ajoute une tâche à la liste des tâches de décision pour informer le travailleur du flux de travail que la tâche est terminée, lui permettant ainsi de passer à l'étape suivante.
-
Si la demande d'exécution d'une activité provient du responsable du flux de travail, Amazon SWF enregistre les informations dans l'historique des exécutions et ajoute une tâche à la liste des tâches des activités afin de demander à l'agent d'activité d'exécuter la méthode d'activité appropriée.
Cette approche permet aux employés de fonctionner sur n'importe quel système doté d'une connexion Internet, y compris les instances Amazon EC2, les centres de données d'entreprise, les ordinateurs clients, etc. Les travaux n'ont même pas besoin d'être exécutés sur le même système d'exploitation. Comme les demandes HTTP sont initiées avec les exécuteurs, aucun port visible en externe n'est nécessaire ; les exécuteurs peuvent s'exécuter derrière un pare-feu.
Pour en savoir plus
Pour en savoir plus sur le fonctionnement d'Amazon SWF, consultez le guide du développeur Amazon Simple Workflow Service.