Microsoft Workflow Foundation - Cours 2

922 vues

Publié le

Deuxième cours Workflow Foundation

Publié dans : Technologie
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
922
Sur SlideShare
0
Issues des intégrations
0
Intégrations
73
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Microsoft Workflow Foundation - Cours 2

  1. 1. Workflow Foundation 4.5 avec Visual Studio 2012 Module 2 : Création et Réutilisation d’Activités WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 1
  2. 2. Section 1 : Introduction aux activités WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS 2
  3. 3. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 1 : INTRODUCTION AUX ACTIVITÉS Qu’est-ce qu’une activité Pièce fonctionnelle dont l’exécution fournit un résultat Un workflow coordonne et gère les activités Une activité composite est une activité parente d’autres activité Un workflow est une activité composite Les activités sont réutilisables WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 3
  4. 4. Activités définies par l’utilisateur MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 1 : INTRODUCTION AUX ACTIVITÉS Catégories d’activités Activités prédéfinies WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 4
  5. 5. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 1 : INTRODUCTION AUX ACTIVITÉS Données utilisées par les activités Les activités peuvent utiliser les arguments et les variables Les expressions C# sont utilisées pour le calcul et l’évaluation WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 5
  6. 6. Section 2 : Activité prédéfinies WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS 6
  7. 7. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Activité primitives Activités très simples fournissant certaines fonctionnalités WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 7
  8. 8. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES L’activité «WriteLine » Affiche une ligne de texte dans la console La propriété « Text » de type « String » est le texte à afficher WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 8
  9. 9. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES L’activité « Assign » Permet d’effectuer une affectation La propriété « To » demande l’argument ou la variable à affecter WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 9
  10. 10. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES L’activité « Delay » Permet de pauser l’exécution du workflow pendant un laps de temps La propriété « Duration » indique le temps de pause WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 10
  11. 11. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES L’activité « InvokeMethod » Permet d’invoquer une méthode d’un objet C# La propriété « TargetType » définit le type de l’objet à partir duquel la méthode est invoquée La propriété « Parameters » définit les paramètres à passer aux méthodes WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 11
  12. 12. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Tutoriel 2.1 : Activités primitives Tutoriel 2.1 : Activités primitives WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 12
  13. 13. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Les activités de contrôle de flux Contrôlent le déroulement et l’exécution du workflow Selon les contraintes, et le contexte, ces activités rendent le workflow avec plusieurs déviations possibles WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 13
  14. 14. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES L’activité conditionnelle « If » Détermine un chemin possibles selon une condition La condition est une expression définie par la propriété « Condition » « Then » et « Else » sont les chemins enfants à emprunter selon la condition WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 14
  15. 15. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES L’instruction multidécisionnelle « Switch » Convient mieux si la condition peut avoir plus de deux valeurs possibles Chaque cas est déterminé par une valeur et une action à exécuter si la condition du switch est égale à cette valeur WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 15
  16. 16. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES La boucle «While » Exécute des activités enfants tant qu’une condition « Condition » définie par une expression est valide La propriété « Body » définit les activités enfants à exécuter WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 16
  17. 17. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES La boucle « DoWhile » Similaire à « While » sauf qu’elle s’exécute au moins une fois WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 17
  18. 18. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES L’itérateur « FoEach » Pour une collection donnée, exécute des activités pour chaque élément de cette collection La propriété « Body » définit les activités enfants à exécuter WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 18
  19. 19. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Les séquences « Sequence » Un ensemble d’activités exécutés séquentiellement Les séquences sont souvent créés automatiquement WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 19
  20. 20. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Exécution parallèle « Parallel » Permet d’exécuter plusieurs activités en parallèle Si la propriété « CompletionCondition » est à « true », l’activité se termine si une de ses branches a terminé WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 20
  21. 21. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Parcours parallèle d’une collection « ParallelForEach » Parcourt les éléments d’une collection d’une manière parallèle WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 21
  22. 22. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Tutoriel 2.2 : Utilisation d’activités de contrôle de flux Tutoriel 2.2 WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 22
  23. 23. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Gestion des collections Des activités qui gèrent et manipulent des collections WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 23
  24. 24. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES AddToCollection Ajoute un élément à une collection La propriété « Collection » est la collection utilisée La propriété « Item » est l’élément à ajouter La propriété « TypeArgument » est le type des éléments de la collection WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 24
  25. 25. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES ExistsInCollection Indique si un élément existe dans une collection ou pas La propriété « Collection » est la collection utilisée La propriété « Item » est l’élément à chercher La propriété « Result » est le résultat de recherche La propriété « TypeArgument » est le type des éléments de la collection WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 25
  26. 26. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES RemoveFromCollection Supprime un élément d’une collection La propriété « Collection » est la collection utilisée La propriété « Item » est l’élément à supprimer La propriété « Result » est le résultat de suppression La propriété « TypeArgument » est le type des éléments de la collection WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 26
  27. 27. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES ClearCollection Vide une collection La propriété « Collection » est la collection utilisée La propriété « TypeArgument » est le type des éléments de la collection WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 27
  28. 28. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Gestion des erreurs Des activités qui gèrent les erreurs dans le workflow Inspiré du modèle objet de la gestion d’exceptions WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 28
  29. 29. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Activité « TryCatch » Contient deux blocs : un bloc surveillé (try) et un bloc qui sera exécuté si une exception est déclenchée WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 29
  30. 30. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Activité « Rethrow » Utilisée dans un bloc « Catch », utilisée pour réenclencher la dernière exception pour passer éventuellement un « TryCatch » parent WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 30
  31. 31. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Activité « Throw » Déclenche « manuellement » une exception WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 31
  32. 32. Section 3 : Activités Utilisateur WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS 32
  33. 33. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 3: ACTIVITÉS UTILISATEUR Activités Utilisateur L’utilisateur peut créer ses propres activités Une activité est une classe qui dérive de l’une de ces classes : « CodeActivity », « NativeActivity », « AsyncCodeActivity » et « DynamicActivity » « CodeActivity » est une classe abstraite que l’utilisateur dérive pour créer ses propres fonctionnalités. Une descendante de « CodeActivity » ne peut pas avoir d’activités enfant « NativeActivity » est apparue avec WF4.0. Les classes descendantes peuvent communiquer avec le moteur et peuvent avoir des enfants « AsyncCodeActivity » définit des classes dont l’exécution n’est pas bloquante (asynchrone) « DynamicActivity » est une classe sellée qui permet définir dynamiquement une activité Toutes les activités descendent de la classe abstraite « Activity » WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 33
  34. 34. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 3: ACTIVITÉS UTILISATEUR Réutilisation d’activités Une activité peut être utilisée par plusieurs workflow Le designer et la boîte à outils facilitent la réutilisation d’activités WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 34
  35. 35. [Terminé sans problème] Closed [Exception] Faulted Final MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 3: ACTIVITÉS UTILISATEUR Etat d’une activité Initial Executing [Démarrage] Canceled [Demande annulation] WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 35
  36. 36. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 3: ACTIVITÉS UTILISATEUR Passage d’information entre les activités Variables Arguments (entrée / sortie) Expressions WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 36
  37. 37. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 3: ACTIVITÉS UTILISATEUR Création d’une nouvelle activité En utilisant l’assistant « Ajout d’un nouvel élément » Utiliser le template « Code Activity » WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 37
  38. 38. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 3: ACTIVITÉS UTILISATEUR Template « CodeActivity » - Exemple public sealed class CodeActivity1 : CodeActivity { // Define an activity input argument of type string public InArgument<string> Text { get; set; } // If your activity returns a value, derive from CodeActivity<TResult> // and return the value from the Execute method. protected override void Execute(CodeActivityContext context) { // Obtain the runtime value of the Text input argument string text = context.GetValue(this.Text); } } WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 38
  39. 39. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 3: ACTIVITÉS UTILISATEUR Débogage de workflow Comme le code, les activités peuvent présenter des bugs Le designer offre des options de débogage de workflow Des points d’arrêt peuvent être définis sur les workflows Le pas à pas et les expressions de suivis sont aussi valables WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 39
  40. 40. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Tutoriel 2.3 : Création et réutilisation d’activités Tutoriel 2.3 WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 40
  41. 41. MODULE 2 - CRÉATION ET RÉUTILISATION D’ACTIVITÉS SECTION 2: ACTIVITÉS PRÉDÉFINIES Exercice 2.1 : Simulation d’une course de chevaux En utilisant l’activité « Generateur » du tutoriel précédent, simuler une course de chevaux où l’on ne sait pas à priori le cheval qui va arriver en premier. Chaque cheval doit effectuer une course qui dure un temps aléatoire Utiliser les activités « ParallelForEach », « Delay », « Assign », « While », « WriteLine » et les variables WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 41

×