Les tâches sont uniquement disponibles pour les modèles métiers d'entreprise Oracle. Les tâches offrent une structure de contrôle de versions et de longues transactions. Les tâches permettent d'avoir plusieurs états pour un objet dans la base de données.
Vous pouvez modifier les données uniquement dans une tâche. Les données externes à une tâche sont en lecture seule et correspondent aux données actives au sein d'une tâche.
Ouverte : une fois les modifications des données lancées, la tâche est définie comme étant ouverte. Les modifications des données sont isolées au sein de la tâche et ne sont pas visibles dans les autres tâches ou les tâches externes. Le verrouillage d'objet est soit pessimiste, soit optimiste.
En attente : lorsque les modifications sont prêtes à être révisées et approuvées, la tâche (y compris les données modifiées) est définie sur En attente. Les modifications des données sont visibles dans les toutes tâches ouvertes et en attente. Les modifications apportées peuvent être annulées.
Active : dès lors que l'opération est approuvée et que la tâche est prête pour la production, son état passe à Active. Les modifications des données sont visibles par tous et ne peuvent pas être annulées.
Suppression : pseudo-état. Les tâches supprimées ne sont pas stockées dans la base de données.
Vous pouvez également ajouter vos propres états de tâches. Ils sont stockés dans les tables système TB_JOB_STATE et TB_JOB_STATE_TRANSITION.
Une tâche peut contenir une ou plusieurs rubriques, chacune d'elles disposant d'un état de tâche qui lui est propre. Les états de tâches des rubriques sont stockés dans la table TB_JOB_TOPIC_STATE.
Vous pouvez utiliser les options du modèle métier pour indiquer si une vérification de la topologie de tâche doit être effectuée lorsque l'état de la tâche est modifié.
Activation des tâches pour un modèle métier
Pour utiliser des tâches, vous devez activer les tâches pour le modèle métier, ce qui permet de verrouiller les objets pour qu'ils puissent être modifiés uniquement à l'intérieur d'une tâche.
L'activation des tâches lance certains sous-programmes. Par exemple, ce processus ajoute un attribut JOB_VERSION à chaque classe d'objets et écrit des métadonnées de tâches (tables système TB_JOB*).
Une fois sélectionnée, cette option empêche que plusieurs sessions Map travaillent simultanément sur la même tâche. Par exemple, l'utilisateur A démarre Map, ouvre un projet Entreprise et travaille sur la tâche1. L'utilisateur B démarre Map, ouvre le même projet et sélectionne tâche1 comme tâche actuelle. Un message d'erreur s'affiche, indiquant à l'utilisateur B qu'il ne peut pas travailler sur la tâche1.
Lorsque cette option est sélectionnée, si vous remplacez l'état En attente par Actif, l'historique de la tâche en cours sera automatiquement effacé. Cette fonction permet d'effacer les données de l'historique de la tâche active qui sont stockées dans la table TB_JOB_VERSION afin que la table ne devienne pas trop volumineuse et que les performances ne soient pas réduites.
Pour activer les tâches d'un modèle métier, vous verrouillez les objets. Un objet peut être modifié dans une seule tâche. Vous pouvez utiliser un type de verrouillage optimiste ou pessimiste. La principale différence entre les deux types de verrouillage d'objet est la gestion des conflits de tâches. Un conflit de tâches se produit si un même objet est modifié dans différentes tâches.
Utilisez le verrouillage d'objet pessimiste pour détecter les conflits de tâches et les résoudre le plus tôt possible.
Prenons l'exemple de tâches A et B. Dans la tâche A, vous ajoutez un transformateur sur un poteau et dans la tâche B, un autre utilisateur sélectionne le même poteau pour le supprimer de la base de données. Grâce au verrouillage d'objets pessimiste, l'utilisateur B est immédiatement averti que l'objet est verrouillé. Par conséquent, l'utilisateur B ne peut pas modifier l'objet.
Pour résoudre le conflit de tâches, l'utilisateur B pourrait vous contacter afin que vous décidiez conjointement comment procéder. Vous pouvez, par exemple, utiliser l'option de publication partielle pour extraire les objets respectifs de la tâche A, et faire la modification qui s'impose dans la tâche B.
Vous utilisez la publication partielle pour extraire un sous-ensemble d'objets de la tâche en cours pour la rendre immédiatement active. Les objets modifiés peuvent alors être à nouveau modifiés dans d'autres tâches.
Pour plus d'informations sur la publication partielle, voir "Modification de l'état d'une tâche" dans le manuel d'utilisation.
Un objet peut être modifié dans différentes tâches. Utilisez le verrouillage d'objet optimiste pour autoriser les modifications, même en cas de conflits. Les conflits de tâches ne sont pas détectés immédiatement, mais uniquement lorsque la tâche change d'état. Le gestionnaire de conflits entre tâches apparaît au moment où la seconde tâche est fusionnée.
Pour utiliser des classes d'objets dans lesquelles les tâches sont activées, vous devez créer une tâche contenant ces classes. Pour ce faire, utilisez des gabarits de tâche.
Un gabarit de tâche contient des classes d'objets prédéfinies pouvant être traitées dans les tâches qu'il a permis de créer. Vous ne pouvez ni modifier ni supprimer les classes d'objets avec tâches activées qui n'appartiennent pas à cette tâche.
Vous pouvez associer des classes d'objets provenant de différentes rubriques dans un même gabarit de tâche. Lorsque vous créez une tâche à partir de ce gabarit, vous pouvez modifier l'état de chaque rubrique séparément.
Les classes d'objets avec tâches activées ne peuvent être modifiées que si elles appartiennent à la tâche active. Une tâche peut être traitée uniquement si son état est défini sur Ouvert.
Les classes d'objets avec tâches activées ne peuvent être modifiées que si elles appartiennent à la tâche active. Une tâche peut être traitée uniquement si son état est défini sur Ouvert.
Vous pouvez définir un nombre arbitraire de gabarits de tâche, associés à n'importe quelle combinaison de classes d'objets pour lesquelles les tâches sont activées.
Vous pouvez affecter des gabarits de tâche à un ou plusieurs groupes d'utilisateurs. Pour des raisons de sécurité, par exemple, un groupe d'utilisateurs est autorisé uniquement à utiliser un ensemble de gabarits de tâche limité. Dans Infrastructure Map Server, les membres de ce groupe d'utilisateurs peuvent uniquement utiliser les gabarits de tâches attribués et les tâches créées à l'aide de ces gabarits.
Dans l'administrateur de tâches, utilisez l'option Attribuer des gabarits aux groupes d'utilisateurs pour affecter des gabarits de tâche libres aux groupes d'utilisateurs.
Etapes de ce workflow :