Wakanda model-driven @ ICSSEA12

Preview:

DESCRIPTION

Wakanda: A model-driven Web application platform
 for normal developers. ICSSEA'12 session

Citation preview

A model-driven Web application platformfor normal developers

wakanda

1

Christophe Keromen

Blog: http://www.ckti.com Viadeo : http://www.viadeo.com/fr/profile/christophe.keromen LinkedIn : http://fr.linkedin.com/in/christophekeromen Twitter : @ckeromen

2

2007

How do you innovate in Web development?

http://www.photo-libre.fr

3

4

5

No OO

No central

Business Logic

6

http://www.flickr.com/photos/chebbs/4039748946/sizes/l/in/photostream/

Dissemination of business rules in the code.It becomes complicated to evolve the system,

to train new collaborators, and thus to maintain applications

7

Need for explicit modeling in the domain in order to:

• abstract business rules from the code

• centralize them in a unique and clearly identified space

8

http://www.photo-libre.fr

How do you innovate in Web development?

• Keep the good ideas from 4D • Improve business modeling• Integrate the state of the art in Web development• Simplify the implementation of a new Web project

9

How do you increase efficiency of business models ?How do you get developers to adopt modeling?Reconcile abstraction with simplicity and intuitive use?

10

Target

http://www.photo-libre.fr

no UML

no UML

Normal developer

11

multi-platform system for developing and deploying model-driven Web applications

wakanda

12

13

14

Working software is the primary measure

of progress

Agile

15

Agile

In two weeks (the rhythm of one iteration), what do you get:

A model or "working software"?

http://www.fotopedia.com/items/flickr-2824489394

16

facilitate an incremental enrichment share emergent creation among team members

http://s.camptocamp.org/uploads/images/1303503816_1623982648.jpg

17

Graphical

Model Designer

18

Data Classes

19

Data Classes

20

http://www.flickr.com/photos/limagiraphe/6392031713/sizes/l/in/photostream/

Encourage modeling

21

22

JavaScriptOne Language

Client-SideServer-Side

23

http://www.flickr.com/photos/nnsanews/7017089843/sizes/h/in/photostream/

Enrich the

Model

24

Storage attributes

25

Relation attributes

26

Alias attributes

27

Calculated Attribute

28

Validation

29

Pattern

30

DataClass Methods

31

Extends

32

• Business Layer

• Services Layer

• Presentation Layer

• Data Layer

• Security Layer

33

Business

no SQL

SSJS

34

SSJS

var john = ds.Employee.find('firstName eq John');var conferences = john.conferences;var JohnJSConferences = conferences.filter ("title eq '*JavaScript*'");var JSAttendeesJohnMet = JohnJSConferences.attendees;

35

Data Services

36

37

lazy-loading

38

DataBrowser39

40

Presentation

41

42

43

•sources.employee.fullName

• sources. employee.query('firstName="John"'), {onSuccess:function(){}});;

• sources.employee.query('ID<100',{autoExpand: 'company'});

WAF

44

Security

45

46

47

WYMIWYG

48

wakanda.org

@wakandasoft

JSeverywhere.org

@JSeverywhere

49

Recommended