SlideShare a Scribd company logo
due standard OMG per realizzare
le tue app BPM human centric
BPMN e IFML
Recap: perché modellare?
Astrazione = riduzione della complessità
Più semplice da comunicare
§  A patto che il linguaggio sia conosciuto
Da modello a esecuzione
§  A patto che il modello sia sufficientemente espressivo
Parliamo di app BPM human centric
In pratica
§  BPM
§  App
§  Human Centric
§  User Task in BPMN
Domanda
§  Con un tool di BPMS come faccio a specificare ciò che succede
all’interno di uno User Task?
•  Form
•  List
•  Details
•  Events
•  … «interaction»
Il problema è generalizzato
Perché 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 legata
all’esecuzione
§  Molti linguaggi di programmazione e approcci disponibili (vedi ad
esempio il mondo javascript)
§  Nessun tentativo finora di affrontare il tema da parte di vendor e
organizzazioni (con eccezione del linguaggio proprietario WebML)
Un “gap” nella standardizzazione
Nel 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’orchestrazione
dei servizi (SoaML), alla progettazione di sistemi (SysML) o alla
definizione 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
Interaction Flow Modeling Language
§  Ecco perché è nato
§  Ispirato da WebML e di fatto la sua generalizzazione dal dominio
Web a qualsiasi dominio applicativo
Interac(on	
  Flow	
  Modeling	
  Language	
  
Interaction Flow Modeling Language
Un 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 dati
di applicazioni di front-end
§  indipendentemente dal dominio applicativo
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 progettare
la UI insieme
§  consentire la generazione automatica del codice anche per
applicazioni di front-end
Campo di espressione
§  distinguere User Interaction da User Interface
IFML 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, processi
di business
e invece NON esprime
§  la posizione degli oggetti
§  proprietà grafiche come colori e font
§  il rendering degli oggetti
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 eventi
esterni
§  definizione del «contesto» (posizione, storico, device, ecc.)
§  modularizzazione e riuso
Concetti di base di IFML
Container
ViewComponent
Event
Action
Concetti di base di IFML
Navigation flow
Data flow
Parameter binding
Esempio di notazione IFML
Basic navigation flow between ViewComponents
Esempio di notazione IFML
Nesting of ViewContainers
Tagged ViewContainers (XOR, L, D, Modal, Modeless)
Esempio di notazione IFML
Actions
Esempio di notazione IFML – Dettagli View
ViewComponentParts:
•  Data binding
•  Parameters
Types of ViewComponents
(<<List>>)
Esempio di notazione IFML – Eventi
Selection event
Submit event
… ed è possibile specificare qualsiasi tipo di
evento “custom”
Esempio di notazione IFML
ActivationExpression, SubmitEvent, Event generation
Un esempio reale: il diagramma IFML di gmail
Messages [L D]
GMAIL top [X]
Mbox
List
<<XOR>> Message Management
MailBox
Message
notification
<<XOR>> Message Reader
<<D>>
Message
Index
Message
details
<<L>> Settings
<<P>> Tag chooser
Report
Archive
Delete
Tag/
Folder
Index
Associate
to tag /
Move to
folder
<<M>> Tag creator
New Tag/
Folder
Create
Tag/
Folder
Message toolbar
OUT: NewTag
IN: ATag
OUT: NewTagName
IN: TagName
OUT: SelectedTag
IN: ATag
OUT: SelectedMessages
IN: MessageSet
Delete
Archive
Report
MoveTo
Create
New
Select
Tag
Create
MarkAll
MarkAll
AsRead
OUT: AllMessages
IN: MessageSet
<<parameter>>
MessageSet
<<XOR>> Message search
<<D>> Search
Message
keyword
search
<<P>> FullSearch
Message
full search
Show search
options
Search mail
OUT: Keyword
IN: SearchKey
<<L>> Message writer
<<form>> Message Writer
Send
Action
{Self.MessageRecipients >1}
OUT: MessageID
IN: MessageID
<<field>> To
<<field>> Cc
<<field>> Bcc
<<field>> Subject
<<field>> Body
<<field>> Attachment
OUT: Subject, From,
Cc, Body, “ReplyAll”
IN: “Re:”+ Subject, To, Cc,
Body, State
OUT: Subject, From,
“”, Body, “Reply”
IN: “Re:”+ Subject, To, Cc,
Body, State
OUT: Subject, “”, “”, Body,
“Forward”
IN: “Fw:”+ Subject, To, Cc,
Body, State
State =”Reply” OR
”Forward”
Save
Action
State =”Forward”
OR ”ReplyToAll”
<<parameter>> State
State =
”NewMessage” OR
“Forward”
Forward
Reply
ReplyToAll
Add Bcc
Add Cc
Edit subject
Add attachment
Send Save
Discard
Reply
ToAll
Reply
Forward
State =”Reply” OR
”ReplyToAll”
State =”Reply”
OR ”ReplyToAll”
OUT: Keyword, From,
To., ...
IN: SearchKey,
FromKey, ToKey, ..
*
Risultati pratici della standardizzazione di IFML
§  un metamodello ufficiale del linguaggio che descrive gli elementi
base del modello e le loro relazioni
§  un profilo UML consistente con il metamodello
§  una sintassi grafica della notazione che permette una visione e
definizione molto più intuitive
§  un formato di interscambio basato su XMI
Come usare insieme BPMN e IFML
Q & A
Stefano Butti
stefano.butti@webratio.com
www.webratio.com
Grazie per l’attenzione

More Related Content

Similar to Bpm forum 2013 web ratio - BPMN e IFML

Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applications
marcocasario
 
Un'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseUn'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseAlberto Lagna
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
DotNetMarche
 
Corso sharepoint D2
Corso sharepoint D2Corso sharepoint D2
Corso sharepoint D2
Decatec
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
DotNetMarche
 
Laboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniLaboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioni
Roberto Polillo
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
Sabino Labarile
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
Alessandro Del Sole
 
8. Architetture web
8. Architetture web8. Architetture web
8. Architetture web
Roberto Polillo
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Marco Loregian
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
Marcello Teodori
 
Mobile UI Design
Mobile UI DesignMobile UI Design
Mobile UI Design
Simone Viani
 
Scenario Framework
Scenario FrameworkScenario Framework
Scenario Framework
Maurizio Farina
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
Marcello Teodori
 
DevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementDevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile Engagement
Roberto Albano
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
Andrea Castello
 
Xpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologiaXpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologia
Dominopoint - Italian Lotus User Group
 
Da crud a messaggi per app scalabili e manutenibili
Da crud a messaggi per app scalabili e manutenibiliDa crud a messaggi per app scalabili e manutenibili
Da crud a messaggi per app scalabili e manutenibili
Michele Aponte
 

Similar to Bpm forum 2013 web ratio - BPMN e IFML (20)

Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applications
 
Un'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseUn'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterprise
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
 
Corso sharepoint D2
Corso sharepoint D2Corso sharepoint D2
Corso sharepoint D2
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Laboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioniLaboratorio internet 9: Sviluppo delle funzioni
Laboratorio internet 9: Sviluppo delle funzioni
 
cv Armando Maglio
cv Armando Magliocv Armando Maglio
cv Armando Maglio
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
 
8. Architetture web
8. Architetture web8. Architetture web
8. Architetture web
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Mobile UI Design
Mobile UI DesignMobile UI Design
Mobile UI Design
 
Scenario Framework
Scenario FrameworkScenario Framework
Scenario Framework
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
 
DevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementDevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile Engagement
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Xpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologiaXpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologia
 
Da crud a messaggi per app scalabili e manutenibili
Da crud a messaggi per app scalabili e manutenibiliDa crud a messaggi per app scalabili e manutenibili
Da crud a messaggi per app scalabili e manutenibili
 

More from Profesia Srl, Lynx Group

6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion
6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion
6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion
Profesia Srl, Lynx Group
 
5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired
5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired
5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired
Profesia Srl, Lynx Group
 
3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT
3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT
3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT
Profesia Srl, Lynx Group
 
2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...
2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...
2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...
Profesia Srl, Lynx Group
 
1.Profesia 2023 State of the Software Supply Chain Talk.pdf
1.Profesia 2023 State of the Software Supply Chain Talk.pdf1.Profesia 2023 State of the Software Supply Chain Talk.pdf
1.Profesia 2023 State of the Software Supply Chain Talk.pdf
Profesia Srl, Lynx Group
 
Web content design: creare contenuti di qualità con Newired
Web content design: creare contenuti di qualità con NewiredWeb content design: creare contenuti di qualità con Newired
Web content design: creare contenuti di qualità con Newired
Profesia Srl, Lynx Group
 
In Estra la Digital Transformation parte dalla User Experience del Cliente
In Estra la Digital Transformation parte dalla User Experience del ClienteIn Estra la Digital Transformation parte dalla User Experience del Cliente
In Estra la Digital Transformation parte dalla User Experience del Cliente
Profesia Srl, Lynx Group
 
Omnichannel API integration in luxury market by Gianvito Rossi
Omnichannel API integration in luxury market by Gianvito RossiOmnichannel API integration in luxury market by Gianvito Rossi
Omnichannel API integration in luxury market by Gianvito Rossi
Profesia Srl, Lynx Group
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole Italia
Profesia Srl, Lynx Group
 
Verso l’universo e oltre
Verso l’universo e oltreVerso l’universo e oltre
Verso l’universo e oltre
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso reale
WSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso realeWSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso reale
WSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso reale
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks
 WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks
WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
 WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALE
WSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALEWSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALE
WSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALE
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdf
WSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdfWSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdf
WSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdf
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitaleWSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK #4 - Telefonica Use Case
WSO2 ITALIA SMART TALK #4 - Telefonica Use CaseWSO2 ITALIA SMART TALK #4 - Telefonica Use Case
WSO2 ITALIA SMART TALK #4 - Telefonica Use Case
Profesia Srl, Lynx Group
 
WSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new Feature
WSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new FeatureWSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new Feature
WSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new Feature
Profesia Srl, Lynx Group
 
PA NON TI DEMO: weModI e Interoperabilità delle PA...
PA NON TI DEMO: weModI e Interoperabilità delle PA...PA NON TI DEMO: weModI e Interoperabilità delle PA...
PA NON TI DEMO: weModI e Interoperabilità delle PA...
Profesia Srl, Lynx Group
 

More from Profesia Srl, Lynx Group (20)

6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion
6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion
6.TICTACTECH_POLARION_5giugno_ Functional Safety & CyberSecurity con Polarion
 
5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired
5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired
5. TIC TAC TECH: Employee Experience Empowerment grazie a Newired
 
3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT
3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT
3.TIC TAC TECH: Gartner - Gestire il debito tecnico dell'architettura IT
 
2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...
2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...
2. Guidare il futuro, l'approccio di WSO2 Italia alle tendenze tecnologiche e...
 
1.Profesia 2023 State of the Software Supply Chain Talk.pdf
1.Profesia 2023 State of the Software Supply Chain Talk.pdf1.Profesia 2023 State of the Software Supply Chain Talk.pdf
1.Profesia 2023 State of the Software Supply Chain Talk.pdf
 
Web content design: creare contenuti di qualità con Newired
Web content design: creare contenuti di qualità con NewiredWeb content design: creare contenuti di qualità con Newired
Web content design: creare contenuti di qualità con Newired
 
In Estra la Digital Transformation parte dalla User Experience del Cliente
In Estra la Digital Transformation parte dalla User Experience del ClienteIn Estra la Digital Transformation parte dalla User Experience del Cliente
In Estra la Digital Transformation parte dalla User Experience del Cliente
 
Omnichannel API integration in luxury market by Gianvito Rossi
Omnichannel API integration in luxury market by Gianvito RossiOmnichannel API integration in luxury market by Gianvito Rossi
Omnichannel API integration in luxury market by Gianvito Rossi
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole Italia
 
Verso l’universo e oltre
Verso l’universo e oltreVerso l’universo e oltre
Verso l’universo e oltre
 
WSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso reale
WSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso realeWSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso reale
WSO2 ITALIA SMART TALK #10 - Interoperability nelle utility, un caso reale
 
WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks
 WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks
WSO2 ITALIA SMART TALK #7 - Installare WSO2 in AWS: tips and tricks
 
WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
 WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
 
WSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALE
WSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALEWSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALE
WSO2 ITALIA SMART TALK #9 - WSO2 IDENTITY SERVER & SPID: UN CASO REALE
 
WSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdf
WSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdfWSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdf
WSO2 ITALIA SMARTTALK #8 ASYNCAPI.pdf
 
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitaleWSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
WSO2 ITALIA SMART TALK #6 - Autenticazione User Centric: Identità digitale
 
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
 
WSO2 ITALIA SMART TALK #4 - Telefonica Use Case
WSO2 ITALIA SMART TALK #4 - Telefonica Use CaseWSO2 ITALIA SMART TALK #4 - Telefonica Use Case
WSO2 ITALIA SMART TALK #4 - Telefonica Use Case
 
WSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new Feature
WSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new FeatureWSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new Feature
WSO2 ITALIA SMART TALK 2023 #2- WSO2 APIM new Feature
 
PA NON TI DEMO: weModI e Interoperabilità delle PA...
PA NON TI DEMO: weModI e Interoperabilità delle PA...PA NON TI DEMO: weModI e Interoperabilità delle PA...
PA NON TI DEMO: weModI e Interoperabilità delle PA...
 

Bpm forum 2013 web ratio - BPMN e IFML

  • 1. due standard OMG per realizzare le tue app BPM human centric BPMN e IFML
  • 2. Recap: perché modellare? Astrazione = riduzione della complessità Più semplice da comunicare §  A patto che il linguaggio sia conosciuto Da modello a esecuzione §  A patto che il modello sia sufficientemente espressivo
  • 3. Parliamo di app BPM human centric In pratica §  BPM §  App §  Human Centric §  User Task in BPMN Domanda §  Con un tool di BPMS come faccio a specificare ciò che succede all’interno di uno User Task? •  Form •  List •  Details •  Events •  … «interaction»
  • 4. Il problema è generalizzato Perché 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 legata all’esecuzione §  Molti linguaggi di programmazione e approcci disponibili (vedi ad esempio il mondo javascript) §  Nessun tentativo finora di affrontare il tema da parte di vendor e organizzazioni (con eccezione del linguaggio proprietario WebML)
  • 5. Un “gap” nella standardizzazione Nel 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’orchestrazione dei servizi (SoaML), alla progettazione di sistemi (SysML) o alla definizione 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. Interaction Flow Modeling Language §  Ecco perché è nato §  Ispirato da WebML e di fatto la sua generalizzazione dal dominio Web a qualsiasi dominio applicativo Interac(on  Flow  Modeling  Language  
  • 7. Interaction Flow Modeling Language Un 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 dati di applicazioni di front-end §  indipendentemente dal dominio applicativo
  • 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 progettare la UI insieme §  consentire la generazione automatica del codice anche per applicazioni di front-end
  • 9. Campo di espressione §  distinguere User Interaction da User Interface IFML 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, processi di business e invece NON esprime §  la posizione degli oggetti §  proprietà grafiche come colori e font §  il rendering degli oggetti
  • 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 eventi esterni §  definizione del «contesto» (posizione, storico, device, ecc.) §  modularizzazione e riuso
  • 11. Concetti di base di IFML Container ViewComponent Event Action
  • 12. Concetti di base di IFML Navigation flow Data flow Parameter binding
  • 13. Esempio di notazione IFML Basic navigation flow between ViewComponents
  • 14. Esempio di notazione IFML Nesting of ViewContainers Tagged ViewContainers (XOR, L, D, Modal, Modeless)
  • 15. Esempio di notazione IFML Actions
  • 16. Esempio di notazione IFML – Dettagli View ViewComponentParts: •  Data binding •  Parameters Types of ViewComponents (<<List>>)
  • 17. Esempio di notazione IFML – Eventi Selection event Submit event … ed è possibile specificare qualsiasi tipo di evento “custom”
  • 18. Esempio di notazione IFML ActivationExpression, SubmitEvent, Event generation
  • 19. Un esempio reale: il diagramma IFML di gmail Messages [L D] GMAIL top [X] Mbox List <<XOR>> Message Management MailBox Message notification <<XOR>> Message Reader <<D>> Message Index Message details <<L>> Settings <<P>> Tag chooser Report Archive Delete Tag/ Folder Index Associate to tag / Move to folder <<M>> Tag creator New Tag/ Folder Create Tag/ Folder Message toolbar OUT: NewTag IN: ATag OUT: NewTagName IN: TagName OUT: SelectedTag IN: ATag OUT: SelectedMessages IN: MessageSet Delete Archive Report MoveTo Create New Select Tag Create MarkAll MarkAll AsRead OUT: AllMessages IN: MessageSet <<parameter>> MessageSet <<XOR>> Message search <<D>> Search Message keyword search <<P>> FullSearch Message full search Show search options Search mail OUT: Keyword IN: SearchKey <<L>> Message writer <<form>> Message Writer Send Action {Self.MessageRecipients >1} OUT: MessageID IN: MessageID <<field>> To <<field>> Cc <<field>> Bcc <<field>> Subject <<field>> Body <<field>> Attachment OUT: Subject, From, Cc, Body, “ReplyAll” IN: “Re:”+ Subject, To, Cc, Body, State OUT: Subject, From, “”, Body, “Reply” IN: “Re:”+ Subject, To, Cc, Body, State OUT: Subject, “”, “”, Body, “Forward” IN: “Fw:”+ Subject, To, Cc, Body, State State =”Reply” OR ”Forward” Save Action State =”Forward” OR ”ReplyToAll” <<parameter>> State State = ”NewMessage” OR “Forward” Forward Reply ReplyToAll Add Bcc Add Cc Edit subject Add attachment Send Save Discard Reply ToAll Reply Forward State =”Reply” OR ”ReplyToAll” State =”Reply” OR ”ReplyToAll” OUT: Keyword, From, To., ... IN: SearchKey, FromKey, ToKey, .. *
  • 20. Risultati pratici della standardizzazione di IFML §  un metamodello ufficiale del linguaggio che descrive gli elementi base del modello e le loro relazioni §  un profilo UML consistente con il metamodello §  una sintassi grafica della notazione che permette una visione e definizione molto più intuitive §  un formato di interscambio basato su XMI
  • 21. Come usare insieme BPMN e IFML
  • 22. Q & A