49
A model-driven Web application platform for normal developers wakanda 1

Wakanda model-driven @ ICSSEA12

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Wakanda model-driven @ ICSSEA12

A model-driven Web application platformfor normal developers

wakanda

1

Page 2: Wakanda model-driven @ ICSSEA12

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

Page 3: Wakanda model-driven @ ICSSEA12

2007

How do you innovate in Web development?

http://www.photo-libre.fr

3

Page 4: Wakanda model-driven @ ICSSEA12

4

Page 5: Wakanda model-driven @ ICSSEA12

5

Page 6: Wakanda model-driven @ ICSSEA12

No OO

No central

Business Logic

6

Page 7: Wakanda model-driven @ ICSSEA12

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

Page 8: Wakanda model-driven @ ICSSEA12

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

Page 9: Wakanda model-driven @ ICSSEA12

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

Page 10: Wakanda model-driven @ ICSSEA12

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

10

Page 11: Wakanda model-driven @ ICSSEA12

Target

http://www.photo-libre.fr

no UML

no UML

Normal developer

11

Page 12: Wakanda model-driven @ ICSSEA12

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

wakanda

12

Page 13: Wakanda model-driven @ ICSSEA12

13

Page 14: Wakanda model-driven @ ICSSEA12

14

Page 15: Wakanda model-driven @ ICSSEA12

Working software is the primary measure

of progress

Agile

15

Page 16: Wakanda model-driven @ ICSSEA12

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

Page 17: Wakanda model-driven @ ICSSEA12

facilitate an incremental enrichment share emergent creation among team members

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

17

Page 18: Wakanda model-driven @ ICSSEA12

Graphical

Model Designer

18

Page 19: Wakanda model-driven @ ICSSEA12

Data Classes

19

Page 20: Wakanda model-driven @ ICSSEA12

Data Classes

20

Page 21: Wakanda model-driven @ ICSSEA12

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

Encourage modeling

21

Page 22: Wakanda model-driven @ ICSSEA12

22

Page 23: Wakanda model-driven @ ICSSEA12

JavaScriptOne Language

Client-SideServer-Side

23

Page 24: Wakanda model-driven @ ICSSEA12

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

Enrich the

Model

24

Page 25: Wakanda model-driven @ ICSSEA12

Storage attributes

25

Page 26: Wakanda model-driven @ ICSSEA12

Relation attributes

26

Page 27: Wakanda model-driven @ ICSSEA12

Alias attributes

27

Page 28: Wakanda model-driven @ ICSSEA12

Calculated Attribute

28

Page 29: Wakanda model-driven @ ICSSEA12

Validation

29

Page 30: Wakanda model-driven @ ICSSEA12

Pattern

30

Page 31: Wakanda model-driven @ ICSSEA12

DataClass Methods

31

Page 32: Wakanda model-driven @ ICSSEA12

Extends

32

Page 33: Wakanda model-driven @ ICSSEA12

• Business Layer

• Services Layer

• Presentation Layer

• Data Layer

• Security Layer

33

Page 34: Wakanda model-driven @ ICSSEA12

Business

no SQL

SSJS

34

Page 35: Wakanda model-driven @ ICSSEA12

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

Page 36: Wakanda model-driven @ ICSSEA12

Data Services

36

Page 37: Wakanda model-driven @ ICSSEA12

37

Page 38: Wakanda model-driven @ ICSSEA12

lazy-loading

38

Page 39: Wakanda model-driven @ ICSSEA12

DataBrowser39

Page 40: Wakanda model-driven @ ICSSEA12

40

Page 41: Wakanda model-driven @ ICSSEA12

Presentation

41

Page 42: Wakanda model-driven @ ICSSEA12

42

Page 43: Wakanda model-driven @ ICSSEA12

43

Page 44: Wakanda model-driven @ ICSSEA12

•sources.employee.fullName

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

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

WAF

44

Page 45: Wakanda model-driven @ ICSSEA12

Security

45

Page 46: Wakanda model-driven @ ICSSEA12

46

Page 47: Wakanda model-driven @ ICSSEA12

47

Page 48: Wakanda model-driven @ ICSSEA12

WYMIWYG

48

Page 49: Wakanda model-driven @ ICSSEA12

wakanda.org

@wakandasoft

JSeverywhere.org

@JSeverywhere

49