webinar ifml en español

30
Interaction Flow Modeling Language Matteo Silva matteosilva Politecnico di Milano and WebRatio Webinar Mayo 31, 2013

Upload: matteo-silva

Post on 04-Jul-2015

2.227 views

Category:

Technology


1 download

DESCRIPTION

Presentación de resumén del primer Webinar acerca IFML, un nuevo estandar de OMG.

TRANSCRIPT

Page 1: Webinar IFML en Español

Interaction Flow Modeling Language

Matteo Silva matteosilva

Politecnico di Milano and WebRatio

Webinar Mayo 31, 2013

Page 2: Webinar IFML en Español

2

¿Cuándo fue la ultima vez que desarrollaste el front-end de una aplicación?

¿Cuándo fue la ultima vez que te enojaste haciéndolo?

El desarrollo de la UI (User Interface) de una aplicación y la implementación de la interacción de usuario es una de las fases mas “dolorosas” del proceso de desarrollo….

… para todos!

¿Es esté tu problema?

Page 3: Webinar IFML en Español

3

Las razones de tu frustración:

La complexidad de las UIs incrementa el tiempo de desarrollo

• Nuevo eventos, dispositivos, casos de uso, interacciones…

Herramientas primitivas en la programación de UI

• Widgets drag&drop

• Hooks to execution

Especialmente para las modernas UIs, gran parte del trabajo resulta todavía manual mediante programación tediosa (por ejemplo programación Javascript )

No existe ninguna metodología MDE (Model Driven Engineering ) que abarque esta problemática, excepto WebML+WebRatio en el dominio de las aplicaciones Web.

El problema del modelado de la UI

Page 4: Webinar IFML en Español

4

La comunidad de desarrolladores percibe una falta de estandarización

La interacciónón de usuarios ha sido subestimada en la ingeniería del software

• Más se focaliza en temas relativos al backend y arquitecturales

Los pocos intentos de estandarización de la UI fracasaron porque:

• Intentaron utilizar lenguajes de dominio generico (ej. UML)

• La notación era poco usable y poco efectiva

• Falta de implementaciones solidas por parte de software vendors

La falta de estandarización

Page 5: Webinar IFML en Español

5

Todo esto fue lo que nos motivó a proponer

Fuertemente inspirado por WebML, actualmente representa su generalización desde el dominio Web a un dominio genérico para la representación del Front-end de cualquier tipo de aplicación (Web,

Escritorio, Mobile, etc.)

Interaction Flow Modeling Language

El Lenguaje de Modelado para los Flujos de Interacción

Page 6: Webinar IFML en Español

6

Les haremos una oferta que no

podrán rechazar.

En menos de 2 años (¡un record en OMG!), hemos obtenido una

aprobación de IFML como estándar

Object Management Group

Page 7: Webinar IFML en Español

7

Objetivos

Un lenguaje de modelado para representar

La visualización de los contenidos en las interfaces de usuario

Patrones de navegación

Eventos de usuario y su interacción

Binding a la lógica de negocio

Binding a las capas de persistencia

del front-end de las aplicaciones pertinentes a diversos dominios funcionales

Interaction Flow Modeling Language

Page 8: Webinar IFML en Español

8

Especificación formal de las diferentes perspectivas del fron-end

Aislamiento de las problemáticas de la UI

Separación de los conceptos (interacción de usuario vs. backend)

Simplificación de la comunicación entre los expertos de UI y stakeholdersno tecnicos

Generación automática del código para el front-end de las aplicaciones

Ventajas

Page 9: Webinar IFML en Español

9

Enfoque la interacción de usuario:

UI mezcla temas de visualización y diseño gráfico

Distinguir la Interacción de la Interfaz

La VIEW part (=front-end) de una aplicación software

Componentes de view

Eventos

Interacción entre componentes

Interacción entre usuario y componentes (eventos)

Distribución de los componentes y referencia a los componentes de la capa de datos y de la capa lógica de una arquitectura multicapa

Enfoque

Page 10: Webinar IFML en Español

10

Vistas multiples de la misma aplicación

Aplicaciones Mobiles y múltiple-dispositivo

Visualización e ingreso de data, y producción de eventos

Componentes independientes a widgets y presentación

Interaction flow (flujo de interacción), activados por usuarios o eventos

Contexto de usuario: el estado del usuario en el instante corriente de la interacción (posición, historial, maquina, plataforma..)

Modularidad del modelo (reutilizo de los componentes o fragmentos del modelo)

Validación del “input” del usuario, de acuerdo a OCL (Object ConstraintLanguage) o a otros lenguaces similares

Aspectos cubiertos

Page 11: Webinar IFML en Español

11

IFML conceptos principales (core IFML) 1/2

Container(contenidor)

ViewComponent

(componente de vista)

Event

(evento)

Action

(acción)

Page 12: Webinar IFML en Español

Navigation flow

(flujo de navegación)

Data flow

(flujo de datos)

Parameter binding

(vinculación de parametros)

12

IFML conceptos principales (core IFML) 2/2

Page 13: Webinar IFML en Español

Lo que ganas y lo que pierdes

Nuevos aspectos

• Modelado de eventos genéricos

• De usuario y de sistema

• Flujo entre componentes y contenidores

Nuevo

• ViewComponent

• Details, List, Form

• Flow, Data Flow

• Action

• Port

