UiPath Test Automation using UiPath Test Suite series, part 2
Web Pontoon
1. Web Pontoon: A Method for Reflective Web Applications
Web Pontoon
A Method for Reflective Web Applications
Reza Razavi – razavi@acm.org
• 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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
2. Web Pontoon: A Method for Reflective Web Applications
Context: Architecture for Ambient Systems
Activity intelligence services: Multiple users
What, Where, When, Who, Why
Decision
Making
Online
Adaptation
Online
Observation
Online
Management
Execution &
lifecycle
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -2-
3. Web Pontoon: A Method for Reflective Web Applications
Context: Architecture for Ambient Systems
Activity intelligence services: Multiple users
What, Where, When, Who, Why
Decision
Making
Online
Adaptation
Online
Observation
Online
Management
Execution &
lifecycle
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -3-
4. Web Pontoon: A Method for Reflective Web Applications
Component-based web application development in Seaside
i1
Component I1-i2
CMP1 CMP2 i2
CMP3 IO
i1
CMP4 I1+i2
CMP5 CMP6
i2
Hardcoded
control flows
CMP7 CMP8 CMP9
Matrix of
components
adopted from
Damien Picard
and Loic Lagadec
ESUG 2009
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -4-
5. Web Pontoon: A Method for Reflective Web Applications
Objective: On-line end-user programmable control flows
i1
CMP1 CMP2 I1-i2
CMP3 IO
i2
i1
CMP4 I1+i2
CMP5 CMP6
i2
Dynamically programmable
control flows
CMP7 CMP8 CMP9
- Change online the output with predictable results
+ Situated lifecycle management
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -5-
6. Web Pontoon: A Method for Reflective Web Applications
Solution approach
• 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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -6-
7. Web Pontoon: A Method for Reflective Web Applications
Creating DSML by extending of a meta-language framework
Pontoon meta-language
• Domain-Driven Design
• Framework specialisation
Pontoon DSML
Standard programming
DS web pontoon
Online end-user programming
Individualised web pontoons
Execution (manually by ordinary
end-users or automated)
Pontoon app lifecycles
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -7-
8. Web Pontoon: A Method for Reflective Web Applications
Standard Smalltalk (web) application development practices
Smalltalk meta-language Pontoon meta-language
Smalltalk dialect / fork Pontoon DSML
Smalltalk (web) application DS web pontoon
Configuration Configuration, CM
Content management + Online EU programming
Data repositories Situated lifecycles
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -8-
9. Web Pontoon: A Method for Reflective Web Applications
Dart : Meta-language framework design
Activity Conscious Product
Activity
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -9-
10. Web Pontoon: A Method for Reflective Web Applications
Background: Ambiance project (2005-2006), UL
Tasks
Service Repository
Activity
Steps
Domain Concepts
http://osl.cs.uiuc.edu/people?user=razavi
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 10 -
11. Web Pontoon: A Method for Reflective Web Applications
Assumptions
• 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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 11 -
12. Web Pontoon: A Method for Reflective Web Applications
Managing flows & lifecycles as content
• Systematic tree structure of pontoon web apps,
both at the operational & knowledge level
• Seaside JQuery-based viewers
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
13. Web Pontoon: A Method for Reflective Web Applications
Webapp as a tree of operational- & knowledge-level nodes
Root
Pages Components Files Templates Concepts Contracts Activities
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 13 -
14. Web Pontoon: A Method for Reflective Web Applications
Implementation
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 14 -
15. Web Pontoon: A Method for Reflective Web Applications
Seaside JQuery-based viewers / editors
• 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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 15 -
17. Web Pontoon: A Method for Reflective Web Applications
Illustration
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
18. Web Pontoon: A Method for Reflective Web Applications
Twitter – traffic info example
• 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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 18 -
19. Web Pontoon: A Method for Reflective Web Applications
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 19 -
20. Web Pontoon: A Method for Reflective Web Applications
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 20 -
21. Web Pontoon: A Method for Reflective Web Applications
Login to Twitter atomic service
aTwitter
Connection
Login to Twitter
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 21 -
22. Web Pontoon: A Method for Reflective Web Applications
Get England traffic info atomic service
aString
Get England
traffic info
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 22 -
23. Web Pontoon: A Method for Reflective Web Applications
Interactive tweeting service
aTwitter
Connection aTwitter
Com.
Interactive
tweeting
aMessage
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 23 -
24. Web Pontoon: A Method for Reflective Web Applications
While true atomic service
anAction
While true
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 24 -
25. Web Pontoon: A Method for Reflective Web Applications
Login to Twitter
While true
Get England traffic
info
Send to twitter
WATwitterTask >> go
aTwitter := self call: TwitterLoginService new.
[itemColl := CSLTransportInfo new results atRandom.
InteractiveTweetingService
on: aTwitter
tweet: anItem description]
whileTrue
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 25 -
26. Web Pontoon: A Method for Reflective Web Applications
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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
27. Web Pontoon: A Method for Reflective Web Applications
Application perspectives – ICT-based support to the elderly
Delegate to care providers the
management of diversity &
unpredictable changeability
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 27 -
28. Web Pontoon: A Method for Reflective Web Applications
Application perspectives – Business applications
Delegate to domain experts the
description & validation of
application-level business logic via
executable models
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 28 -
29. Web Pontoon: A Method for Reflective Web Applications
Other application perspectives
• 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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 29 -
30. Web Pontoon: A Method for Reflective Web Applications
Research perspectives
Multiple users
Activity intelligence services:
What, Where, When, Who, Why
Internet
Decision
Making
Online
Adaptation
Online
Observation
Online
Wifi
Management
Execution &
lifecycle
ZigBee
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 30 -
31. Web Pontoon: A Method for Reflective Web Applications
Call for collaboration
• 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
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 31 -
32. Web Pontoon: A Method for Reflective Web Applications
Contact
AAS (Ambient Activity Systems)
Web technology meets dynamics of changing economy
Reza RAZAVI
Ph.D. Computer Science
Chief Technology Officer
(+352) 621 50 46 53
razavi@aas.lu
Ecostart – centre d’entreprise et d’innovation
Bâtiment 1, Rue de l’industrie – L-3895 Foetz (LUXEMBOURG)
.
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 32 -