in

DotNetSide

Dot Net South Italy Developers User Group
Latest post 09 Nov 2006 21:01 by GBFoundation. 13 replies.
Page 1 of 1 (14 items)
Sort Posts: Previous Next
  • 10 May 2006 15:41

    • DaViL
    • Top 25 Contributor
      Male
    • Joined on 08 May 2006
    • Matera
    • Posts 24
    • Points 265

    WorkFlow Foundation: Scenari

    Salve a tutti!

    Stimolato da Mighell, stavo cercando di valutare possibili scenari dove utilizzare workflow foundation puo essere o nn essere utile!

    Non dico la mia perche vorrei prima farmi un'idea piu precisa.

    Ma secondo voi, dove l'utilizzo di questa tecnologia puo portare significativi benefici durante la programmazione?

    Bruno Fortunato
    • Bruno Fortunato • .Net Developer DirectX Lover My Blog My Site
    • Post Points: 20
  • 10 May 2006 15:49 In reply to

    • VitoA
    • Top 10 Contributor
      Male
    • Joined on 07 Mar 2006
    • Posts 1,132
    • Points 14,355

    Re: WorkFlow Foundation: Scenari

    Ciao Bruno!

    Ho assistito  al workshop del 5 su workflow e, anch'io, non riesco ancora a rendermi conto su possibili scenari dove il nuovo framework possa fare veramente differenza.....Stick out tongue [:P]

    Sicuramente, la cosa che mi fa più gola e il fatto di fare 2 operazioni in 1 Big Smile [:D] ovvero disegnare il diagramma di flusso dell'applicazione o oggetto e contemporaneamente sviluppare codice....

    Vito Arconzo
    Microsoft MVP - Client App Dev
    DotNetSide Community Manager

    http://blog.vitoarconzo.it
    http://mvp.support.microsoft.com - http://italy.mvps.org

    • Post Points: 35
  • 10 May 2006 16:47 In reply to

    • DaViL
    • Top 25 Contributor
      Male
    • Joined on 08 May 2006
    • Matera
    • Posts 24
    • Points 265

    Re: WorkFlow Foundation: Scenari

    bhe si, in effetti ti permette di disgnare in contemporanea il diagramma di flusso!
    ma...

    Ecco, ho visto il video di mighell. E fighissima come tecnologia, nn lo metto in dubbio! Però da l'impressione di far perdere tanto tempo allo sviluppatore!

    Che abbia come scopo in realtà quello di avvicinare alla programmazione un po tutti?

    Dobbiamo attendere la Mighell che è praticamente innamorato dei workflow :P
    • Bruno Fortunato • .Net Developer DirectX Lover My Blog My Site
    • Post Points: 20
  • 10 May 2006 16:52 In reply to

    • VitoA
    • Top 10 Contributor
      Male
    • Joined on 07 Mar 2006
    • Posts 1,132
    • Points 14,355

    Re: WorkFlow Foundation: Scenari

    Stick out tongue [:P]

    Vito Arconzo
    Microsoft MVP - Client App Dev
    DotNetSide Community Manager

    http://blog.vitoarconzo.it
    http://mvp.support.microsoft.com - http://italy.mvps.org

    • Post Points: 20
  • 10 May 2006 17:46 In reply to

    Re: WorkFlow Foundation: Scenari

     

    Dunque....per capire dove possiamo applicare workflow, possiamo partire da questo post che spiega quale tipo di workflow usare e quando.
    Sintetizzo una parte importante:

    "quando bisogna prendere delle decisioni dall'esterno del workflow, conviene usare una macchina a stati, diversamente conviene il sequenziale"

    Ho mooooolto sintetizzato! Conviene leggersi tutto il post.
    Perchè parto da questa considerazione? Semplice: è il punto di partenza per comprendere dove possiamo infilare Workflow!
    Riflettiamoci un attimo ragionando su un problema molto frequente: l'ordine di un sito web di commercio elettronico. Non vi viene in mente nulla?
    Innanzitutto è un problema che richiede interventi esterni: immissione dell'ordine, preparazione, spedizione, consegna. Vi dice nulla? A me dice: "qui ci vuole una State Machine"! E guardacaso, nell'SDK di Workflow Foundation, c'è proprio un esempio a riguardo di cui vi allego l'immagine:

    Ora, un ordine di un sito di e-commerce si è sempre potuto gestire. Ma con una macchina a stati fatta con WWF si hanno sicuramente una serie di vantaggi in più:

    1. rapidità nello sviluppo
    2. migliore controllo del flusso (lo vedi...è lì!)
    3. semplicità di manutenzione
    4. riduzione del codice da scrivere (guardatevi l'esempio sul call center, sempre nell'SDK, e provate a rifarlo senza WWF)
    5. più flessibilità: il vostro workflow (o la macchina a stati in questo caso), può essere usata direttamente, richiamata da un web service, persistita su un DB, tracciata.

    Di applicazioni paragonabili ad un ordine ce ne sono tante.
    Ed i sequenziali? Ripartiamo dalla sintesi del post che ho linkato: conviene usarli quando non c'è da prendere una decisione dall'esterno. Quindi?
    Un ordine di un sito web! Ma come direte voi, non c'era la macchina a stati?
    Certo....ma voi all'ordine ci dvete pure arrivare in qualche modo. Vi dice niente: verifica della identità del cliente (è loggato? l'account è attivo? ha promozioni in corso?), il controllo della disponibilità in magazzino, il controllo sulle scorte minime, il prodotto omaggio, la validazione della carta di credito etc.
    Tutte cose fatte e rifatte, ma volete mettere la comodità di usare Workflow Foundation per farlo?
    Il vostro workflow sequenziale preparerà i dati che manderà alla macchina a stati per la gestione dell'ordine! Bello no?

    Mi si può obiettare che così si perde il contatto con il codice: troppo drag'n'drop e troppo visuale. Chi mi conosce bene sa che ODIO le applicazioni fatte trascinando gli elementi sull'interfaccia (in vita mia ne ho fatta una sola ed è venuta pure male), ma vi assicuro che, quando sviluppo una applicazione windows, i bottoni e le label le trascino! Non stò a perdere la testa a posizionarle via codice.
    Che vuol dire? Semplicemente che, con Workflow Foundation, voi trascinate le activity sul designer, le collegate, gli assegnate un nome. Ma se non ci scrivete un codice dietro, il Workflow non funzionerà!
    Ecco quindi qual'è la comodità di questo strumento: disegnare un flusso di informazioni, che poi dobbiamo implementare. Non disegnare un software.

    Tornando all'oggetto di questo post "scenari", la risposta è: molti più scenari di quanti ne immagini! Ti basta trovare un caso in cui l'esecuzione del sofware NON chiede interazione e puoi usare un sequenziale ed un caso in cui è richiesta interazione per metterci una macchina a stati.

    Ovviamente, a questo punto, va fatta una considerazione: ricordiamoci sempre che workflow vive in un thread separato e grazie ad un runtime. Questo vuol dire che tutte le comodità che Workflow fornisce hanno un costo che va sepre valutato. In pratica, se devi implemetare una procedra di login ad un sito, sebbene possa essere fatto con workflow, è sconveniente in termini di risorse e di implementazione. Ti posso assicurare però una cosa: se oggi mi si dovesse chiedere di implementare un e-commerce (non del pasticciere che ho sotto l'ufficio ovviamente), per la gestione degli ordini userei una macchina a stati ed un workflow sequenziale.

    Spero di aver chiarito i dubbi. Se avete domande, son qui!

    • Post Points: 20
  • 10 May 2006 17:48 In reply to

    Re: WorkFlow Foundation: Scenari

    vdotnet:
    Ciao Bruno!

    Sicuramente, la cosa che mi fa più gola e il fatto di fare 2 operazioni in 1 Big Smile [:D] ovvero disegnare il diagramma di flusso dell'applicazione o oggetto e contemporaneamente sviluppare codice....

    Occhio Vito a non confondere un Workflow (anche sequenziale) con un diagramma di flusso. Son 2 cose diverse Wink [;)]

    • Post Points: 20
  • 10 May 2006 17:55 In reply to

    • VitoA
    • Top 10 Contributor
      Male
    • Joined on 07 Mar 2006
    • Posts 1,132
    • Points 14,355

    Re: WorkFlow Foundation: Scenari

    Certo, ma comunque potrei utilizzare il Workflow come un diagramma di flusso più "tecnico"...giusto?

    Vito Arconzo
    Microsoft MVP - Client App Dev
    DotNetSide Community Manager

    http://blog.vitoarconzo.it
    http://mvp.support.microsoft.com - http://italy.mvps.org

    • Post Points: 20
  • 10 May 2006 18:03 In reply to

    Re: WorkFlow Foundation: Scenari

    vdotnet:
    Certo, ma comunque potrei utilizzare il Workflow come un diagramma di flusso più "tecnico"...giusto?

    +o- Personalmente ritengo sbagliato associare un workflow sequenziale ad un diagramma di flusso. Ma è solo precisione terminologica Stick out tongue [:P]

    • Post Points: 20
  • 10 May 2006 18:06 In reply to

    • donvito
    • Top 10 Contributor
      Male
    • Joined on 05 Mar 2006
    • Montescaglioso
    • Posts 317
    • Points 4,220

    Re: WorkFlow Foundation: Scenari

    Che dire, Mighell... senza parole Surprise [:O]

    Te la ricordi la storia del BAM? Qui finisce che facciamo BDM Big Smile [:D]

    Vito SULLA CoFounder of DotNetSide - Dot Net South Italy Developers User Group Rem tene, verba sequentur - Catone

    • Post Points: 20
  • 10 May 2006 18:17 In reply to

    Re: WorkFlow Foundation: Scenari

    donvito:

    Che dire, Mighell... senza parole Surprise [:O]

    Te la ricordi la storia del BAM? Qui finisce che facciamo BDM Big Smile [:D]

    Stick out tongue [:P]

    • Post Points: 20
  • 20 Jul 2006 10:20 In reply to

    • cobain81
    • Top 50 Contributor
      Male
    • Joined on 20 Jul 2006
    • Pescara
    • Posts 5
    • Points 25

    Re: WorkFlow Foundation: Scenari

    Ciao a tutti,

    sono nuovo della community e visto che WWF mi piace molto come argomento, inizio proprio da qui dicendo la mia Big Smile [:D]

    Inizialmente ero scettico su questa tecnologia, ma col tempo e con qualche esperimento mi sono ricreduto. In fondo le macchine a stati finiti sono alla base dei calcolatori e possono ben rappresentare le azioni quotidiane che ci troviamo a modellare nelle nostre applicazioni.

    E' importante conoscere in che stato logico si trova l'applicazione in un determinato momento, cosa che in fondo facevamo anche prima con l'ausilio di variabili (di stato, appunto) che rendono difficile l'interpretazione dell'applicazione anche a distanza di poche settimane dal momento in cui è stata scritta, oltre a rendere spesso problematiche anche piccole modifiche al comportamento dell'applicazione.

    Credo che ci siano grandi vantaggi soprattutto nell'interazione dell'utente che, si sa, ha un comportamento imprevedibile, a meno che non lo si voglia "imbrigliare" attraverso la UI.

    Al momento sto utilizzando WWF con Asp.net e sono contentissimo dei risultati: in particolare ho creato due controlli: il primo è un NonVisualControl, una specie di ObjectDataSource che espone il workflow alla pagina, il secondo è un WorkflowWizard, un Wizard che mostra all'utente lo step relativo allo stato attuale del Workflow desiderato. C'è ancora molto lavoro da fare per migliorare il tutto, ma già in una prima versione ho diversi vantaggi, per esempio decidere sul Workflow quale sia il flusso della mia applicazione e vedere la pagina web adattarsi automaticamente alle modifiche. Infine attraverso un altro componente utilizzo il servizio di Tracking per monitorare le operazioni degli utenti su feed RSS, il tutto in maniera molto semplice e flessibile.

    Concludendo, credo che questa tecnologia non introduca di fatto nulla di nuovo, ma migliori di molto l'approccio allo sviluppo dell'applicazione semplificandone lo sviluppo

    • Post Points: 5
  • 06 Nov 2006 21:06 In reply to

    Re: WorkFlow Foundation: Scenari

    ...per molti versi sono d'accordo con quanto dice Mighell. Una cosa che invece mi ha lasciato perplesso è stata quando durante il webcast si parlava della possibilità di customizzare il flusso da parte dell'utente finale ecc...

    Personalmente credo che si tratti di un "ottimo" strumento per sviluppatori(in alcuni casi da prendere in seria considerazione), ma non penso sia per un neofita(come un manager) così user friendly, da consentirgli di modificare con "facilità" un flusso aziendale spostando o aggiungendo activity( mi riferisco soprattutto ad un flusso sequenziale)...a differenza quello a stati,  può essere facilmente compreso e quindi anche modificato, sarà perchè alla fine si tratta di passare da un blocco ad un altro ma "senza" una particolare simbologia presente negli activity di base(while, if, code, event, throw, web service ecc)..

    Chissà cosa ne pensa mighell :)

    http://addshare.blogspot.com/ Imparo, Imparo, Imparo

    • Post Points: 20
  • 09 Nov 2006 19:01 In reply to

    Re: WorkFlow Foundation: Scenari

    GBFoundation:

    ...per molti versi sono d'accordo con quanto dice Mighell. Una cosa che invece mi ha lasciato perplesso è stata quando durante il webcast si parlava della possibilità di customizzare il flusso da parte dell'utente finale ecc...

    Personalmente credo che si tratti di un "ottimo" strumento per sviluppatori(in alcuni casi da prendere in seria considerazione), ma non penso sia per un neofita(come un manager) così user friendly, da consentirgli di modificare con "facilità" un flusso aziendale spostando o aggiungendo activity( mi riferisco soprattutto ad un flusso sequenziale)...a differenza quello a stati,  può essere facilmente compreso e quindi anche modificato, sarà perchè alla fine si tratta di passare da un blocco ad un altro ma "senza" una particolare simbologia presente negli activity di base(while, if, code, event, throw, web service ecc)..

    Chissà cosa ne pensa mighell :)

    Io penso (e continuerò a ripeterlo), che uno dei (tanti) vantaggi dell'adozione di Windows Workflow Foundation sia proprio quello di poter permettere una certa customizzazione del flusso. Paradossalmente, è più complesso dare la possibilità di modificare una state machine che un sequenziale.
    Comprendo le tue perplessità ma ti posso assicurare che esse scaturiscono dal fatto che ti focalizzi sul designer di default. Quello è pensato per i developers quindi si fa fatica a pensare che possa essere comodo anche per un "utente" ma così non è. Se decidessimo di utilizzare quello, potremmo ad esempio limitare il numero di activity che l'utente può usare (certo...non gli facciamo usare la code activity ma molto più probabilmente un set di custom activity confugurabili attraverso un property editor) e, non dimenticare che il designer permette di validare i workflow creati. Questo ci mette anche al riparo da potenziali errori di correlazone tra le activity.
    A questo aggiungici anche che abbiamo la possibilità di creare workflow in modo dichiarativo (XOML). Chi ci impedisce di creare una sorta di wizard in stile Sharepoint?

    Spero di aver chiarito i tuoi dubbi.

    Ciao

    • Post Points: 20
  • 09 Nov 2006 21:01 In reply to

    Re: WorkFlow Foundation: Scenari

    ...certo nessuno lo vieta, c'è sempre da mettere in conto il tempo/denaro/difficoltà di sviluppo per un disigner for users....un aspetto che ho riscontrato nei flussi documentali(quindi sarebbe adatto usare wf a stati) da non sottovalutare nella realizzazione di un ipotetico designer for users è che all'interno di un azienda medio-grande non esiste una persona che conosce l'intero flusso, il che significa che c'è il "dirigente" dell'ufficio tecnico che conosce due step, il tizio dell'ufficio amministrativo, che ne conosce uno ecc ecc, i quali step spesso sono intrecciati nel senso che non esiste una sequenza del tipo: prima tutti gli step dell'ufficio tecnico, dopo quelli dell'ufficio amministrativo....presumo che la difficoltà per realizzare un designer ad hoc sarebbe alta....consentire alla fine all'utente x di modificare alcuni aspetti rispetto ad altri, sempre se ciò che modifica non va ad impattare quello che viene analizzato dallo step che gestisce l'utente y...altro aspetto da non sottovalutare è la manutenzione che scaturisce dall'inesperienza dell'utente..penso che si entrerebbe in un giro di schiaffi, tutto qui, mi sbaglio di molto?....

    http://addshare.blogspot.com/ Imparo, Imparo, Imparo

    • Post Points: 5
Page 1 of 1 (14 items)
Powered by Community Server (Commercial Edition), by Telligent Systems