30
www.nexida.com www.nexida.com An MDA Approach to user interface Claudio Rubbiani June 2009

NEXiDA at OMG June 2009

Embed Size (px)

Citation preview

www.nexida.comwww.nexida.com

An MDA Approach to user interface

Claudio Rubbiani

June 2009

Thanks to …

Roberto Dalle Mura

You all!

In this session

User interface generation or execution through MDA

•Our experience in creating real world apps with a model

•The main user interface components “extracted”

•A model is possible & convenient

•Can our model be helpful to you and become a standard model?

Scope

Model to collect the information

Complete & Customize with standard programming tools

Templates, standard objects (tool)

+=

First release u.i.

Our experience

We can easily change it!

Q1: The starting point …

… market & customers!

Modeling tools

A1: Start from data!

1

2

Select the data structure

Complete the user interface information

DBWeb

Service(SOA)

Object model

UML Diagram

Extended model

Q2: Model or code?

The more you try to avoid coding the more …

•Your model will look like a programming tool

•Defining a model will take years

v

More functionalities supported …

•More benefits … (quality and time)

•More specific (internal) training for your development team

•High skills to manage the templates

Workflow, testing,security & authorization, platforms & devices indep., business logic, documentation, localization …

A2: Small steps

Incremental approach:

•Define a model that supports the main functionalities and a standard behavior

•Implement the model

•Test in real world apps to evaluate the results

Q3: The model’s format?•Domain Specific Language

•Class diagram & tagged values

•…

A3:Let’s decide together!

The model’s origin

•Productivity

•Quality

•Skill shortage

Study on real world apps•Starting from 2006 we analyzed over 100 ERP / departmental (data driven) apps (RPG, COBOL, VB4, VB6, Java, .NET, Ruby …)

•Extracted some common behaviors of the user interface

The model of the user int.

CRUDELSCreateReadUpdateDeleteExist (does not apply to u.i.)ListSearch

The model at work on a real web application

+=

ASP.NET, C#, ORM, WCF, Ajax, Javascript, JQuery, MS Enterprise Libraries, Mono, mainframe compatib.

Sea

rch

DB

CustomersCustomerID (int)Name (text)LastOrder (date)OnLine (boolean)

X

X

X

Use it

From –

to

Yes/No

/All

X

X

Positi

on

3

1

2

Search criteriaFrom date: __/__/____To date : __/__/____OnLine : AllName : ______________

Extended model

List

List

(2)

Cre

ate

Re

ad

Up

da

te

Co

mb

o B

oX

•Does not impact the u.i. much …

•Unless you start with cascade deletes confirmed by user

De

lete

Conclusions

Is this helpful?

How to go on …Agile process!

- Continuous delivery of valuable model- Work together- Simplicity- Test model (templates and tool) on real world apps

Thank you again!

How to contact me:

Claudio Rubbiani

Tel: +39 059 460578Mobile: +39 348 7049610

[email protected] available soon