Aspectos faltantes

• Modelación de orquestación (cadenas de operaciones)

Viejo

• Unit

• Data, Index, Entry Units

• Link, Transport Link

• Operation Module

• Input/Output Collector13

Cambios de terminología desde WebML

Page 14: Webinar IFML en Español

14

IFML Ejemplo de sintaxis 1/2

Flujo básico de navegación entre ViewComponents

Page 15: Webinar IFML en Español

15

IFML Ejemplo de sintaxis 2/2

ViewContainers inhestados

Tagged ViewContainers (XOR, L, D, Modal, Modeles)

Page 16: Webinar IFML en Español

16

IFML concrete syntax by example

Actions

Page 17: Webinar IFML en Español

ViewComponentParts:

• Data binding

• Parameters

Types of ViewComponents (<<List>>)

17

IFML – Agregar detalles a ViewComponents

Page 18: Webinar IFML en Español

Selection event

Submit event

.. Y todos los que necesitas para tu comodidad!18

IFML – subtipos de componentes y eventos

Page 19: Webinar IFML en Español

IFML está definido por un metamodelo

IFML metamodel (1)

19

Page 20: Webinar IFML en Español

Tiene 2 paquetes principales:

IFML metamodel (2)

• IFML Core

• IFML Extensions

… y desde luego tu puedes extender lo que quieras, para diferentes campos y plataformas (Web, Mobile, …)

20

Page 21: Webinar IFML en Español

Un ejemplo real.. La UI completa de GMAIL

21

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: NewTagIN: ATag

OUT: NewTagNameIN: TagName

OUT: SelectedTagIN: ATag

OUT: SelectedMessagesIN: MessageSet

Delete

Archive

Report

MoveTo

Create New

Select Tag

Create

MarkAll

MarkAllAsRead

OUT: AllMessagesIN: MessageSet

<<parameter>>MessageSet

<<XOR>> Message search

<<D>> Search

Message keyword search

<<P>> FullSearch

Message full search

Show search options

Search mail

OUT: KeywordIN: SearchKey

<<L>> Message writer

<<form>> Message Writer

Send Action

{Self.MessageRecipients >1}

OUT: MessageIDIN: 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”

SaveAction

State =”Forward” OR ”ReplyToAll”

<<parameter>> State

State = ”NewMessage” OR“Forward”

Forward

Reply

ReplyToAll

Add Bcc

Add Cc

Edit subject

Add attachment

Send Save

DiscardReplyToAll

Reply

Forward

State =”Reply” OR ”ReplyToAll”

State =”Reply” OR ”ReplyToAll”

OUT: Keyword, From, To., ...IN: SearchKey, FromKey, ToKey, ..

*

Page 22: Webinar IFML en Español

22

IFML ejemplos concretos de sintaxis

ActivationExpression, SubmitEvent, Event generation

Page 23: Webinar IFML en Español

23

IFML ejemplos concretos de sintaxis

intra-component events and flows

Page 24: Webinar IFML en Español

24

Un meta modelo oficial del lenguaje que describe la semántica y las relaciones entre los constructos del modelado

Una sintaxis grafica y concreta para la notación de interacción de flujos que provee una representación intuitiva de la composición de la interfaz de usuario, la interacción y la lógica de control para el diseñador de front-end.

Un Perfil UML consistente del metamodelo

Un formato de intercambio entre tools basado en XMI

Todo esto, especificado mediante una notación estándar

Resultados practicos a tener el estandar

Page 25: Webinar IFML en Español

25

Aspectos estáticos

El perfil UML de IFML�

«page»AlbumSearch

«page»Albums

«page»Album

Album Search Album Index Album Detail

«index»Message

Index

«index»MBox List «link»

Page 26: Webinar IFML en Español

26

Static aspects

Señales con valores “tagged”

Aspectos dinámicos

El perfil UML de IFML�

«signal»SelectMailMessages

mBox :string

Tagged values.

Parameter mBoxout name: selectedMBoxin name: mBox�

«index»MBox List

«index»Message

Index

SelectMailMessages(mBox)

Page 27: Webinar IFML en Español

Una estrecha integración entre diferentes herramientas de modelado

Gracias a XMI (formato de intercambio), Perfiles UML, especificaciones propietarias de software vendors

Modelado IFML e generación de UI

en contextos industriales avanzados

27

Integración e intercambio de Modelos

Tool UML que implementan el

perfil IFML

Page 28: Webinar IFML en Español

28

Fuerte integración con otras perspectivas de modelado y capas de modelado de una arquitectura de una app enterprise

Utilizo conjunto de IFML y otros lenguajes MDA, por ejemplo:

• UML

• BPMN

• SysML

• SoaML

• …

En particular abarca:

• DataBinding a clases y atributos de un Class Diagram UML

• Conexión a la lógica de business de bac-kend como metodos UML o diagramas dinámicos UML (activity diagram, sequence diagram, state chart diagram, …)

Broader, enterprise-wide modeling

Page 29: Webinar IFML en Español

Matteo Silva

matteosilva

[email protected]

Si quieres conocer mas acerca de MDE lee el libro:

“Model Driven Software Engineering in Practice”.

Brambilla, Cabot, Wimmer.

Morgan&Claypool, USA.

Page 30: Webinar IFML en Español

Matteo Silva

matteosilva

[email protected]

¡Gracias por asistir!