IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Workflow Foundation .NET Discussion :

Workflow simple pour UI


Sujet :

Windows Workflow Foundation .NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    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.

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    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 :/

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    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

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    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

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    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...


  6. #6
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    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.

  7. #7
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Imagine que le workflow c'est comme un tapis roulant d'usine (comme la soupe aux choux)
    L'aile ou la cuisse non ?

  8. #8
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    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

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    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 ?

  10. #10
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    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).

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    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.

  12. #12
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    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.

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    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é.

Discussions similaires

  1. API de workflow légère pour processus simple
    Par Titi41 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 06/05/2011, 13h17
  2. Calcul simple pour code couleur
    Par Boumeur dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 16/04/2005, 10h51
  3. Méthode simple pour gérer les collisions
    Par Hyoga dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/02/2005, 13h43
  4. Réponses: 2
    Dernier message: 08/04/2004, 11h11
  5. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo