Précédent   Forum du club des développeurs et IT Pro > Dotnet > Général Dotnet > Windows Workflow Foundation
Windows Workflow Foundation Forum d'entraide sur le moteur de workflows de Microsoft
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/11/2009, 14h15   #1
giova_fr
Membre éprouvé
 
Homme
Développeur .NET
Inscription : juin 2005
Messages : 674
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2005
Messages : 674
Points : 451
Points : 451
Envoyer un message via ICQ à giova_fr
Par défaut Workflow simple pour UI

Bonjour.

Je suis à la recherche d'une solution simple et productive pour définir une Machine à etat qui pilote le comportement d'une fenetre.

J'ai fais une tentative avec WF, et je dois dire que j'ai été plutot décu. Sans doute je m'y prend mal, mais j'ai trouvé que tres vite, ce qui etait cencé rendre mon code simple et lisible, s'est transformé en véritable usine à gaz.

Par exemple, si je veux ajouter un couple evenement/action à un etat, qui active simplement un bouton, je suis obligé de créer un déléguer et une callback dans ma form, juste pour faire un MyButton.Enable = true

Ceci parceque ma form, et mon workflow sont dans des threads séparés.

Je pourrai configurer ma form pour tolérer les actions inter-thread, mais je trouve ca dangereux.

Du coup, je me suis fais ma propre machine à etat, simple et efficace, mais sans designer.

Je me dis que j'ai du mal m'y prendre, auriez vous des articles en tete qui démontrent que piloter une winform depuis un workflow, c'est simple et efficace?

En vous remerciant d'avance pour votre contribution.
giova_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2009, 07h36   #2
Louis-Guillaume Morand
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant
Inscription : mars 2003
Messages : 10 791
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 791
Points : 24 826
Points : 24 826
je suis pas sûr que ca soit fait pour cela.

Imagine que le workflow c'est comme un tapis roulant d'usine (comme la soupe aux choux). tu lui donnes un objet, et il ressort au bout du tunnel transformé. Cet objet, t'es pas censé y toucher directement. si tu veux changer la couleur, alors t'appuies sur un bouton qui va dire au workflow de lui changer sa couleur.

toi tu essaie de faire un workflow qui va changer quelque chose d'extérieur à celui-ci, or c'est pas son but. D'autant plus que, comme tu le dis, à cause des threads séparés, tu ne peux pas modifier le comportement des contrôles directement.

workflow foundation c'est pour simuler des processus métiers, toi tu t'en sers pour diriger une interface, c'est pas du tout pareil. WF c'est très bien et très puissant mais on peut pas s'en servir pour tout et n'importe quoi
de la même façon, c'est comme si tu utilisais WF pour contrôler des pages Web, c'est une aberration :/
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/12/2009, 14h57   #3
giova_fr
Membre éprouvé
 
Homme
Développeur .NET
Inscription : juin 2005
Messages : 674
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2005
Messages : 674
Points : 451
Points : 451
Envoyer un message via ICQ à giova_fr
je crois comprendre ce que tu dis.

Mais que suis je cencé faire alors?

J'aimerai shematiser le comportement de ma Winform, faciliter sa maintenance et évolution. un diagramme d'etat me parai(ssai)t etre une bonne solution.

j'avoue etre un peu perdu là...

Concretement, je vais justement devoir faire un wizard: un UI avec à chaque fois une ou plusieurs question, et un bouton Next, selon la réponse j'affiche tel ou tel page par la suite.

Et Demain, j'aurai peut etre à rajouter des questions sur certaines pages, inserer d'autres page (la maintenance quoi); j'aimerai éviter l'usine à gaz
giova_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2009, 15h00   #4
Louis-Guillaume Morand
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant
Inscription : mars 2003
Messages : 10 791
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 791
Points : 24 826
Points : 24 826
et un tabcontrol sans tabs ne suffirait-il pas?
le composant wizard utilise quasiment ce principe.

tes tabs, tu les créés soit en statique, soit à la volée mais c'est l'étape stocké en base qui décide de l'onglet sur lequel tu te trouves. pas la peine d'avoir un vrai workflow surtout si tu ne stockes que "l'étape" où il en est
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2009, 15h12   #5
giova_fr
Membre éprouvé
 
Homme
Développeur .NET
Inscription : juin 2005
Messages : 674
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2005
Messages : 674
Points : 451
Points : 451
Envoyer un message via ICQ à giova_fr
Merci pour ta promptitude Louis-Guillaume.

Je ne suis cependant (surement à tord) pas convaincu, que la solution proposée suffise.

Comment dire...

Je pense que quand j'aurai 50 pages avec 10 possibilités de redirection par page; une photographie de la logique me sera alors indispensable.

Que cette photographie soit toujours à jours
qu'on puisse zoomer dézoomer dedans pour passer d'une vue globale à un focus précis.

D'ou l'idee d'un designer graphique de machine d'etat...

Tout article sur ce sujet (architecture) est le bienvenue; j'ai sans doute besoin que l'on m'ouvre les yeux.

EDIT : voila une image qui est représentative :
cette vision est celle que j'attend, en un clin d'oeuil, je vois tout de suite quel est le comportement de mon UI; c'est pour moi, bien plus lisible que du code à parcourir...

