Guides:TestWF -3
Paramétrage des processus métiers
Le modèle de processus métier
Vue simplifiée du modèle
https://frp.sage.fr/wiki1000/medias/images/testwf/image107.emf
Les différentes entités du modèle de processus
Les serveurs
Les serveurs sont des entités qui hébergent les machines. La fonction des serveurs est de fournir des informations stables d’adressage (serveur, services…) aux machines.
Les machines
Les machines sont les entités qui exécutent les processus métiers.
Une machine maintient :
une liste de points d’écoute des évènements initiaux des processus,
une liste d’instances de processus en cours d’exécution,
une liste d’évènements métiers susceptibles d’être traités.
Les processus métiers
Les entités Processus Métiers contiennent la description du processus métier. Un processus métier est identifié par son nom et sa version. Il est constitué d’un ensemble d’activités et d’évènements.
Les catégories de processus métiers
Les catégories de processus métiers servent à classer les processus métiers. Elles sont arborescentes et un processus métier peut être rattaché à zéro ou à une catégorie.
L’exécution d’un processus métier
Un processus métier est exécuté en étant placé dans une machine.
Une copie du processus métier est alors créée et maintenue dans la machine. Cette copie est conservée tant que des instances sont en cours d’exécution ou que de nouvelles instances sont susceptibles d’être créées.
Comme l’exécution utilise une copie du processus métier, les modifications apportées ultérieurement au processus métier ne sont pas prises en compte dans la version en cours d’exécution.
Pour prendre en compte les modifications d’un processus métier en cours d’exécution, il faut :
soit attendre que toutes les instances en cours soient terminées pour arrêter le processus métier et le recharger,
soit changer la version du PM et exécuter la nouvelle version. Dans ce cas, plusieurs versions du processus métier s’exécuteront simultanément.
Les instances de processus métiers
L’exécution d’un processus métier crée des instances de ce processus. A un instant donné, il peut exister aucune, une ou plusieurs instances de ce processus.
Une instance de processus métier a un état qui évolue entre l’état initial du processus métier et un des états finaux.
Les activités
Les activités sont les tâches élémentaires réalisées par un processus métier.
Les évènements
Les évènements sont des activités particulières qui permettent à un processus métier d’attendre qu’une condition soit remplie.
Trois types d’évènements sont disponibles :
les évènements initiaux :
Un processus métier doit contenir un seul évènement initial. L’évènement initial attend qu’une condition soit remplie pour créer une instance de processus métier.
les évènements finaux :
Un processus métier doit contenir au moins un évènement final. Lorsque l’état d’une instance atteint un évènement final, l’instance est terminée.
les évènements intermédiaires :
Ils sont utilisés à l’intérieur d’un processus métier pour attendre qu’une condition soit remplie.
Les gestionnaires d’exception
Les gestionnaires sont des activités particulières permettant de réagir de façon globale à des situations inattendues.
Les séquences entre évènements et activités
Les activités et les évènements sont en relation par des séquences, des liens, qui indiquent l’enchainement entre ces éléments, c'est-à-dire la façon dont l’état d’une instance peut changer.
Trois types de séquences sont disponibles:
Séquence Succès : enchainement si l’exécution de l’activité est un succès,
Séquence Echec : enchainement si l’exécution de l’activité est un échec,
Séquence TimeOut : enchainement si l’exécution de l’activité ne s’est pas réalisée.
Les automates à états finis
Les automates à états finis ne sont pas visibles de l’utilisateur ou du concepteur de processus métiers mais il est utile de comprendre leur fonctionnement pour la compréhension du système.
Un processus métier est traduit en description d’automates à états finis:
chaque élément du processus métier, c’est-à-dire activité ou évènement, correspond à un état de l’automate,
chaque séquence entre deux éléments correspond à une transition entre les deux états.
Lorsqu’une instance de processus métier est créée, un automate correspondant est créé dans l’état initial du processus métier. L’automate évolue ensuite suivant l’apparition d’évènement internes élémentaires générés par les activités.
Ces évènements élémentaires sont générés par l’exécution des activités et sont définis ainsi :
EVN_OK
Une activité génère un évènement OK lorsque l’exécution de l’activité est un succès. La machine passe dans l’état défini par la transition Etat courant / Séquence OK.
EVN_NOK
Une activité génère un évènement NOK lorsque l’exécution de l’activité est un échec. La machine passe dans l’état défini par la transition Etat courant / Séquence NOK.
EVN_WAIT
Une activité génère un évènement WAIT lorsque l’exécution n’a pas eut lieu. La machine reste dans l’état courant.
EVN_TOUT
Cet évènement est utilisé de façon interne pour indiquer un Time out.
EVN_HALT
Cet évènement est utilisé de façon interne pour interrompre une instance.
Les branches
Généralement l’état suivant l’exécution d’une activité est unique. Mais si l’activité dispose de plusieurs séquences sortantes vers plusieurs éléments différents, il est possible d’avoir plusieurs états suivant le nombre d’éléments.
Dans ce cas la machine crée une ou plusieurs branches. Une branche est une restriction du processus métier qui est exécutée en parallèle avec la branche principale. La branche principale est la branche correspondant à la première séquence sortante.
Une instance de processus métier ne peut se terminer que si toutes ses branches sont terminées.
Les branches peuvent être synchronisées, c’est-à-dire attendre que toutes les branches rejoignent un état particulier.
Les attributs et paramètres des processus
Les instances des processus métiers maintiennent une liste d’attributs au cours de la vie de l’instance. Ces attributs peuvent être manipulés par les activités du processus métier et sont finalement archivés dans le journal.
Un attribut est défini dans les propriétés du processus. Il peut être manipulé lors de la conception du processus.
Un paramètre est ajouté lors de l’exécution d’une instance. Il n’est pas défini lors de la conception du processus.
Un paramètre est défini par deux identifiants, un préfixe et un nom ; le préfixe n’est pas obligatoire.
Valeurs des paramètres et attributs
Pour accéder aux attributs et paramètres dans le code d’une activité :
nom_attribut
nom_paramètre_sans_préfix
Get(nom)
Get(prefix.nom)
GetParameter(prefix, nom_paramètre)
Pour définir un attribut ou un paramètre dans le code d’une activité :
nom_paramètre_sans_préfix := valeur
Set(nom, valeur)
Set(prefix.nom, valeur)
SetParameter(prefix, nom, valeur)
Les valeurs des attributs ou des paramètres peuvent aussi être substituées dans le paramétrage des activités. Utilisez pour cela une notation entre crochets [ ]. Le contenu entre crochets est une expression qui sera évaluée lors de l’exécution de l’activité.
Exemple :
L’instance métier d’une instance de processus
Une instance de processus métier peut être rattachée à une instance d’un objet métier. Dans ce cas cet objet métier peut directement être manipulé dans le code des activités de l’instance.
Lorsque l’évènement initial du processus métier est un évènement métier déclenché par un objet métier, alors ce rattachement est automatique et implicite.
Les messages émis par les instances de processus
Les activités peuvent émettre des messages. Ceux ci sont collectés par la machine et sauvegardés dans le journal.
La fonction principale de ces messages est la mise au point et le suivi du cheminement des instances.
Le journal d’exécution
Le journal d’exécution garde trace de l’exécution des instances des processus métiers.
L’enregistrement dans le journal est réalisé lorsque l’instance est terminée.
Les évènements métiers
Les évènements métiers sont des objets d’une classe de la base de données Master. Ils permettent au processus métier de réagir à des changements d’états d’objets des applications métiers.
Le moniteur d’exécution des processus métiers
Dans le concepteur de processus métiers, ouvrez la commande Ouvrir le moniteur du menu Actions afin d’accéder au moniteur d’exécution de processus métiers.
Le moniteur d’exécution des processus métiers a pour fonction de démarrer les processus, surveiller leur exécution et consulter le journal d’exécution.
Le concepteur de processus métiers
Le concepteur de processus métiers est accessible par le menu Fichier / Outils / Concepteur de processus métiers.
La fenêtre du concepteur de processus métiers comporte quatre parties :
Arbre de la partie gauche de la fenêtre
L’arbre à gauche de la fenêtre affiche les différentes entités en rapport avec les processus métiers :
les serveurs, locaux ou distants, qui ont été enregistrés. Leur état est signalé (arrêté, suspendu, démarré) et il est possible de suivre l’exécution des processus métiers qui sont présents dans les moteurs.
les processus métiers, destinés à être exécutés par un service, et organisés en catégories.
les machines,
les processus exécutés par la machine,
les instances de processus exécutées par la machine,
les classes d’évènements métiers enregistrés,
les instances d’évènements métiers.
La palette d’outils centrale
Elle contient l’ensemble des évènements et activités disponibles pour construire un processus métier. Ces éléments sont regroupés logiquement dans des onglets.
La barre d’outils centrale
Elle contient les éléments les plus fréquemment utilisés.
La zone de droite
Elle contient la zone d’édition graphique des processus métiers.
La zone d’affichage des messages d’erreurs
La zone au bas de la fenêtre affiche les messages d’erreurs éventuels lors de la validation d’un processus métier.
Service Ligne 1000 et processus métiers
Principes
Un Service Ligne 1000 peut démarrer un seul serveur de processus métier.
Le service démarre le serveur de processus métiers dont le nom et le service correspondent au nom de la machine exécutant le service et au nom du Service.
Lorsque le service est démarré, le serveur de processus métiers et les machines qu’il contient sont automatiquement démarrées en mode exécution.
Lorsque le service est arrêté, le serveur est arrêté et l’état des machines en cours d’exécution est sauvegardé.
Paramétrage du service
Le fichier de configuration du serveur contient différentes entrées en relation avec les processus métiers.
BP RunOnStart | Valeur logique | Indique si le Serveur de processus est automatiquement démarré |
SMTP Host | Chaîne | Serveur de messagerie SMT pour l’envoi d’Email |
SMTP Port | Entier | Port du serveur de messagerie SMTP |
SMTP Login | Chaîne | Compte utilisateur du serveur SMTP |
SMTP Password | Chaîne | Mot du passe du compte du serveur SMTP |
SMTP From | Chaîne | Adresse de l’expéditeur des Email envoyés par le serveur SMTP |
Arrêt et démarrage
Il est possible d’arrêter et de démarrer manuellement le serveur d’un service à partir du concepteur de processus ou du moniteur.
Sur le serveur, sélectionnez la commande Arrêter le service du menu contextuel.
Cette action arrête l’ensemble du serveur. Lorsqu’un serveur est redémarré manuellement les machines qu’il contient ne sont pas automatiquement démarrées. Vous devez manuellement des démarrer et les placer dans l’état exécution.
Evènements métiers
Définition des évènements métiers
Les évènements métiers sont des objets d’une classe contenue dans le référentiel.
Cette classe hérite de la classe des évènements utilisée pour l’enregistrement des traces. Ainsi les évènements métiers et les évènements de trace sont unifiés dans le même modèle. De ce fait tout évènement généré par le système de trace est potentiellement utilisable comme évènement métier à l’intérieur des processus métiers.
Les évènements métiers peuvent donc être créés par :
le système de gestion des traces,
l’exécution d’une règle d’état posée dans le modèle,
le code métier,
les services du serveur Ligne 1000.
Classes d’évènements métiers
Les classes d’évènements métiers décrivent les évènements métiers pour permettre de les identifier plus facilement. Elles permettent en particulier d’associer une classe métier à un ensemble évènements.
Sur le dossier Classe d’évènements métier enregistrer un évènement à l’aide du clic droit / Nouvel évènement.
L’évènement créé sera pris en compte uniquement après le redémarrage des services.
Evènements métiers
Les évènements métiers sont des objets du référentiel créés par différentes sources, et correspondant à un évènement généralement en rapport avec un changement d’état du métier.
Informations liées aux évènements métiers
Les informations liées à un évènement métier sont enregistrées lors de sa création.
Enregistrement des évènements métiers
L’enregistrement des évènements métiers permet de définir des classes d’évènements utilisables dans les processus métiers.
Sur le dossier « Classes d’évènements métiers », choisissez la commande Nouvel élément du menu contextuel.
L’identifiant
Il est automatiquement construit à partir des constituants. C’est cet identifiant qui est utilisé par les activités pour retrouver les évènements les concernant.
Type
Type de l’évènement métier. Ce type dépend de la nature et de la source de l’évènement.
Nom utilisé
Ce champ contient la classe de l’objet métier associé. Cet attribut est utilisé uniquement pour les évènements en rapport avec une classe métier.
« Nom de l’évènement »
Ce champ contient une propriété associée à l’évènement. Cet élément est utilisé uniquement pour certains types d’évènements.
Type de l’évènement | Source | Attribut Classe | Attribut Propriété |
Création d’un objet | Traces | Classe de l’objet | |
Suppression d’un objet | Traces | Classes de l’objet | |
Mise à jour d’un objet | Traces | Classes de l’objet | Vide ou nom d’un attribut de l’objet |
Exécution d’une méthode d’un objet | Traces | Classes de l’objet | Nom de la méthode |
Exécution d’un traitement | Traces | Classes d’un d’objet de type processus ayant une méthode « Exécute » | « Exécute » |
Changement de l’état d’un objet | Traces | Classes de l’objet | |
Exécution d’une règle d’état | Règles | Classes de l’objet | |
Evènement utilisateur | Code métier, Services | Classe de l’objet ou vide | Nom de l’évènement |
Description de l’évènement
Il est possible dans cet espace de donner une description de l’évènement ou de saisir du code métier.
Pour relier un évènement métier à une classe d’évènements il faut éditer l’évènement métier puis sélectionner l’identifiant de la classe créée.
Le bouton [+] à gauche de l’identifiant permet de créer aussi directement la classe à partir de cet écran.
Ajouter des règles d’état au modèle métier
Une règle d’état est une règle métier qui permet de créer automatiquement un évènement métier lorsque l’état d’un objet change. Une règle d’état est statique.
Double-cliquez sur la règle pour afficher les propriétés.
La règle est associée à une classe d’évènements métiers, cette classe étant déterminée au moment de la définition de la règle.
Le fonctionnement de la règle est le suivant :
la règle est évaluée lorsque l’objet rentre en transaction, la valeur retournée par la règle est sauvegardée.
la règle est de nouveau évaluée lors de l’évènement BeforeSave pendant la mise à jour de l’objet. Si la valeur retournée par la règle a changé, alors l’évènement associé à la règle est créé.
Il est possible d’enregistrer directement un évènement directement par la fonction Nouvel évènement du dossier « Classes d’évènements métiers ».
Les nouveaux types de trace « Changement d’un état » et « Changement d’un état ou création »
De nouveaux types d’éléments de trace ont été ajoutés pour permettre de définir des règles d’état à partir du système de gestion des traces.
Ces éléments fonctionnent comme une règle d’état, l’expression associée à l’élément constituant le code de la règle.
Le type « Changement d’un état ou création » est déclenché soit par le changement d’état soit par la création de l’objet.
Dans le dossier « Classe d’évènements métiers », positionnez-vous sur une classe et ouvrez la fenêtre d’enregistrement d’un évènement.
Déclenchement d’un évènement métier par le code métier
Création d’un évènement métier à partir d’une instance d’objet métier
Les objets métiers exposent une API permettant de créer un évènement utilisateur.
Procedure CreateCustomEvent(const iName :String ; iInfo1,iInfo2 :variant; iParameters:Array of variant) ;
Cette opération crée un évènement métier dont l’origine est l’instance. L’objet appelant doit être en transaction et l’évènement créé est ajouté à la transaction en cours.
Les paramètres doivent être renseignés sous forme de paire Nom, Valeur.
Créer un évènement métier indépendamment d’une instance d’objet métier.
Utiliser la méthode de classe de TbpeXEvent.
Procedure TbpeXEvent.CreatecustomEvent(const ieventName :String ; iInfo1,iInfo2 :variant ; iParameters:Array of variant) ;
Cette méthode créé un évènement métier, qui n’est pas lié à une instance, dans une transaction séparée. Après l’appel, l’évènement est enregistré en base de données.
Exemple :
unit TestSYFREWF;
interface
Type
TestAPI = Class(TitObject)
public
Caption: string;
ObjectClassLabel: string;
ObjectClassName: string;
oid: string;
Procedure CreateAnEvent;
end;
Implementation
{TestAPI}
Procedure TestAPI.CreateAnEvent;
//Procedure CreateAnEvent;
begin
TbpeXEvent.CreateXEvent('MyEvent','info1','info2',['a1',0,'a2',1]);
end;
end.
Cas d’utilisation : déclenchement d’un processus par un évènement utilisateur
Pour déclencher un processus depuis un évènement utilisateur, vous pouvez procéder de la façon suivante.
Vous devez en premier lieu, sur la classe de l’évènement métier, définir l’évènement utilisateur.
Puis utilisez cet évènement lors du paramétrage d’un évènement métier (double-clic sur l’évènement métier).
Créez l’évènement dans le code métier.
Dans le journal d’exécution, vous retrouvez les paramètres utilisés lors de la création de l’évènement.
Les principaux attributs de la classe Evènement
EventType
Indique le type de l’évènement.
EventSourceName
Indique la source qui a créée l’évènement.
Exemple
Règle d’état | Nom de la règle |
Instance d’objet | Nom de la classe |
Instance de classe | Nom du type de la classe TbpeXEvent |
REST | Nom du service |
EventInfo1 et EventInfo2
Ces deux informations sont passées lors de la création de l’évènement. Pour une règle d’état ce sont les valeurs de l’état qui à changé et qui a déclenché la règle.
oidEventObject
OID de l’objet ayant créé l’évènement.
Pour un processus déclenché par cet évènement métier, cet objet métier devient l’objet métier rattaché à l’instance du processus
EventObjectClass
Classe de l’objet associé à l’évènement.
EventObjectProperty
Nom de la propriété associé à l’évènement.
Les paramètres.
Un évènement métier peut avoir une liste de paramètres.
Prise en compte des évènements métier par les machines
Une machine d’exécution des processus métiers maintient une date d’exécution égale à la plus petite date d’exécution des instances de processus qu’elle contient. Une machine ne peut pas prendre en compte un évènement antérieur à cette date.
Une des conséquences de cette règle est que les évènements pris en compte par une instance ne peuvent qu’être chronologiques. Ainsi, il n’est pas possible de prendre en compte un évènement antérieur à un évènement déjà pris en compte.
Service REST de création d’un évènement métier
Ce service REST est un service générique qui permet de créer un évènement en exécutant une requête HTTP GET.
Le service n’est pas identifié ce qui signifie qu’il n’est pas nécessaire d’obtenir une session serveur pour l’appeler.
L’URL du service est une URL de service REST :
http://hostname/servicename/server/rpc.l1000/rest/xevent.add?paramètre1=valeur1¶mètre2=valeur2&…
Paramètres de la requête :
Paramètre | Type | Défaut | |
Caption | Chaîne | Libellé associé à l’évènement | |
EventType | Enuméré | Type de l’évènement | CUSTOM |
EventSourceName | Source de l’évènement | REST | |
EventResult | Entier | Valeur entière associée à l’évènement | 0 |
EventDataBaseURL | Chaîne | Base de données associée à l’évènement | |
EventSourceInfo1 | Chaîne | Valeur chaîne associée à l’évènement | |
EventSourceInfo2 | Chaîne | Valeur chaîne associée à l’évènement | |
InstanceOID
oidEventObject |
OID | Identifiant de l’objet associé à l’évènement | |
EventObjectClass | Nom de classe | Nom de la classe de l’objet associé à l’évènement | |
EventObjectProperty
EventName EventId |
Chaîne | Identifiant de l’évènement | |
Autres paramètres |
Tous les paramètres de la requête sont copiés dans les paramètres associés à l’évènement. Ils pourront être copiés dans les paramètres de l’instance du processus par l’activité consommant l’évènement.
La réponse du service est un flux XML contenant l’acquittement de l’enregistrement de l’évènement.
Pour créer un évènement CUSTOM , vous devez renseigner les paramètres de la façon suivante :
EventName | Obligatoire | Identifiant de l’évènement CUSTOM |
EventSourceInfo1
EventSourceInfo2 |
Facultatif | Des paramètres associés à l’évènement qui pourront être testés dans les activités de l’instance. |
EventDataBaseURL | Facultatif | L’URL de la base de données si vous souhaitez qui cet évènement ne soit pris en compte que dans un certain contexte |
Palette d’outils centrale : séquences, évènements et activités
Définitions
Séquences
Les séquences servent à relier les évènements et les activités et sont symbolisées par des courbes de couleurs :
Une séquence ne relie que deux « objets » entre eux : un seul évènement à une seule activité (ou deux évènements entre eux, ou deux activités entre elles).
Chaque activité et évènement est une étape du processus métier.
Les évènements
Les évènements sont des « signaux » permettant de démarrer des processus métier. Il peut s’agir de changements dans le métier (création ou modification d’objets métiers par exemple), ou d’évènements extérieurs (réception de mail, création de fichier dans un répertoire…). Ils sont symbolisés par un rond avec une couleur ou une signalétique spécifique :
Les activités
Les activités sont toutes les « actions » que peuvent faire les Processus Métier. Elles sont symbolisées par un rectangle avec une couleur et une signalétique spécifique :
Evènements et activités standards
Onglet « Evènements initiaux »
https://frp.sage.fr/wiki1000/medias/images/testwf/image125.pngEvènement initial déclenché par le métier
Evènement initial qui est déclenché par la création d’un évènement métier.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Evènement Immédiat
Evènement initial qui est déclenché immédiatement.
Cet évènement se déclenche à chaque cycle d’exécution de la machine.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Evènement Jamais
Evènement initial qui n’est jamais déclenché.
Cet évènement est utile pour définir des processus métiers qui sont appelés par d’autres processus.
Onglet « Evènements »
https://frp.sage.fr/wiki1000/medias/images/testwf/ Evènement Toujours
Evènement intermédiaire qui est toujours vérifié.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Evènement Terminé
Un processus doit posséder un évènement final par branche.
Onglet « Activités standards »
https://frp.sage.fr/wiki1000/medias/images/testwf/ Activité Nulle
Activité qui n’effectue aucune opération. Elle sert principalement à mettre au point et tester un processus métier. Elle se termine toujours avec un résultat « succès ». Il est possible de lui adjoindre des notifications, contrairement à d’autres activités, ce qui peut être utile pour vérifier le fonctionnement d’un processus métier.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Activité Appel d’un processus
Activité qui exécute un autre processus. Cette activité peut être utilisée pour :
l’intervention en simultané de plusieurs en parallèle sur un même processus,
découper un processus métier complexe et en tester facilement les branches,
créer des sous processus métiers réutilisables par plusieurs processus.
Onglet « Général »
Processus
Identifiant du processus à exécuter. Si le processus n’est pas présent dans la machine au moment de l’exécution, il sera automatiquement chargé.
Attendre la fin d’exécution pour poursuivre
Exécution synchrone d’un processus. L’activité attendra la fin du processus exécuté pour poursuivre l’exécution.
Exécution asynchrone : l’activité n’attend pas la fin d’exécution du processus exécuté pour poursuivre.
Délai d’attente
Précise un délai au-delà duquel l’activité considèrera que le processus appelé est en Timeout.
La case Attendre la fin d’exécution pour poursuivre doit être cochée pour qu’un Timeout soit détecté.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Activité Synchronisation de branches
Activité permettant de synchroniser plusieurs branches d’exécution.
Exemple :
La première activité de ce processus va créer deux branches d’exécution qui seront synchronisées. Le processus ne peut se terminer que si les deux branches sont terminées.
Les gestionnaires
https://frp.sage.fr/wiki1000/medias/images/testwf/ Gestionnaire des Time Out (expiration des délais d’attente)
Gère l’expiration des délais d’attente qui ne sont définies explicitement dans le processus métier.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Gestionnaire des Erreurs
Gère les séquences Echec qui ne sont définies explicitement dans le processus métier.
Les évènements et activités liés au métier
https://frp.sage.fr/wiki1000/medias/images/testwf/ Evènement Métier
Evènement intermédiaire attendant l’apparition d’un évènement métier.
Onglet « Général »
Evènement
Nom de l’évènement métier qui doit déclencher le processus.
Préfixe (évènement attente)
Préfixe utilisé pour copier les attributs de l’évènement dans les paramètres de l’instance du processus. Si ce champ n’est pas renseigné, les attributs ne seront pas copiés. Pour un évènement initial la valeur vaut toujours « initial ».
Evènement de l’instance principale (évènement attente)
L’évènement métier doit avoir été créé par l’objet associé au processus pour être pris en compte.
Tester la valeur de Info1 ou Info2
Les valeurs des attributs EventSourceInfo1 ou EventSourceInfo2 de l’évènement doivent correspondre aux valeurs renseignées dans les champs correspondants Info1 et Info2 pour que l’évènement soit pris en compte.
Info1, et info2 :
Valeurs des attributs info1 et Info2 attendues.
Déterminé par Info1 ou Info2 (évènement attente) :
Si les valeurs des attributs Info1 ou Info2 de l’évènement correspondent aux valeurs renseignées, alors l’activité se dirige vers la séquence Succès qui sera enchainée ; dans le cas contraire elle se dirige vers la séquence Echec qui sera enchainée.
Définir comme objet de l’instance.
L’objet associé à l’évènement métier devient l’objet associé à l’instance du processus.
Onglet post-condition :
Cet onglet permet d’ajouter une ou plusieurs conditions sur le métier pour que l’évènement soit déclenché.
Lorsqu’un évènement métier déclenche un processus métier :
il copie ses attributs dans les paramètres de l’instance du processus métier. La source des attributs est « initial »
l’objet ayant créé l’évènement devient l’objet associé à l’instance du processus métier.
Onglet Métier
https://frp.sage.fr/wiki1000/medias/images/testwf/ Exécuter un script
Cette activité exécute un script métier.
Toutes les possibilités du langage de script sont disponibles.
La valeur de retour de l’exécution détermine la séquence qui sera enchaînée .
bprOK | La séquence Succès sera enchaînée |
bprNOK | La séquence Echec sera enchaînée |
bprWAIT | L’instance reste dans l’état courant et l’activité sera ré exécutée au prochain cycle. |
bprHALT | L’instance est interrompue. |
bprERR | L’instance est interrompue. (TODO) |
Une erreur de compilation est équivalente à un retour bprOK.
Attributs spécifiques aux processus métiers
Instance | Référence | Référence sur l’objet métier rattaché à l’instance du processus |
ProcessId | Chaîne | Identifiant du processus |
InstanceId | Chaîne | Identifiant de l’instance du processus
Cet identifiant est unique pour une exécution du processus, si le processus est placé dans plusieurs machines l’unicité n’est pas garantie. |
InstanceGUID | Chaîne | GUID de l’instance du processus.
Cet identifiant est un GUID tiré par le système et garanti unique. |
HostName | Chaîne | Nom du Serveur exécutant le processus |
HostServiceName | Chaîne | Nom du Service exécutant le processus |
HostBaseURL | Chaîne | Base de l’URL du serveur exécutant le processus. |
HostBaseRESTURL | Chaîne | Base de l’URL des services REST du serveur, égale à
(BaseHostURL)rpc.l1000/rest/ |
PublicFolder | Chaîne | Répertoire publique du serveur |
InstanceFolder | Chaîne | Un répertoire réservé à l’instance du processus |
InstanceDatabaseURL | Chaîne | L’Url de la base de données associée à l’instance du processus. |
Les méthodes spécifiques aux processus métiers sont :
function Get(const iPrefixedParameter :string) :Variant ;
function GetParameter(const iPrefix:string; const iName:string):Variant;
Ces méthodes retournent la valeur d’un paramètre.
function GetPublicFolder(const aSubFolder:string):string;
Cette méthode retourne un chemin de repertoire dans la zone publique du serveur.
procedure Set(const iPrefixedParameter :string; const value:Variant);
procedure AddParameter(const iPrefix:string; const iName:string; const value:Variant);
Ces méthodes positionnent la valeur d’un attribut, si celui-ci n’existe pas il est créé.
function uniqueID(const aPrefixedParameter :string) :variant ;
Positionne la valeur d’un attribut avec un identifiant unique. Si celui-ci n’existe pas il est créé. Un identifiant unique est un GUID (Global Unique Identifier) et invisible pour l’utilisateur, tiré sur la machine exécutant le processus.
Procedure setInstance(const iOID :TOID) ;
Cette méthode définit l’instance d’objet métier associé à l’instance du processus métier.
Procedure AddMessage(const imsg :string) ;
Cette méthode ajoute un message dans la liste des messages de l’instance du processus métier.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Exécuter une expression
Cette activité évalue une expression. Si le résultat est positif, la séquence « Succès » est enchaînée, sinon la séquence « Echec est enchaînée.
Exemple
https://frp.sage.fr/wiki1000/medias/images/testwf/ Exécuter une méthode
Cette activité permet d’encapsuler l’exécution d’une méthode métier.
Mode
Indique le type d’exécution :
une méthode de l’objet associé à l’instance,
une méthode d’une façade.
Classe
Nom de la classe supportant la méthode. Cette classe doit être une classe non persistante.
Méthode
Nom de la méthode à exécuter. La méthode ne doit comporter que des paramètres simples, les types classes, listes ou variant ne sont pas autorisés.
Préfixe
Préfixe de copie des paramètres en sortie de la méthode. Les paramètres de sortie sont tous les paramètres de type « out » ainsi que le résultat de la méthode si celle-ci est une fonction.
Associer l’objet retourné à l’instance
Si la méthode est une fonction et si celle-ci retourne un objet, cet objet sera défini comme l’objet associé à l’instance du processus.
Grille des paramètres
Liste des valeurs à passer à la méthode lors de l’appel.
Si vous cochez la colonne « Paramètre », la valeur est une expression qui sera évaluée et substituée lors de l’exécution.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Exécuter une modification
Cette activité permet d’effectuer des modifications sur l’objet associé à l’instance ou sur les paramètres de l’instance.
Onglet « Valeur »
Attributs à modifier
La liste des attributs de l’objet ou de l’instance à modifier.
Vous pouvez saisir un nouvel attribut qui sera créé au moment de l’exécution.
Paramètre
Lorsque cette case est cochée, une expression est saisie en valeur.
Préfixe
Utilisez cette zone lors de la création de nouveaux attributs de l’instance.
Il est impossible d’effectuer un retour en arrière (rollback) après une modification réalisé par cette activité.
Cas d’utilisation des activités d’exécution de méthode et de modification
Cet exemple utilise une méthode pour créer un objet et l’associer à l’instance du processus.
La première activité exécute une méthode d’une façade qui crée un objet métier. Cet objet est associé à l’instance du processus.
La méthode exécutée :
unit TestSYFREWF;
interface
Type
TestAPI = Class(TitObject)
public
Function CreateAWFClasseA():WFClasseA;
end;
Implementation
{TestAPI}
Function TestAPI.CreateAWFClasseA():WFClasseA;
var inst:WFClasseA;
begin
ClassManager.beginTran;
try
inst := WFClasseA.Create;
classmanager.InsertToTran(0,inst);
inst.unCode := 'Nouveau-'+DateTimeToStr(Now);
ClassManager.Commit;
Result := inst;
except
ClassManager.RollBack;
raise;
end;
end;
end.
la seconde activité modifie les attributs de l’objet précédemment créé et crée un nouvel attribut de l’instance.
la troisième activité exécute une méthode de l’objet.
L’activité suivante attend que l’utilisateur change la valeur de l’état.
Le résultat de l’exécution ainsi que le code exécuté sont indiqués dans les messages.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Exécuter un curseur
L’activité curseur permet d’exécuter un curseur sur une classe et de traiter tous les objets retournés par le curseur.
Le principe d’exécution du curseur est le suivant :
Lors de la première activation le curseur est ouvert et l’ensemble des objets qu’il retourne sont stockés dans une liste temporaire. Le premier objet est ensuite sélectionné et l’évènement « OK » est retourné.
A chaque activation suivante, l’objet suivant de la liste est sélectionné et un évènement « OK » est retourné. Lorsque tous les objets sont traités, un évènement « NOK » est retourné.
Classe
Classe sur laquelle porte le curseur. Cette classe peut être différente de la classe de l’objet associé au processus métier.
Référence
Attribut de type référence du processus métier auquel sera associée l’instance du curseur.
Cas d’utilisation d’un curseur
L’exemple suivant exécute un curseur sur une classe.
Un attribut de type référence est défini sur le processus métier:
Le curseur est paramétré de la façon suivante :
L’activité exécutée à chaque pas de la boucle du curseur enregistre un message.
Le journal rappelle le résultat de l’exécution lorsque le curseur renvoie trois objets.
Les évènements et activités temporels
Onglet « Evènements initiaux»
https://frp.sage.fr/wiki1000/medias/images/testwf/ Evènement Horloge
Cet évènement permet une planification de l’exécution d’un processus métier. Il permet de créer des instances du processus sur la base d’une planification.
Onglet « Propriétés »
Onglet « Simulation»
Cet onglet permet de réaliser une simulation de la planification pour vérifier que les déclenchements correspondent aux besoins.
Exécuter / Stop
Démarre et arrête la simulation.
Date et heure de départ.
Indique la date et l’heure de départ de la simulation.
Pas d’horloge.
Indique la mesure de simulation.
Date et heure de dernière exécution.
Indique la date et l’heure de la dernière exécution au moment du démarrage de la simulation.
La simulation fonctionne en accélérant le temps et en affichant les dates de déclenchement.
Onglet « Evènements »
https://frp.sage.fr/wiki1000/medias/images/testwf/ Evènement attente d’un délai
Cet évènement attend un délai avant de poursuivre l’exécution, la séquence suivante est toujours « Succès ».
Délai d’attente
Durée en seconde de l’attente.
Le délai démarre au moment où l’instance de processus entre dans l’activité. Si le processus est interrompu puis relancé à une date supérieure à la date du début de l’activité, le délai d’attente s’ajoute et l’instance enchaîne l’exécution.
https://frp.sage.fr/wiki1000/medias/images/testwf/Evènement attente d’une date et heure
Cet évènement attend une heure précise avant de poursuivre l’exécution, la séquence suivante est toujours « Succès ».
Date
Permet de définir une date relative à laquelle le processus continuera.
Heure
Heure à laquelle l’instance de processus continuera.
Les évènements et activités de messagerie
Onglet Messagerie
https://frp.sage.fr/wiki1000/medias/images/testwf/ Envoyer un Mail
Cette activité permet d’envoyer un email. La boîte de dialogue de propriétés ressemble à celle de vos messageries habituelles.
Onglet « Propriétés »
Id
Identifiant de l’email. Cet identifiant est utilisé pour faire le lien avec un évènement « Attente de réponse ». Si plusieurs mails sont envoyés par le processus métier et que des traitements doivent tenir compte des mails, ils utiliseront cet identifiant pour les reconnaître.
A, CC
Adresse des destinataires.
La saisie des adresses des destinataires utilise les conventions suivantes :
les adresses sont séparées par points-virgules,
si l’adresse contient un caractère arobase @ alors il s’agit d’une adresses externe Internet,
si l’adresse ne contient pas de caractère arobase @ alors il s’agit d’une adresses interne d’une boîte à message de l’application.
De
Adresse de l’expéditeur et de réponse. Cette adresse sera l’adresse à laquelle sera envoyée la réponse à ce mail. Si vous ne renseignez pas cette valeur, l’adresse d’expéditeur paramétrée dans les paramètres SMTP sera utilisée.
Seul le provider SMTP gère cette adresse.
Objet :
Objet de l’email.
Contenu
Contenu de l’email.
Bouton d’insertion de paramètre
https://frp.sage.fr/wiki1000/medias/images/testwf/Ce bouton permet d’insérer une expression dans les champs A, CC, Objet qui sera remplacée lors de l’exécution. Le curseur doit se trouver dans un des trois champs concernés.
Exemple
Par exemple si l’objet qui a déclenché le processus métier possède un attribut email et que le mail doit être envoyé à cette adresse, on utilisera ce bouton pour insérer le code [Instance.email]. Lors de l’exécution du processus métier ce code sera remplacé par l’attribut concerné, dans cet exemple par l’adresse email.
Barre d’outils HTML
HTML REST
Ce menu permet d’insérer une URL de réponse (REST) ou une URL d’accès à un écran accessibles pour le destinataire.
Les liens HTML REST demandent que le destinataire ait accès au serveur Sage 1000.
Référence du mail : l’évènement qui traitera la réponse à ce mail se basera sur cette référence pour l’identifier par rapport à tous les autres mails qui pourraient se trouver dans la boîte à mail référencée par le processus métier.
Lien réponse OK / NOK : Lorsque l’utilisateur cliquera sur ces liens il sera dirigé vers un écran HTML qui permettra au serveur Sage 1000 de mémoriser cette réponse et de déclencher la suite du processus métier. Celui-ci devra plus loin être relié à un évènement d’attente de réponse mail pour gérer cette réponse et générer un résultat Succès ou Echec.
Lien vers l’écran associé : Lorsque l’utilisateur cliquera sur le lien, un écran Sage 1000 sera ouvert. L’écran associé se paramètre dans l’onglet « Avancé » de l’activité.
Seul le premier lien cliqué sera pris en compte.
POP 3
Ce menu permet d’insérer un bloc de texte dans le corps de l’email pour gérer la réponse (POP3).
Insérer un attribut : Le programme va insérer dans le corps du message, à l’endroit du curseur, le code d’un attribut de l’objet métier. Quand le message sera envoyé, ce code sera remplacé par la valeur réelle de l’objet métier en mémoire.
Réponse standard : Le programme va insérer un texte prédéfini expliquant comment répondre avec une réponse OK ou une réponse NOK, ainsi que la référence du mail.
Réponse OK / NOK : insère un code qui sera remplacé, à l’envoi du mail, par une réponse prédéfinie pour « accepter » ([mailresponse_ok]) ou « refuser » ([mailresponse_nok]).
Pour répondre à un mail, le destinataire doit être dans un environnement avec une messagerie compatible POP3.
Si le destinataire répondant à un email POP3 laisse par erreur les deux réponses OK /NOK dans le corps du mail ce sera la première réponse, par ordre de lecture, qui sera prise en compte.
Si le destinataire a fait une erreur dans sa réponse et renvoie une nouvelle réponse, seule la première réponse sera prise en compte car le processus métier aura continué son exécution. Le fonctionnement est identique pour les réponses via lien HTML REST.
Onglet « Avancé »
Ecran associé
Ecran provenant de Sage 1000 utilisé par le lien « Lien vers l’écran associé ». il peut être saisi manuellement ou inséré via la boîte de sélection adjacent à la zone de saisie.
Ouvrir cet écran en mode création
Permet d’ouvrir l’écran en mode insertion au lieu de l’ouvrir en mode consultation.
Paramètres passés à l’écran
Permet de définir des paramètres de l’écran.
Onglet « Pièces jointes »
Cet onglet permet de définir les pièces à joindre à l’email.
Si vous renseignez un chemin de fichier, le fichier doit être accessible lors de l’exécution du processus métier.
Si vous renseignez un nom de fichier sans chemin, le fichier sera recherché dans le répertoire de l’instance du processus métier. Généralement ce fichier a été généré par une autre activité du processus et le nom du fichier est contenu dans un paramètre de l’instance. Il y a un répertoire par instance.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Réponse à un mail par REST
Cet évènement attend la réception d’un évènement créé par une réponse à un email envoyé par l’instance du processus.
Réponse à.
Identifiant de l’activité ayant envoyé l’email.
Délai d’attente
Délai au-delà duquel l’évènement génèrera un timeout qui pourra être pris en charge par un évènement Timeout.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Réponse à un Mail par POP3
Cet évènement attend la réception d’une réponse à un email envoyé par l’instance du processus.
Onglet «Général»
Réponse à.
Identifiant de l’activité ayant envoyé l’email.
Serveur, Port, Login, Mot de passe
Paramétrage du serveur POP3 et du compte de messagerie sur le serveur.
Délai d’attente
Délai au-delà duquel l’évènement génèrera un timeout qui pourra être pris en charge par un évènement Timeout.
Onglet « Avancé »
Action sur les réponses reçues.
Détermine le comportement de l’activité lorsqu’une réponse est reçue.
Aucune : pas d’action. l’email est laissé en place sur le serveur de messagerie
Supprimer : l’email est supprimé du serveur de messagerie
Action sur les mails qui ne sont pas des réponses reçues
Détermine le comportement de l’activité lorsqu’un mail présent dans la boîte n’est pas une réponse.
Préfixe de paramètre pour la réponse
Préfixe utilisé pour copier les attributs de l’email reçu dans les paramètres de l’instance.
Il est important que le destinataire laisse dans le corps du message la référence du mail. Dans le cas contraire le système ne pourra pas le mettre en relation avec le processus métier et l’évènement « Réponse à un Email ». Dans ce cas, l’instance du processus métier restera indéfiniment en attente sauf si un Timeout et une séquence ont été prévus.
https://frp.sage.fr/wiki1000/medias/images/testwf/Evènement réception de Mail
Les tâches métiers
Onglet « Tâches »
https://frp.sage.fr/wiki1000/medias/images/testwf/ Impression
Cette activité permet d’exécuter une impression.
Onglet Propriétés
Base de données
Base de données sur laquelle s’effectue l’édition. Renseignez cette base si elle diffère de la base de données sur laquelle l’instance du processus est exécutée.
Rapport
Nom de l’édition à réaliser.
Sortie sur
Sélectionne le type de sortie.
Imprimante
Lorsque le type de sortie est « imprimante », cette zone indique l’imprimante sur laquelle l’édition est imprimée. L’imprimante sélectionnée doit être une imprimante accessible depuis le serveur exécutant le processus. Pour cette raison, seules les imprimantes réseau sont proposées.
Type de fichier
Lorsque le type de sortie est « Fichier » cette zone indique le format de sortie.
Fichier de sortie
Si vous renseignez un nom de fichier sans chemin le fichier sera généré dans le répertoire de l’instance.
Si vous renseignez un chemin de fichier, celui-ci devra être accessible du serveur exécutant le processus.
Onglet paramètres
Cet onglet permet de renseigner les paramètres de la requête.
Valeur
Utilisez cette colonne si vous renseignez une valeur constante.
Expression
Utilisez cette colonne si vous renseigner une expression qui sera évaluée à l’exécution.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Import de données
Cette activité permet d’exécuter un import de données.
Base de données
Base de données dans laquelle s’effectue l’import. Renseignez cette base si elle diffère de la base de données sur laquelle l’instance du processus est exécutée.
Fichier
Fichier de données à importer.
Si vous renseignez un nom de fichier sans chemin, ce fichier doit être présent dans le répertoire de l’instance.
Si vous renseignez un chemin de fichier celui-ci doit être accessible du serveur exécutant le processus.
Descripteur
Descripteur d’importation.
Mode d’importation
Indiquez quel mode d’importation vous souhaitez utiliser.
Options sur les erreurs
Défini les options sur les erreurs détectées.
Options sur le fichier
Défini les actions sur le fichier importé.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Export de données
Cette activité permet d’exécuter un export de données.
Onglet Propriétés
Base de données
Base de données sur laquelle s’effectue l’exportation. Renseignez cette base si elle diffère de la base de données sur laquelle l’instance du processus est exécutée.
Fichier
Fichier de données à générer.
Si vous renseignez un nom de fichier sans chemin, ce fichier sera généré dans le répertoire de l’instance.
Si vous renseignez un chemin de fichier, celui-ci doit être accessible du serveur exécutant le processus.
Descripteur
Descripteur d’exportation.
Onglet paramètres
Cet onglet permet de renseigner les paramètres de la requête
Valeur
Utilisez cette colonne si vous renseignez une valeur constante.
Expression
Utilisez cette colonne si vous renseigner une expression qui sera évaluée à l’exécution.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Activité : Exécuter un traitement métier
Cette activité permet d’exécuter un traitement métier. Les traitements métiers sont des traitements de l’application utilisable dans les processus métier et dans l’automate.
Onglet Propriétés
Base de données
Base de données sur laquelle s’effectue le traitement. Renseignez cette base si elle diffère de la base de données sur laquelle l’instance du processus est exécutée.
Tâche
Sélectionner le traitement à réaliser.
Configurer la tâche
Ce bouton exécute l’écran permettant de configurer la tâche. Terminer l’écran en cliquant sur le bouton [Planifier].
Les évènements et activités techniques
Onglet « Systèmes »
https://frp.sage.fr/wiki1000/medias/images/testwf/ https://frp.sage.fr/wiki1000/medias/images/testwf/Evènement initial fichier et Evènement fichier
Ces évènements attendent qu’un fichier du système d’exploitation soit présent.
Fichier
Chemin du fichier concerné.
Les chemins du fichier doivent être accessibles depuis le serveur exécutant le processus.
Action
Action sur le fichier détecté.
Aucune
Aucune action n’est effectuée.
Renommer
Le fichier est renommé. Le nouveau nom est l’ancien nom ajouté d’une extension numérique.
Déplacer
Le fichier est déplacé à l’emplacement indiqué par la zone Destination.
Supprimer
Le fichier est supprimé.
Préfixe des paramètres
Préfixe des paramètres copiés dans les paramètres de l’instance. Les paramètres sont :
fiename : nom du fichier destination.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Exécution d’un programme exécutable (exe)
Cette activité exécute un programme du système d’exploitation.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Exécution d’un fichier de commande (batch)
Cette activité exécute un fichier de commande du système d’exploitation.
Onglet Propriétés
Fichier de commande
Chemin du fichier de commande à exécuter.
Paramètres
Paramètres passé au fichier de commande. La règle de passage des paramètres est celle du système d’exploitation.
Mode d’exécution
Ne pas attendre la fin de l’exécution. | Dans ce mode l’activité n’attend pas la fin de l’exécution du fichier de commande'.' 'L'a séquence '« 'Succès' »' est enchaînée. |
Attendre la fin de l’exécution. | Dans ce mode, l’activité attend la fin de l’exécution du fichier de commande. La séquence « Succès » est enchaînée. |
Attendre la fin de l’exécution et tester la valeur de retour. | Dans ce mode, l’activité attend la fin de l’exécution du fichier de commande. Elle teste ensuite la valeur de retour pour déterminer la séquence suivante. Si la valeur de retour correspond à la valeur renseignée alors la séquence est « Succès ». Dans le cas contraire, la séquence est « Echec ». |
Les évènements et activité de maintenance
Onglet « Outils »
https://frp.sage.fr/wiki1000/medias/images/testwf/ Epurer le journal
Cette activité permet de supprimer les éléments contenus dans le journal
Onglet propriétés
Epurer les enregistrements antérieurs à
Sélectionne la période d’épuration.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Epurer les évènements
Une activité particulière permet d’épurer les évènements métiers devenu obsolètes.
Les évènements obsolètes sont tous les évènements de date antérieure à la plus petite date d’exécution des machines.
Une conséquence de cette règle est que si une machine a été arrêtée à un instant T, tous les évènements de date supérieure à cet instant ne peuvent pas être épurés.
Cette activité n’a pas de paramètres, elle épure tous les évènements inutiles.
Les évènements et activité de communication
Onglet « Communication »
https://frp.sage.fr/wiki1000/medias/images/testwf/ Transfert de fichier via FTP (Upload)
Cette activité permet de transférer un fichier vers un serveur FTP.
https://frp.sage.fr/wiki1000/medias/images/testwf/ Transfert de fichier via FTP (download)
Cette activité permet de recevoir un fichier d’un serveur FTP.
Serveur
Adresse du serveur FTP.
Port
Port du serveur FTP (21 pour un serveur standard).
Login
Utilisateur du serveur FTP.
Mot de passe
Mot de passe de l’utilisateur du serveur FTP.
Répertoire FTP
Répertoire FTP dans lequel il faut se positionner avant le transfert. S’il n’existe pas, il sera créé. Il est possible d’indiquer un chemin en séparant les éléments par le séparateur « \ » sous Windows.
Nom du fichier FTP
Nom du fichier dans le répertoire du le serveur FTP.
Fichier
Fichier à envoyer ou recevoir. Si le nom est relatif le fichier sera retrouvé ou placer dans le répertoire de l’instance du processus.
FAQ
Comment déclencher un PM à partir du code métier ?
L’évènement initial du processus métier doit être un évènement métier.
Le code métier crée un évènement de la classe de l’évènement initial du processus métier.
Comment déclencher un processus métier à partir d’une application externe ?
L’évènement initial du processus doit être un évènement métier.
L’application externe utilise une des méthodes suivantes :
Appeler le service REST des Evènements Métiers pour créer un évènement de la classe de l’évènement initial du processus métier.
Appeler le Web Service des Evènements Métiers pour créer un évènement de la classe de l’évènement initial du processus métier (TODO).
Utiliser le serveur COM pour créer un objet évènement de la classe de l’évènement initial du processus métier.
Comment passer des paramètres lors du déclenchement du processus métier ?
Vous devez au préalable définir les paramètres au niveau du processus métier.
Pour définir les paramètres du processus métier, reportez-vous au § .
Lors de la création de l’évènement initial par le code métier, vous devez ajouter à l’évènement les paramètres sous la forme de couple (nom,valeur).
Comment définir un processus métier ayant plusieurs sources de déclenchement ?
Définir le corps du processus métier dans un processus dont l’évènement déclencheur est « jamais ». Ce processus métier sera utilisé comme un sous processus.
Définissez des processus métiers déclencheurs appelant le processus métier précédent.
Pour définir des processus métier, reportez vous au § .
Comment associer un objet métier à une instance de processus métier ?
Dans les propriétés du processus, définissez la classe de l’objet. Cela permet de manipuler les attributs de sa classe lors de la conception.
Dans une activité script, appelez l’API « SetInstance ». Cette API affecte à l’instance l’objet dont l’OID est passé en paramètre.
Comment déclencher un processus métier à partir d’un Web Service ?
L’évènement initial du processus métier doit être un évènement métier.
Réalisez un Web Service dont les paramètres d’entrée correspondent aux paramètres du processus métier.
Dans le code du service, créez un évènement métier correspondant à l’évènement déclencheur du processus métier.