Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Workflow Foundation - Cours 5

853 views

Published on

Cours 5 - Workflow Foundation

Published in: Technology
  • Login to see the comments

Workflow Foundation - Cours 5

  1. 1. Workflow Foundation 4.5 avec Visual Studio 2012 Module 5 : Workflows en tant que Services avec WCF WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 1
  2. 2. MODULE 4 – SERVICES AVANCÉS Section 1 : Introduction à WCF WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 2
  3. 3. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Qu’est-ce que WCF ?  Windows Communication Foundation  Technologie .NET permettant de développer des services web  Permet d’intégrer ou de changer de comportements ou de protocole sans modifier le code  Supporte de multiples technologies et protocoles (REST, HTTP, remoting, …) WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 3
  4. 4. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Principe ABC WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 4 A : Adresse B : Binding C : Contrat
  5. 5. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Adresse  Url indiquant la localisation du service Par exemple : http://localhost/NotificationService  Le service peut être accédé via un point (EndPoint) qui est caractérisé par une adresse WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 5
  6. 6. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Binding  Définit le protocole reliant le service aux différents clients  Par exemple « basicHttpBinding » est un binding basique et facile basé sur le protocole HTTP WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 6
  7. 7. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Contrats  Un contrat est une relation entre des modules logiciels distants  Un contrat de service est un service distant fournissant certaines fonctionnalités  Un contrat de données spécifie le format des données qui transitent sur le réseau  Les contrats sont spécifiées par des interfaces et des classes décorées par des attributs spécifiques WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 7
  8. 8. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Contrats - Exemple [ServiceContract] public interface INotificationService { [OperationContract] void Notifier(string Nom, bool Acceptation); } WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 8
  9. 9. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Configuration des services WCF WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 9 Par fichier de configuration Par code
  10. 10. MODULE 4 – SERVICE AVANCÉS SECTION1:INTRODUCTIONÀWCF Hébergement WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 10 Dans des applications IIS AppFabric Services Windows Azure
  11. 11. MODULE 4 – SERVICES AVANCÉS Section 2 : Intégration de WF avec WCF WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 11
  12. 12. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF Pourquoi intégrer ?  Pour permettre aux workflows d’être disponibles sous forme de services  Pour mettre en place des services persistants et de longues exécution  Pour permettre aux intervenants d’êtres distants géographiquement WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 12
  13. 13. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF L’activité « Receive »  Attend une requêtes de l’extérieur en exposant un service  La propriété « OperationName » définit le nom du service  La propriété « ServiceContractName » spécifie le nom du contrat  Le contenu définit les paramètres ou le contenu du message attendu par le service  La propriété « CanCreateInstance indique si une nouvelle instance du workflow est créée si le service est invoqué WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 13
  14. 14. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF Les paramètres des activités de messagerie  Spécifie les données reçues ou émises par les activités WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 14
  15. 15. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF L’activité « Send »  Invoque un service WCF La propriété « OperationName » spécifie le nom du service La propriété « ServiceContractName », spécifie le nom du contrat  La propriété « EndPoint », spécifie l’adresse et le binding du service à appeler WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 15
  16. 16. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF L’activité « ReceiveAndSendReply »  Crée un service à double chemin  Renvoie une valeur en retour à celui qui a invoqué le service WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 16
  17. 17. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF L’activité « SendAndSendReply »  Invoque un service et attend une réponse du service WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 17
  18. 18. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF La corrélation  Pour chaque invocation d’un service, une nouvelle instance peut être créée  Lorsqu’un workflow contient plusieurs activités « Receive », il est difficile de lier le bon service à la bonne instance  La corrélation se base sur un ensemble de variables pour identifier la bonne instance à invoquer  Par exemple « un identifiant unique », « GUID »,…  Une activité de messagerie peut initialiser une corrélation  Une activité de messagerie peut suivre une corrélation WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 18
  19. 19. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF Initialisation d’une corrélation  Indique au moteur qu’on crée une nouvelle corrélation sur des données idéalement uniques  Utilise un « handle » de corrélation WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 19
  20. 20. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF Suivre une corrélation Une deuxième activité de messagerie peut suivre une corrélation pour connecter le deuxième service à la bonne instance  La propriété « CorrelatesOn » est utilisée WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 20
  21. 21. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF Modèles Visual Studio VS 2012 propose le modèle « Application Service Workflow » pour faciliter la création de services Workflow  Les workflows service ont l’extension XAMLX  Les workflows services sont facilement hébergés sur WCF WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 21
  22. 22. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:INTÉGRATIONDEWFETWCF Tutoriel 5.1 Workflow d’embauche sous forme de service WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 22

×