Web Pontoon

32
Web Pontoon: A Method for Reflective Web Applications ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010 . Web Pontoon A Method for Reflective Web Applications Reza Razavi – [email protected] Not a webapp, but a method for developing webapps Online programming by non-professional programmers Managing the functionality of your webapp as content When diverse & changing control flows Provision of individualised services to senior citizens Reengineering & architectural innovation of legacy apps Web, OO, AOM, SOA, EUP and DDD Pure Smalltalk + Seaside generated JavaScripts for GUI Seaside Pier Magritte + Dart Large scale deployments (100 000 servers for 2015) Commercial product

description

Web Pontoon. A Method for Reflective Web ApplicationsReza Razavi. ESUG 2010, Barcelona, Spain

Transcript of Web Pontoon

Page 1: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Web PontoonA Method for Reflective Web Applications

Reza Razavi – [email protected]

• Not a webapp, but a method for developing webapps

• Online programming by non-professional programmers

• Managing the functionality of your webapp as content• When diverse & changing control flows

• Provision of individualised services to senior citizens

• Reengineering & architectural innovation of legacy apps

• Web, OO, AOM, SOA, EUP and DDD

• Pure Smalltalk + Seaside generated JavaScripts for GUI

• Seaside Pier Magritte + Dart

• Large scale deployments (100 000 servers for 2015)

• Commercial product

Page 2: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Context: Architecture for Ambient Systems

- 2 -

On

line

Ob

se

rva

tion

On

line

Ad

ap

tatio

n

On

line

De

cis

ion

M

ak

ing

Ex

ec

utio

n &

life

cyc

le

Ma

na

ge

me

nt

Multiple usersActivity intelligence services:What, Where, When, Who, Why

Page 3: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Context: Architecture for Ambient Systems

- 3 -

On

line

Ob

se

rva

tion

On

line

Ad

ap

tatio

n

On

line

De

cis

ion

M

ak

ing

Ex

ec

utio

n &

life

cyc

le

Ma

na

ge

me

nt

Multiple usersActivity intelligence services:What, Where, When, Who, Why

Page 4: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Component-based web application development in Seaside

- 4 -

CMP4

CMP7

CMP1 CMP2

CMP6

CMP8 CMP9

I1+i2i1

i2

i1

i2I1-i2

CMP5

CMP3 IOComponent

Hardcoded

control flows

Matrix of components adopted from

Damien Picard and Loic Lagadec

ESUG 2009

Page 5: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Objective: On-line end-user programmable control flows

- 5 -

CMP4

CMP7

CMP1 CMP2

CMP6

CMP8 CMP9

I1+i2i1

i2

i1

i2I1-i2

CMP5

CMP3 IO

Dynamically programmable

control flows

- Change online the output with predictable results + Situated lifecycle management

Page 6: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

• Enable online & controlled programmability of webapps by embedding a DSML

• Address diversity of domains and requirements by a meta-language framework approach

• Address the identification of changing aspects and DSML requirements by Domain-Driven Design

• Address smart behaviour requirements by situated lifecycle management

Solution approach

- 6 -

Page 7: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Creating DSML by extending of a meta-language framework

- 7 -

Pontoon meta-language

Pontoon DSML

Individualised web pontoons

Pontoon app lifecycles

• Domain-Driven Design• Framework specialisation

Online end-user programming

Execution (manually by ordinary end-users or automated)

DS web pontoon

Standard programming

Page 8: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Standard Smalltalk (web) application development practices

- 8 -

Smalltalk meta-language

Smalltalk dialect / fork

Smalltalk (web) application

Configuration

Content management

Pontoon meta-language

Pontoon DSML

Configuration, CM

+ Online EU programming

Situated lifecycles

DS web pontoon

Data repositories

Page 9: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Dart : Meta-language framework design

- 9 -

Activity Activity Conscious Product

Page 10: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010. - 10 -

Background: Ambiance project (2005-2006), UL

Service Repository

Domain Concepts

Steps

Tasks

Activity

http://osl.cs.uiuc.edu/people?user=razavi

Page 11: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

• Changing content & functionality

• Changes are unpredictable, by their patterns aren’t

• Patterns of change may be “wrapped” into a DSML

• End-user are motivated to program using that DSML

Assumptions

- 11 -

Page 12: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Managing flows & lifecycles as content

• Systematic tree structure of pontoon web apps, both at the operational & knowledge level