giova_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2009, 15h43   #6
Louis-Guillaume Morand
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant
Inscription : mars 2003
Messages : 10 791
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 791
Points : 24 826
Points : 24 826
un workflow d'interactions de boutons ne m'est jamais venu à l'idée d'être représenté mais je peux comprendre dans un cas complexe. Mais bon, je je ne ferais pas autrement que par un diagramme de séquence voire de cause-à-effet si je devais le faire.

en tout cas, je te confirme, je ne pense pas que workflow foundation soit adapté à ton besoin dans le cas présent
ca t'apporterait rien et si tu penses que ca representerait graphiquement chaque event, tu te méprends

si ton projet se complexifie, tu fais plusieurs forms ou plusieurs usercontroles.
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2010, 12h07   #7
Samuel Blanchard
Rédacteur/Modérateur

 
Avatar de Samuel Blanchard
 
Homme Samuel Blanchard
Expert .NET
Inscription : février 2010
Messages : 1 498
Détails du profil
Informations personnelles :
Nom : Homme Samuel Blanchard
Âge : 39
Localisation : France

Informations professionnelles :
Activité : Expert .NET

Informations forums :
Inscription : février 2010
Messages : 1 498
Points : 2 462
Points : 2 462
Citation:
Imagine que le workflow c'est comme un tapis roulant d'usine (comme la soupe aux choux)
L'aile ou la cuisse non ?
Samuel Blanchard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2010, 16h39   #8
Louis-Guillaume Morand
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant
Inscription : mars 2003
Messages : 10 791
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 791
Points : 24 826
Points : 24 826
Citation:
Envoyé par Samoteph Voir le message
L'aile ou la cuisse non ?
tutafay! avec les salades. ma mémoire de vieux me joue des tours
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2010, 00h19   #9
B.AF
Membre Expert
 
Inscription : février 2005
Messages : 1 238
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 238
Points : 1 655
Points : 1 655
Citation:
Envoyé par Louis-Guillaume Morand Voir le message
workflow foundation c'est pour simuler des processus métiers, toi tu t'en sers pour diriger une interface, c'est pas du tout pareil. WF c'est très bien et très puissant mais on peut pas s'en servir pour tout et n'importe quoi
de la même façon, c'est comme si tu utilisais WF pour contrôler des pages Web, c'est une aberration :/
En même temps, un activity, ce n'est jamais qu'une classe encapsulée.
Moi j'ai essayé WF 4 pour driver une IHM, ça marche très bien.

Et heureusement d'ailleurs. Ce serait inquiétant d'avoir un outils qui "componentise" le code mais qui ne fonctionne pas partout ?
B.AF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2010, 08h52   #10
Bluedeep
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 6 544
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 6 544
Points : 13 893
Points : 13 893
Citation:
Envoyé par giova_fr Voir le message
je crois comprendre ce que tu dis.

Mais que suis je cencé faire alors?
De manière général, la WF n'est pas outillée pour les workflow "humain". C'est à dire que pour en faire, cela réclame un souvent long développement.

Pour ce type de workflow, je préfére utiliser K2 BlackPearl. (outil de workflox basé sur WF et destiné au BPM).
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2010, 09h02   #11
B.AF
Membre Expert
 
Inscription : février 2005
Messages : 1 238
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 238
Points : 1 655
Points : 1 655
Citation:
Envoyé par Bluedeep Voir le message
De manière général, la WF n'est pas outillée pour les workflow "humain". C'est à dire que pour en faire, cela réclame un souvent long développement.

Pour ce type de workflow, je préfére utiliser K2 BlackPearl. (outil de workflox basé sur WF et destiné au BPM).
Laquelle ? Parce que la 4 est très bien pensée dans ce sens je trouve.
B.AF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2010, 09h06   #12
Bluedeep
Expert Confirmé Sénior
 
Homme François
Chef de projet NTIC
Inscription : janvier 2007
Messages : 6 544
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : janvier 2007
Messages : 6 544
Points : 13 893
Points : 13 893
Citation:
Envoyé par B.AF Voir le message
Laquelle ? Parce que la 4 est très bien pensée dans ce sens je trouve.
Tu as sans doute raison, mais je travaille actuellement avec la 3.5 (peut différente de la 3.0 - première version de WF)
Pour la 4, le problème c'est VS 2010 qui est actuellement incompatible avec les développement CF. Donc, comme je ne veux pas utiliser deux plateforms de dev. différentes (une pour les serveurs et stations et l'autre pour les mobiles), je reste pour le moment sur VS 2008/3.5.

Et si j'ai regardé un peu le FW 4.0, je ne me suis pas spécialement penché sur la partie WF.
__________________

Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


Une réponse vous a aidé ? utiliser le bouton

"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Bluedeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2010, 09h14   #13
B.AF
Membre Expert
 
Inscription : février 2005
Messages : 1 238
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 238
Points : 1 655
Points : 1 655
Moi j'ai fait l'inverse. Après avoir essayé de faire certaines choses avec WF dont des workflows métier, j'ai abandonné vite et je m'y suis remis avec le 4.

Qui en mon sens est bien meilleur car plus léger et mieux délimité.
B.AF est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h32.


 
 
 
 
Partenaires

Hébergement Web