SlideShare une entreprise Scribd logo
1  sur  22
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
MODULE 4 – SERVICES AVANCÉS
Section 1 : Introduction
à WCF
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 2
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
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
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
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
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
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
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
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
MODULE 4 – SERVICES AVANCÉS
Section 2 : Intégration
de WF avec WCF
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 11
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Tendances

Module 1 introduction au développement web avec visual studio 2012
Module 1   introduction au développement web avec visual studio 2012Module 1   introduction au développement web avec visual studio 2012
Module 1 introduction au développement web avec visual studio 2012Mohammed Amine Mostefai
 
Module 3 intégration de traitement dans les applications web asp.net
Module 3   intégration de traitement dans les applications web asp.netModule 3   intégration de traitement dans les applications web asp.net
Module 3 intégration de traitement dans les applications web asp.netMohammed Amine Mostefai
 
Module 8 programmation avancée d'asp.net
Module 8   programmation avancée d'asp.netModule 8   programmation avancée d'asp.net
Module 8 programmation avancée d'asp.netMohammed Amine Mostefai
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionMohammed Amine Mostefai
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Envoi sms oracle_forms_10g
Envoi sms oracle_forms_10gEnvoi sms oracle_forms_10g
Envoi sms oracle_forms_10gEmpterprize
 
Présentation prime facesfinal
Présentation prime facesfinalPrésentation prime facesfinal
Présentation prime facesfinalAymen Drira
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Siham Rim Boudaoud
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateInes Ouaz
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Siham Rim Boudaoud
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à zArnaud Auroux
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Microsoft Technet France
 
Apache camel et les entreprise integration patterns
Apache camel et les entreprise integration patternsApache camel et les entreprise integration patterns
Apache camel et les entreprise integration patternsOuadie LAHDIOUI
 

Tendances (20)

Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Module 1 introduction au développement web avec visual studio 2012
Module 1   introduction au développement web avec visual studio 2012Module 1   introduction au développement web avec visual studio 2012
Module 1 introduction au développement web avec visual studio 2012
 
Module 3 intégration de traitement dans les applications web asp.net
Module 3   intégration de traitement dans les applications web asp.netModule 3   intégration de traitement dans les applications web asp.net
Module 3 intégration de traitement dans les applications web asp.net
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Module 8 programmation avancée d'asp.net
Module 8   programmation avancée d'asp.netModule 8   programmation avancée d'asp.net
Module 8 programmation avancée d'asp.net
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - Introduction
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Le langage html
Le langage htmlLe langage html
Le langage html
 
Envoi sms oracle_forms_10g
Envoi sms oracle_forms_10gEnvoi sms oracle_forms_10g
Envoi sms oracle_forms_10g
 
Présentation prime facesfinal
Présentation prime facesfinalPrésentation prime facesfinal
Présentation prime facesfinal
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
 
Introducthion mvvm avec wpf
Introducthion mvvm avec wpfIntroducthion mvvm avec wpf
Introducthion mvvm avec wpf
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à z
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012
 
Apache camel et les entreprise integration patterns
Apache camel et les entreprise integration patternsApache camel et les entreprise integration patterns
Apache camel et les entreprise integration patterns
 

En vedette (6)

Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Cycle de vie d’un logiciel
Cycle de vie d’un logicielCycle de vie d’un logiciel
Cycle de vie d’un logiciel
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Introduction à Scrum
Introduction à ScrumIntroduction à Scrum
Introduction à Scrum
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 

Similaire à Workflow Foundation - Cours 5

Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...
Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...
Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...CERTyou Formation
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open doorLeTesteur
 
M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...
M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...
M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...CERTyou Formation
 
2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...
2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...
2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...Club Cloud des Partenaires
 
Industrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesIndustrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesArnaud Auroux
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec aspNovencia Groupe
 
M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...CERTyou Formation
 
Bts services informatiques aux organisations 2
Bts services informatiques aux organisations 2Bts services informatiques aux organisations 2
Bts services informatiques aux organisations 2liguad1
 
Microsoft dynamics crm online, intégration avec windows azure
Microsoft dynamics crm online, intégration avec windows azureMicrosoft dynamics crm online, intégration avec windows azure
Microsoft dynamics crm online, intégration avec windows azureMicrosoft Décideurs IT
 
Vocabulaire et Usage du Cloud
Vocabulaire et Usage du CloudVocabulaire et Usage du Cloud
Vocabulaire et Usage du CloudClub Alliances
 
Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01cmichel65
 
presentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxpresentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxhachchaneemsi
 
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...PartnerWin - #SocialSelling StarterPacks
 

Similaire à Workflow Foundation - Cours 5 (20)

Sécurisation des wcf
Sécurisation des wcfSécurisation des wcf
Sécurisation des wcf
 
Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...
Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...
Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
 
M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...
M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...
M20412 formation-configuration-avancee-des-services-microsoft-windows-server-...
 
2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...
2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...
2011.11.23 - Le Cloud, Réalités et Perspectives - 8ème Forum du Club Cloud de...
 
Industrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesIndustrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria services
 
AngularJS
AngularJSAngularJS
AngularJS
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec asp
 
M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
M10750 formation-piloter-et-controler-un-cloud-prive-avec-microsoft-system-ce...
 
Tutoriel web service
Tutoriel  web serviceTutoriel  web service
Tutoriel web service
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Workflow
WorkflowWorkflow
Workflow
 
Bts services informatiques aux organisations 2
Bts services informatiques aux organisations 2Bts services informatiques aux organisations 2
Bts services informatiques aux organisations 2
 
Microsoft dynamics crm online, intégration avec windows azure
Microsoft dynamics crm online, intégration avec windows azureMicrosoft dynamics crm online, intégration avec windows azure
Microsoft dynamics crm online, intégration avec windows azure
 
Vocabulaire et Usage du Cloud
Vocabulaire et Usage du CloudVocabulaire et Usage du Cloud
Vocabulaire et Usage du Cloud
 
Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01
 
presentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxpresentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptx
 
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
 
Tutoriel ajax jquery
Tutoriel ajax jqueryTutoriel ajax jquery
Tutoriel ajax jquery
 

Plus de Mohammed Amine Mostefai

Plus de Mohammed Amine Mostefai (10)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Pratiques agiles
Pratiques agilesPratiques agiles
Pratiques agiles
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Conduite de projet innovants
Conduite de projet innovantsConduite de projet innovants
Conduite de projet innovants
 

Workflow Foundation - Cours 5

  • 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. MODULE 4 – SERVICES AVANCÉS Section 1 : Introduction à WCF WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 2
  • 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. 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. 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. 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. 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. 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. 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. 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. MODULE 4 – SERVICES AVANCÉS Section 2 : Intégration de WF avec WCF WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 11
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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