Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 13 sur 13
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    juin 2005
    Messages
    684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : juin 2005
    Messages : 684
    Points : 446
    Points
    446

    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 Louis-Guillaume MORAND
    Consultant
    Inscrit en
    mars 2003
    Messages
    10 841
    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 841
    Points : 25 280
    Points
    25 280

    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 éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    juin 2005
    Messages
    684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : juin 2005
    Messages : 684
    Points : 446
    Points
    446

    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 Louis-Guillaume MORAND
    Consultant
    Inscrit en
    mars 2003
    Messages
    10 841
    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 841
    Points : 25 280
    Points
    25 280

    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
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    juin 2005
    Messages
    684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : juin 2005
    Messages : 684
    Points : 446
    Points
    446

    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 Louis-Guillaume MORAND
    Consultant
    Inscrit en
    mars 2003
    Messages
    10 841
    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 841
    Points : 25 280
    Points
    25 280

    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.
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  7. #7
    Rédacteur/Modérateur

    Avatar de Samuel Blanchard
    Homme Profil pro Samuel Blanchard
    Expert .NET
    Inscrit en
    février 2010
    Messages
    1 510
    Détails du profil
    Informations personnelles :
    Nom : Homme Samuel Blanchard
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : février 2010
    Messages : 1 510
    Points : 2 515
    Points
    2 515

    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 Louis-Guillaume MORAND
    Consultant
    Inscrit en
    mars 2003
    Messages
    10 841
    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 841
    Points : 25 280
    Points
    25 280

    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
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  9. #9
    Membre Expert
    Inscrit en
    février 2005
    Messages
    1 243
    Détails du profil
    Informations forums :
    Inscription : février 2005
    Messages : 1 243
    Points : 1 856
    Points
    1 856

    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 François
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 13 112
    Points
    13 112

    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 Expert
    Inscrit en
    février 2005
    Messages
    1 243
    Détails du profil
    Informations forums :
    Inscription : février 2005
    Messages : 1 243
    Points : 1 856
    Points
    1 856

    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 François
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 13 112
    Points
    13 112

    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 Expert
    Inscrit en
    février 2005
    Messages
    1 243
    Détails du profil
    Informations forums :
    Inscription : février 2005
    Messages : 1 243
    Points : 1 856
    Points
    1 856

    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é.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •