Bpm forum 2013 web ratio - BPMN e IFML

557 views

Published on

"BPMN e IFML, due standard OMG per realizzare le tue app BPM human centric". Presentazione di Stefano Butti, CEO di WebRatio, al BPM Forum 2013 a Milano, parlando della User Interaction e la nascita dell'Interaction Flow Modeling Language con le sue caratteristiche e vantaggi.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
557
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Bpm forum 2013 web ratio - BPMN e IFML

  1. 1. due standard OMG per realizzarele tue app BPM human centricBPMN e IFML
  2. 2. Recap: perché modellare?Astrazione = riduzione della complessitàPiù semplice da comunicare§  A patto che il linguaggio sia conosciutoDa modello a esecuzione§  A patto che il modello sia sufficientemente espressivo
  3. 3. Parliamo di app BPM human centricIn pratica§  BPM§  App§  Human Centric§  User Task in BPMNDomanda§  Con un tool di BPMS come faccio a specificare ciò che succedeall’interno di uno User Task?•  Form•  List•  Details•  Events•  … «interaction»
  4. 4. Il problema è generalizzatoPerché modellare la UI non è semplice§  La complessità della UI è cresciuta nel tempo•  Nuovi eventi, device, casi d’uso, tipi di interazioni§  L’approccio alla UI di molti tool di programmazione è troppo legataall’esecuzione§  Molti linguaggi di programmazione e approcci disponibili (vedi adesempio il mondo javascript)§  Nessun tentativo finora di affrontare il tema da parte di vendor eorganizzazioni (con eccezione del linguaggio proprietario WebML)
  5. 5. Un “gap” nella standardizzazioneNel comitato di standardizzazione si è percepito finora un“gap”§  Il tema della “User Interaction” è stato trascurato dai “classici”standard di ingegneria del software•  Dedicati invece all’architettura del software (UML), all’orchestrazionedei servizi (SoaML), alla progettazione di sistemi (SysML) o alladefinizione dei processi di business (BPMN)§  I pochi tentativi precedenti sono falliti perchè:•  Proponevano l’uso di linguaggi generici•  Poca usabilità ed espressività della notazione proposta•  Mancanza di implementazioni “solide” da parte dei vendor
  6. 6. Interaction Flow Modeling Language§  Ecco perché è nato§  Ispirato da WebML e di fatto la sua generalizzazione dal dominioWeb a qualsiasi dominio applicativoInterac(on  Flow  Modeling  Language  
  7. 7. Interaction Flow Modeling LanguageUn linguaggio di modellazione per esprimere§  i contenuti visualizzati§  i possibili cammini di navigazione§  gli eventi generate dagli utenti e le interazioni§  i collegamenti con la business logic§  i collegamenti con i datidi applicazioni di front-end§  indipendentemente dal dominio applicativo
  8. 8. Vantaggi§  specifica formale di tutte le diverse “prospettive” sul front-end§  evitare di cadere in problematiche legate all’implementazione§  netta separazione della UI dalla business logic§  linguaggio comune e condiviso tra tecnici e business per progettarela UI insieme§  consentire la generazione automatica del codice anche perapplicazioni di front-end
  9. 9. Campo di espressione§  distinguere User Interaction da User InterfaceIFML esprime§  la struttura logica dei componenti di visualizzazione (finestre e/o pagine)e i loro contenuti§  l’organizzazione dei componenti in gerarchie e/o moduli§  i punti di interazione tra utente e applicazione (eventi)§  l’interazione tra componenti§  il collegamento tra componenti di visualizzazione e dati, logica, processidi businesse invece NON esprime§  la posizione degli oggetti§  proprietà grafiche come colori e font§  il rendering degli oggetti
  10. 10. Concetti di base di IFML§  molteplici “viste” della medesima applicazione§  possibilità di modellare applicazioni multi-device§  visualizzazione, inserimento e validazione di dati§  definizione di eventi§  definizione di componenti indipendenti dalla loro implementazione§  flussi di interazione («interaction flow») iniziati dall’utente o da eventiesterni§  definizione del «contesto» (posizione, storico, device, ecc.)§  modularizzazione e riuso
  11. 11. Concetti di base di IFMLContainerViewComponentEventAction
  12. 12. Concetti di base di IFMLNavigation flowData flowParameter binding
  13. 13. Esempio di notazione IFMLBasic navigation flow between ViewComponents
  14. 14. Esempio di notazione IFMLNesting of ViewContainersTagged ViewContainers (XOR, L, D, Modal, Modeless)
  15. 15. Esempio di notazione IFMLActions
  16. 16. Esempio di notazione IFML – Dettagli ViewViewComponentParts:•  Data binding•  ParametersTypes of ViewComponents(<<List>>)
  17. 17. Esempio di notazione IFML – EventiSelection eventSubmit event… ed è possibile specificare qualsiasi tipo dievento “custom”
  18. 18. Esempio di notazione IFMLActivationExpression, SubmitEvent, Event generation
  19. 19. Un esempio reale: il diagramma IFML di gmailMessages [L D]GMAIL top [X]MboxList<<XOR>> Message ManagementMailBoxMessagenotification<<XOR>> Message Reader<<D>>MessageIndexMessagedetails<<L>> Settings<<P>> Tag chooserReportArchiveDeleteTag/FolderIndexAssociateto tag /Move tofolder<<M>> Tag creatorNew Tag/FolderCreateTag/FolderMessage toolbarOUT: NewTagIN: ATagOUT: NewTagNameIN: TagNameOUT: SelectedTagIN: ATagOUT: SelectedMessagesIN: MessageSetDeleteArchiveReportMoveToCreateNewSelectTagCreateMarkAllMarkAllAsReadOUT: AllMessagesIN: MessageSet<<parameter>>MessageSet<<XOR>> Message search<<D>> SearchMessagekeywordsearch<<P>> FullSearchMessagefull searchShow searchoptionsSearch mailOUT: KeywordIN: SearchKey<<L>> Message writer<<form>> Message WriterSendAction{Self.MessageRecipients >1}OUT: MessageIDIN: MessageID<<field>> To<<field>> Cc<<field>> Bcc<<field>> Subject<<field>> Body<<field>> AttachmentOUT: Subject, From,Cc, Body, “ReplyAll”IN: “Re:”+ Subject, To, Cc,Body, StateOUT: Subject, From,“”, Body, “Reply”IN: “Re:”+ Subject, To, Cc,Body, StateOUT: Subject, “”, “”, Body,“Forward”IN: “Fw:”+ Subject, To, Cc,Body, StateState =”Reply” OR”Forward”SaveActionState =”Forward”OR ”ReplyToAll”<<parameter>> StateState =”NewMessage” OR“Forward”ForwardReplyReplyToAllAdd BccAdd CcEdit subjectAdd attachmentSend SaveDiscardReplyToAllReplyForwardState =”Reply” OR”ReplyToAll”State =”Reply”OR ”ReplyToAll”OUT: Keyword, From,To., ...IN: SearchKey,FromKey, ToKey, ..*
  20. 20. Risultati pratici della standardizzazione di IFML§  un metamodello ufficiale del linguaggio che descrive gli elementibase del modello e le loro relazioni§  un profilo UML consistente con il metamodello§  una sintassi grafica della notazione che permette una visione edefinizione molto più intuitive§  un formato di interscambio basato su XMI
  21. 21. Come usare insieme BPMN e IFML
  22. 22. Q & A
  23. 23. Stefano Buttistefano.butti@webratio.comwww.webratio.comGrazie per l’attenzione

×