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.

Introduction à Workflow Foundation

67 views

Published on

Microsoft Techdays 2007 : Introduction à Windows Workflow Foundation

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Introduction à Workflow Foundation

  1. 1. Comprendre le positionnement de WindowsComprendre le positionnement de Windows Workflow FoundationWorkflow Foundation Comprendre l’architecture et leComprendre l’architecture et le fonctionnement de Windows Workflowfonctionnement de Windows Workflow FoundationFoundation Etre capable de débuter sur la plate-forme etEtre capable de débuter sur la plate-forme et d’initier des projets workflowsd’initier des projets workflows
  2. 2. Expertise et expérience unique sur la plate-forme Microsoft .NET Développement de projets avant- gardistes et d’envergure Coaching/Formation « on the job » par nos experts Solutions pour la productivité des développeurs Votre veille technologique / pôle R&D Contactez-nous pour vos projets : Vista, Office 07, Live, Gadgets, Web 2.0, .NET 3.0, WPF, WCF, WF, MOSS – WSS V3 Nos Experts Votre satisfaction ! www.wygwam.com
  3. 3. 7 Bloggeurs Technologiques 6 Auteurs de livres 6 Speakers Events MS et non MS Implication communautaire forte 6 Rédacteurs dans la presse spécialisée Implication au sein de l’INETA Implication UserGroup : FxUserGroup Une équipe de Wyggeurs : 4 Microsoft Most Valuable Professional 1 Microsoft Regional Director 2 Microsoft Student Partner (MSP) Notre implication Votre satisfaction ! www.wygwam.com
  4. 4. Le .NET Framework 3.0Le .NET Framework 3.0 La place et le rôle de WFLa place et le rôle de WF Architecture de WFArchitecture de WF Types de WorkflowsTypes de Workflows ActivitésActivités Construire un WorkflowConstruire un Workflow Hostez vos WorkflowsHostez vos Workflows Autres ServicesAutres Services
  5. 5. Un framework pourUn framework pour permettre de BATIRpermettre de BATIR n’importe quelle solutionn’importe quelle solution de workflow.de workflow. Modèle de programmationModèle de programmation (déclarative)(déclarative) MoteurMoteur ServicesServices Pour vos applicationsPour vos applications Pour la plate-formePour la plate-forme Microsoft (unification)Microsoft (unification)
  6. 6. Framework .net 3Framework .net 3 SDK Framework .net 3SDK Framework .net 3 Visual Studio 2005Visual Studio 2005 Extensions pour Visual Studio 2005Extensions pour Visual Studio 2005
  7. 7. Sequentiel A états Basé sur des règles Un workflow est un ensemble d’activitésUn workflow est un ensemble d’activités Coordonne les personnes des logiciels ou desCoordonne les personnes des logiciels ou des composantscomposants Matérialise un état dans un cadre très largeMatérialise un état dans un cadre très large (au delà de l’EAI et du workflow humain)(au delà de l’EAI et du workflow humain)
  8. 8. Exemple: E-mail, messagerie instantannée, liste de tache personnelle Exemple: Approbation de Document, Demande de congés Exemple: Note de frais, tableaux de bord management Exemple: Applications métiers, supply-chain Individuel Ad hoc Humain Semi Structuré Systeme Très Structuré Fixe Processus Collaboratifs ProcessusTransactionels Participants: apps, services Flow style: prescriptif, protocoles Données: structurées, transactionnelles Workflow SystèmeWorkflow Humain Participants: personnes, rolesParticipants: personnes, roles Style: flexible, dynamiqueStyle: flexible, dynamique Données: déstructurées,Données: déstructurées, documentsdocuments
  9. 9. WF
  10. 10. “Les Commandes validées dans les 48 heures et envoyées dans les 30 jours” “Vérification de la validation de la commande par le fournisseur” PersistencePersistence FlexibilitéFlexibilité SuiviSuivi Workflow exécuté sur 30 jours Ou: scénarios à très faible latence modification du worklow en cours d’exécution Ou: workflow rigides Visualisation de l’état du workflow ou: pas de tracking “Etat de la commande ? Etape suivante ?”
  11. 11. WF est un framework pour permettre de bâtirWF est un framework pour permettre de bâtir n’importe quelle solution de workflow.n’importe quelle solution de workflow. WF est le moteur de workflow de WSS et MOSSWF est le moteur de workflow de WSS et MOSS Au-delà du moteur WF, WSS / MOSS proposent:Au-delà du moteur WF, WSS / MOSS proposent: Un designer spécifique (SharePoint designer) et des SDKs VS.Un designer spécifique (SharePoint designer) et des SDKs VS. Un environnement de communication et des activités spécifiquesUn environnement de communication et des activités spécifiques Tâches, Listes (Corbeille), mails, interactions utilisateurTâches, Listes (Corbeille), mails, interactions utilisateur Une gestion des utilisateursUne gestion des utilisateurs Une solution de gestion de formulaires WebUne solution de gestion de formulaires Web Une architecture d’éxécution (persistance + tracking)Une architecture d’éxécution (persistance + tracking) Microsoft Office Sharepoint Server est une solution deMicrosoft Office Sharepoint Server est une solution de workflow humain bâtie sur WFworkflow humain bâtie sur WF
  12. 12. L’équipe BizTalk a participé à la création de WFL’équipe BizTalk a participé à la création de WF WF est le moteur de la prochaine (VNext) version de BizTalkWF est le moteur de la prochaine (VNext) version de BizTalk Au-delà du moteur d’orchestration BizTalk propose:Au-delà du moteur d’orchestration BizTalk propose: Architecture visant une forte montée en charge (host + loadArchitecture visant une forte montée en charge (host + load balancing) et robustesse (livraison garantie, backup protocol, gestionbalancing) et robustesse (livraison garantie, backup protocol, gestion transactionnelle de l’échange de messages).transactionnelle de l’échange de messages). Des connecteurs et un Framework de développementDes connecteurs et un Framework de développement Solution de transformations graphiquesSolution de transformations graphiques Pipelines de traitement des messages (sécurité + spécifiques)Pipelines de traitement des messages (sécurité + spécifiques) Solutions verticales (EDI, RFID, HL7, SWIFT, Rosettanet, …)Solutions verticales (EDI, RFID, HL7, SWIFT, Rosettanet, …) Portail B2B de gestion de partenairesPortail B2B de gestion de partenaires Outils d’administration (console + suivi + tracking / rejeu) et deOutils d’administration (console + suivi + tracking / rejeu) et de supervisionsupervision Supervision fonctionnelle (BAM), portail métierSupervision fonctionnelle (BAM), portail métier Intercepteurs BAM pour WFIntercepteurs BAM pour WF
  13. 13. AvantagesAvantages Prise en main rapidePrise en main rapide Flexibilité (paramétrage illimité)Flexibilité (paramétrage illimité) Designers graphiques de WorkflowsDesigners graphiques de Workflows GratuitGratuit InconvénientsInconvénients Différencer Conception et Construction dansDifférencer Conception et Construction dans Visual Studio de vos workflowsVisual Studio de vos workflows Environnement d’implementation et pas deEnvironnement d’implementation et pas de simulationsimulation
  14. 14. Designer Visual Studio 2005
  15. 15. Un document XMLUne classe ET/OU Persistence au format XML =>WPF =>Workflow
  16. 16. XAML Markup Only XAML C#/VB Markup + Code C#/VB Code only Workflow Compiler C#/VB Compiler XAML Markup Only NET Assembly Workflow RuntimeWorkflow Runtime WorkflowWorkflow InstanceInstance Modes de développement
  17. 17. Le runtime est légerLe runtime est léger Nécessite un AppDomain (pour le host)Nécessite un AppDomain (pour le host) Propose différents services (Persistence, tracking)Propose différents services (Persistence, tracking) ...... WorkflowRuntime runtime = new WorkflowRuntime();WorkflowRuntime runtime = new WorkflowRuntime(); runtime.AddService(...)runtime.AddService(...) WorkflowInstance instance =WorkflowInstance instance = runtime.CreateWorkflow(...);runtime.CreateWorkflow(...); instance.Start();instance.Start(); Guid id = instance.InstanceId;Guid id = instance.InstanceId; ......
  18. 18. Host Application Workflow Runtime Runtime Services XAML Workflow Instance PersistenceLoader EnEn Veille!Veille! WorkflowWorkflow InstanceInstance Exécution d’un Workflow
  19. 19. L’unité d’exécution, utilisation et composition Les activités sont les étapes du Workflow Les activités composites contiennent d’autres activités Possibilité de créer des propres activités out of the box Activités tiers disponibles Les activités constituent le wokflow
  20. 20. Une activité est une unité d’exécution d’un WorkflowUne activité est une unité d’exécution d’un Workflow WF propose des activités de baseWF propose des activités de base Ouvert, possibilité de créer ses propres activitésOuvert, possibilité de créer ses propres activités Classes héritant de la classe “Activity”Classes héritant de la classe “Activity” public class CreateTask : Activitypublic class CreateTask : Activity {{ public string Assignee { ... }public string Assignee { ... } public DateTime DueDate { ... }public DateTime DueDate { ... } protected override ActivityExecutionStatus Execute(protected override ActivityExecutionStatus Execute( ActivityExecutionContext context)ActivityExecutionContext context) {{ // assign task to assignee...// assign task to assignee... return ActivityExecutionStatus.Closed;return ActivityExecutionStatus.Closed; }} }}
  21. 21. Installation .net FX 3 + SDK + ExtensionsInstallation .net FX 3 + SDK + Extensions Depuis .net 2.0 :Depuis .net 2.0 : Migration technique nulleMigration technique nulle Migration de l’architecture de vos applicationsMigration de l’architecture de vos applications Depuis .net 1.0 :Depuis .net 1.0 : Migration technique vers .net 2.0Migration technique vers .net 2.0 Implémentation .net 3.0Implémentation .net 3.0
  22. 22. Points positifsPoints positifs Pérennisation de vos développementsPérennisation de vos développements Facilite la maintenanceFacilite la maintenance Temps d’apprentissage courtTemps d’apprentissage court Coût d’acquisition de la technologie réduitCoût d’acquisition de la technologie réduit Points négatifsPoints négatifs Pas (encore) d’intégration avec CommunicationPas (encore) d’intégration avec Communication Foundation (prévue pour Orcas)Foundation (prévue pour Orcas)
  23. 23. TransparenceTransparence FlexibilitéFlexibilité Workflow ?Workflow ?Workflow ?Workflow ? Un Workflow est un ensemble d’activitésUn Workflow est un ensemble d’activités qui représentequi représente l’implémentation de vos processusl’implémentation de vos processus (métiers, techniques, IHM,…)(métiers, techniques, IHM,…) Valeur ajoutée ?Valeur ajoutée ?Valeur ajoutée ?Valeur ajoutée ? ExtensibilitéExtensibilité Host Process Windows Workflow Foundation Windows Workflow Foundation WorkflowWorkflow Custom Activity LibraryCustom Activity Library Visual DesignerVisual Designer Base Activity LibraryBase Activity Library Rules EngineRules Engine Runtime EngineRuntime Engine Runtime ServicesRuntime Services
  24. 24. MSDNMSDN®® Workflow PageWorkflow Page Download the MicrosoftDownload the Microsoft®® Visual StudioVisual Studio®® ExtensionsExtensions Download 10 Hands-onDownload 10 Hands-on LabsLabs msdn.microsoft.com/workflowmsdn.microsoft.com/workflow ForumsForums Ask questions in theAsk questions in the forumsforums www.WindowsWorkflow.net/www.WindowsWorkflow.net/ ForumsForums Community SiteCommunity Site Download samples, tools,Download samples, tools, and runtime serviceand runtime service componentscomponents wf.netfx3.comwf.netfx3.com MSDN Virtual LabsMSDN Virtual Labs msdn.microsoft.com/virtuallabs/Nmsdn.microsoft.com/virtuallabs/N ETFrameworkETFramework
  25. 25. © 2007 Microsoft France Votre potentiel, notre passion TM

×