Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Azra [Florent Santin]

.Net, X'Net, aucun lien de parenté V2.0

Actualités


  • MSN Alerts
    View Florent Santin's profile on LinkedIn
[Teched 2007] Building Workflow Enabled and Durable Services using .NET 3.5

Justin Smith et Matt Winkler - Technical Evangelists

Retour à mes amours avec une session assez poussée sur Workflow Foundation axée sur la principale nouveauté y étant apporté par la version 3.5 du Framework .NET : la possibilité de hoster, très facilement, un Workflow dans un service WCF.

Qu'est ce qu'on Workflow?: l'organisation d'un travail (ensemble d'éléments s'enchainant) représentant un processus métier ou une logique applicative.

A noter que Workflow Foundation est disponible depuis Novembre 2006 en temps qu'element de Windows Vista (Framework 3.0).

Qu'est ce qu'un service?: une fonctionnalité exposée via un système d'échange de messages structuré, décomposé en:

  • Message Exchange Patterns (MEPs) DataGram, Request-Reply, Duplex...
  • Data Formats: SOAP, JSON, Plain Old XML (POX)...
  • Transports: HTTP, TCP/IP, Nameds Pipes, MSMQ...
  • Architectural Styles / Protocols: WS-*, REST...

L'intérêt de WCF est de proposer un modèle de développement unique quelque soit les choix sélectionnés dans la liste précédente, tout en ajoutant des fonctionnalités de gestion (Trace, log, gestionde threads, protection DoS...). WCF est apparut dans le Framework .NET 3.0 et est amélioré dans la version 3.5.

Un service WCF est composé de trois blocs:

  • Adress, binding, contract, définis dans un fichier XML pour exprimer la manière de communiquer (avec qui, comment)
  • Service Contract Definition, interface en .NET, pour définir les fonctionnalités devant être exposés
  • Service Type, implémentation du contrat en .NET

Retour clients sur .NET 3.0:

  • Les services WCF nécessitent une couche de persistance robuste
  • Il est intéressant d'exposer un Workflow en temps que service WCF plutôt qu'en temps que Webservice.

En .NET 3.0, il est possible d'héberger un workflow dans un service WCF mais cela nécessite une double implémentation de services client <=WCF=> hôte <=WF=> instances de workflow. (voir WebCast techdays) Toutefois, si on compare l'architecture de Workflow en temps que service à celle d'un service WCF, on peut constater qu'un service WF n'est rien d'autre qu'un service WCF avec quelques éléments supplémentaires. Dans ce cas, pourquoi ne pas grouper le service WCF nécessaire pour la communication client / hôte et le service WF nécessaire à la communication WF Runtime / instances dans un seul et seul service? : C'est ce que propose .NET 3.5 client <=WCF+WF=> instances de workflow.

Pour permettre ceci, de nouveaux éléments sont apparut dans Workflow Fondation (en se basant sur l'extensibilité de celui-ci):

  • Deux activités: "SendActivity" et "ReceiveActivity"
  • Un ContextBindingElement permettant de manipuler le contenu des messages
  • L'accès a de nouveaux comportements : WorkflowRuntimeBehavior, PersistenceProviderBehavior, DurableServiceAttribute, DurableOperationAttributes
  • Un nouveau service de hosting, pour hoster le runtime en temps que service

Ceci offre deux nouvelles approches d'utilisation de WCF et de WF:

  • Implémentation de service WCF en temps que Workflow WF
  • Hebérgement de Workflow WF en temps que service WCF

Pour aller un exemple, en Français, Xavier Vanneste a réalisé il y'a quelques temps un Webcast sur l'exposition d'un WF en temps que service WCF: http://www.netfxfactory.org/blogs/video___la_demande/archive/2007/09/22/publication-d-un-workflow-en-tant-que-web-service-ou-en-tant-que-wcf.aspx

Sans hésiter, la session que j'ai le plus apprécié depuis le début du TechEd.

Posted: mardi 6 novembre 2007 18:15 par azra
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le il y a 18 heures et 28 minutes

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le il y a 21 heures et 2 minutes

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59

- Perspective 3.0 pour Silverlight 5.0 par Perspective le 02-07-2012, 22:39