Actions et workflow de revue
Statut documentaire : tutorial — voir Maturité et preuves.
Surface d'actions
Utiliser des actions metier explicites, par exemple :
SubmitRequest(request)
ComputeRisk(request) -> assessment
AskForReview(request, assessment) -> reviewProcess
ValidateDecision(reviewProcess, decision)
Finalize(reviewProcess) -> riskDecision
Les signatures .NET exactes dependent du modele publie et du generateur. Les noms et significations ci-dessus sont le contrat conceptuel, pas des signatures ABI ecrites a la main.
Quand introduire un processus
Une action sur un seul objet suffit si cet objet possede tout le comportement et termine immediatement. Utiliser RiskReviewProcess lorsque l'operation traverse plusieurs objets, attend une reponse externe ou humaine, emet plusieurs evenements ou doit reprendre plus tard.
Etats
Created -> IndicatorsPending -> AssessmentReady
-> HumanReviewPending -> DecisionReady -> Finalized
-> Failed
Ne conserver que les etats necessaires au produit. Chaque transition importante doit etre explicite et testable.
Evenements
Emettre des evenements semantiques aux frontieres importantes : RiskRequest.Submitted, RiskAssessment.Ready, RiskReview.Requested, RiskDecision.Validated, RiskReview.Finalized.
Frontiere asynchrone
Verification externe, messages, agent et approbation humaine doivent continuer de facon asynchrone lorsque necessaire. L'action initiale peut accuser reception pendant que le processus continue via evenements et messages.