• Seaside JQuery-based viewers

Page 13: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Root

Pages Components Files Templates Concepts Contracts Activities

- 13 -

Webapp as a tree of operational- & knowledge-level nodes

Page 14: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Implementation

- 14 -

Page 15: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

• Based on a framework for hierarchical viewers / editors

• Implemented in a couple of weeks

• Via extensive refactoring

• Seaside JQuery examples as starting point

•Without any previous knowledge of JQuery

•Without any line of JavaScript ever written

Seaside JQuery-based viewers / editors

- 15 -

Page 16: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Operation 1

Add Operation

Operation 3

Action 1 Action 2 Action 3 +

- Execute Activity- View Activity Traces

Operation 2

- Edit Action

- Remove Action

- Design Operation- Edit Operation

Here goes the description of this Operation

- Remove Operation

- Copy Operation

- Execute Operation- View Operation Traces

- Edit Activity- Remove Activity

Illustration: Activity editor

Page 17: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Illustration

Page 18: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

• Two levels of programming in pontoon webapps

• Reusability of existing components

• Atomic services / Contracts

• Accessibility of on-line data streams (& web services)

• Accessibility of on-line communication media

• Social networking

• Relative ease of use

• Expressivity

• Case designed for a short but yet representative demo

• Real-life usefulness not necessarily a goal

Twitter – traffic info example

- 18 -

Page 19: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010. - 19 -

Page 20: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010. - 20 -

Page 21: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Login to Twitter atomic service

- 21 -

Login to Twitter

aTwitter

Connection

Page 22: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Get England traffic info atomic service

- 22 -

Get England

traffic info

aString

Page 23: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Interactive tweeting service

- 23 -

Interactive

tweeting

aTwitter

Com.

aTwitter

Connection

aMessage

Page 24: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

While true atomic service

- 24 -

While true

anAction

Page 25: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010. - 25 -

WATwitterTask >> go

aTwitter := self call: TwitterLoginService new.

[itemColl := CSLTransportInfo new results atRandom.

InteractiveTweetingService

on: aTwitter

tweet: anItem description]

whileTrue

Login to Twitter

Get England traffic

info

Send to twitter

While true

Page 26: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Live demo

• Programming on-line the above example

• As an end-user programmers

• Via http://www.afacms.com

• Executing the above end-user program

• As a final end-user

• Inspecting execution lifecycles

• As a manager

Page 27: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Application perspectives – ICT-based support to the elderly

- 27 -

Delegate to care providers the

management of diversity &

unpredictable changeability

Page 28: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Application perspectives – Business applications

- 28 -

Delegate to domain experts the

description & validation of

application-level business logic via

executable models

Page 29: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

• Web-based model authoring and execution systems

• Architectural innovation of legacy applications

• Self-documenting web applications

• Extending Service-Serve possibilities

• On-line store for situational services

• Community project http://pontoonity.com

Other application perspectives

- 29 -

Page 30: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

Research perspectives

- 30 -

On

line

Ob

se

rva

tion

On

line

Ad

ap

tatio

n

On

line

De

cis

ion

M

ak

ing

Ex

ec

utio

n &

life

cyc

le

Ma

na

ge

me

nt

Multiple users

ZigBee

Wifi

Internet

Activity intelligence services:What, Where, When, Who, Why

Page 31: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010.

• Independent start-up company

• Hosted by the Ministry of Economy and Foreign Commerce in Luxembourg

• Background in industrial software development (Prelude Inspection) & academic research (Paris 6 & Univ. Luxembourg)

• Welcomes industrial and academic Partners, Sponsors and Early Adopters

Call for collaboration

- 31 -

Page 32: Web Pontoon

Web Pontoon: A Method for Reflective Web Applications

®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: [email protected] – IWST’2010, ESUG Barcelona – Sep. 14, 2010. - 32 -

AAS (Ambient Activity Systems) AAS (Ambient Activity Systems) AAS (Ambient Activity Systems) AAS (Ambient Activity Systems)

Web technology meets dynamics of changing economy Web technology meets dynamics of changing economy Web technology meets dynamics of changing economy Web technology meets dynamics of changing economy

Reza RAZAVI

Ph.D. Computer Science

Chief Technology Officer

(+352) 621 50 46 53 [email protected]

Ecostart – centre d’entreprise et d’innovation Bâtiment 1, Rue de l’industrie – L-3895 Foetz (LUXEMBOURG)

Contact