Exemples d'objets Sync

Cette section décrit un domaine d'applicationUne application est un logiciel qui aide l'utilisateur à réaliser des tâches spécifiques. Dans un environnement ARA, voir aussi : Entité d'application. typique d'un objetLes activités et déroulements que contrôle l'Automation Engine sont représentés à l'aide d'objets (voir aussi Tâche). SyncSynchronise les objets activables en fonction de statuts et d'actions définis. Egalement un type d'objet distinct dans l'Automation Engine.. Elle montre la manière dont un objet Sync contrôle l'accès à une ressource (une base de donnéesUne base de données est un ensemble organisé de données qui comprend plusieurs structures de données pertinentes. par exemple).

ClosedExemple 1 : Vous souhaitez contrôler l'accès à la base de données

Dans cet exemple, vous voulez être sûr que

1. Créer un objet Sync en deux étapes :

Il est important de donner des noms d'état que vous pourrez facilement reconnaître ultérieurement.

2. Associer ces états avec les valeurs suivantes :

Statut Valeur
EXCLUSIVE

0 : utilisation d'une seule tâche dans la base de données

SHARE 3 : trois tâches au maximum pourront accéder à la base de données simultanément.

Ces valeurs ne sont pas explicitement décrites dans l'objet Sync, elles sont intégrées dès que des actions sont définies (voir ci-après dans ce document).

XXX

3. Définir les 4 actions suivantes dans la section Définition des actions :

Statut Valeur
USE

Accès normal (partagé) à la base de données.

Cette action"Voir ""Action en cas de non-respect (AWI Service Orchestrator)""." peut être déclenchée si l'objet Sync a le statutStatut d'une tâche (par ex. active, bloquée, génération en cours, etc.). SHARE et une valeur inférieure à trois. Elle conserve le statut existant, mais augmente la valeur de un. Elle est prévue pour les tâches normales accédant à la base de données.

Les tâches vérifient la possibilité d'utilisation multiple de la base de données : elles vérifient également que la valeur est inférieure à trois, car seulement trois tâches sont autorisées à accéder à la base de données simultanément. La valeur est augmentée de un, car une tâche de plus utilise maintenant la base de données.

USE_EXCLUSIVE Cette action peut être déclenchée si l'objet Sync a le statut SHARE et une valeur de zéro. Cette action n'est possible que si aucune autre tâche n'utilise la base de données.
RELEASE

Libération après un accès normal (partagé)

Une tâche normale se termine après avoir utilisé la base de données. Le statut existant est conservé, mais la valeur est réduite de un.

RELEASE

Libération après un accès exclusif

Une tâche ayant utilisé la base de données exclusivement se termine maintenant et, ce faisant, l'utilisation partagée de la base de données est à nouveau possible.

XXX

L'ordre de définition des actions est important : le premier est le statut de départ de l'objet Sync appliqué à un objet exécutable.

4. Affectation de l'objet Sync à un objet exécutable

Dans notre exemple, nous affectons l'objet Sync à un job. Lors du traitement de ce job, la base de données devant être accessible aux autres tâches, nous choisirons l'action USE :

XXX

La procédure est la suivante :

  1. Le job démarre et exécute l'action USE.
  2. Il vérifie si la base de données peut être utilisée de façon partagée, et combien de tâches l'utilisent. Le job ne peut démarrer que si moins de trois tâches utilisent la base de données.
  3. L'action définie sous "Sinon" est exécutée si la limite de 3 tâches a été atteinte. Dans ce cas, le job attend la fin d'une des tâches.
  4. Dès que cela se produit, le job en attente démarre et soit accède avec succès à la base de données soit échoue et l'action RELEASE est exécutée.

ClosedExemple 2 : Vous souhaitez synchroniser l'exécution de deux jobs dans deux workflows différents

L'ordre des tâches dans un WorkflowLes workflows sont utilisés pour effectuer des déploiements physiques. Un workflow décrit toutes les étapes nécessaires au déploiement de votre application. Votre application étant composée de différents éléments, le niveau le plus élevé du workflow (workflow d'application) représente l'architecture de votre application, et les workflows de composants sont utilisés pour déployer chacun des composants. Vous pouvez définir votre workflow de composants rapidement grâce à des actions prédéfinies. est défini par les lignes qui les relient. Mais qu'en est-il des tâches qui font partie de différents plans de production et qui devraient être exécutées de façon interdépendante ?

Vous disposez de deux méthodes pour résoudre le problème :

La première méthode est simple à mettre en œuvre et elle offre une très bonne vue d'ensemble ; son utilisation est donc fortement recommandée. Cet exemple explique comment utiliser la seconde.

Dans notre exemple, deux workflows (WORKFLOW_A et WORKFLOW_B) incluent des jobs (JOB_A1, JOB_A2 and JOB_B1, JOB_B2) ne pouvant être exécutés simultanément. Ils doivent être exécutés l'un après l'autre dans leur workflow"Permet d'ajouter, regrouper, associer, caractériser ou supprimer les tâches d'un workflow. Egalement un type d'objet propre à Automation Engine. [Anciennement appelé ""chaîne de traitement"" et ""chaîne de job"".]" respectif (JOB_B2 ne devant pas démarrer avant que JOB_A1 ne soit terminé).

1. Créer l'objet SYNC

Nous créons l'objet EXAMPLE_STATE SYNC, qui reproduit le statut de JOB_A1 et contient deux états :

XXX

Les objets activables ayant cet objet affecté peuvent déclencher ses actions prédéfinies. Dans notre exemple, nous n'utiliserons pas de valeurs. Nous définirons les actions suivantes :

2. Affecter l'objet Sync à JOB_A1

Ce job fait partie de WORKFLOW_A ; il n'a pas d'action START. Quand il se termine, il déclenche l'action SET_DONE dans l'objet Sync. Celle-ci a pour effet de définir le statut à DONE (traitement terminé). Pour que cela soit possible, il est nécessaire que le job ait le statut "READY" (prêt pour le traitement).

2. Affecter l'objet Sync à JOB_B2

Ce job fait partie de WORKFLOW_B2. Il démarre avec le SET_READY de l'objet Sync. Cette action ne peut être exécutée que si le statut courant est DONE. Ceci ne peut se produire que si JOB_A1 est terminé. En même temps, cette action définit le statut READY (prêt pour le traitement).

3. Exécuter les workflows et observer le résultat

Rubriques connexes :