Web Pontoon: A Method for Reflective Web Applications



                                                                 ...
Web Pontoon: A Method for Reflective Web Applications


Context: Architecture for Ambient Systems

                       ...
Web Pontoon: A Method for Reflective Web Applications


Context: Architecture for Ambient Systems

                       ...
Web Pontoon: A Method for Reflective Web Applications


Component-based web application development in Seaside



        ...
Web Pontoon: A Method for Reflective Web Applications


Objective: On-line end-user programmable control flows



        ...
Web Pontoon: A Method for Reflective Web Applications


Solution approach


             • Enable online & controlled prog...
Web Pontoon: A Method for Reflective Web Applications


Creating DSML by extending of a meta-language framework


        ...
Web Pontoon: A Method for Reflective Web Applications


Standard Smalltalk (web) application development practices


     ...
Web Pontoon: A Method for Reflective Web Applications


Dart : Meta-language framework design



                         ...
Web Pontoon: A Method for Reflective Web Applications


Background: Ambiance project (2005-2006), UL




                 ...
Web Pontoon: A Method for Reflective Web Applications


Assumptions


             • Changing content & functionality
    ...
Web Pontoon: A Method for Reflective Web Applications




               Managing flows & lifecycles as content



       ...
Web Pontoon: A Method for Reflective Web Applications


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




     ...
Web Pontoon: A Method for Reflective Web Applications


Implementation




                                               ...
Web Pontoon: A Method for Reflective Web Applications


Seaside JQuery-based viewers / editors


             • Based on a...
Web Pontoon: A Method for Reflective Web Applications




                Illustration: Activity editor
                  ...
Web Pontoon: A Method for Reflective Web Applications




               Illustration




                                ...
Web Pontoon: A Method for Reflective Web Applications


Twitter – traffic info example


             • Two levels of prog...
Web Pontoon: A Method for Reflective Web Applications




                                                                ...
Web Pontoon: A Method for Reflective Web Applications




                                                                ...
Web Pontoon: A Method for Reflective Web Applications


Login to Twitter atomic service




                              ...
Web Pontoon: A Method for Reflective Web Applications


Get England traffic info atomic service




                      ...
Web Pontoon: A Method for Reflective Web Applications


Interactive tweeting service



               aTwitter
          ...
Web Pontoon: A Method for Reflective Web Applications


While true atomic service




                                    ...
Web Pontoon: A Method for Reflective Web Applications




                                                   Login to Twit...
Web Pontoon: A Method for Reflective Web Applications




               Live demo

                               •      ...
Web Pontoon: A Method for Reflective Web Applications


Application perspectives – ICT-based support to the elderly




  ...
Web Pontoon: A Method for Reflective Web Applications


Application perspectives – Business applications




             ...
Web Pontoon: A Method for Reflective Web Applications


Other application perspectives


             • Web-based model au...
Web Pontoon: A Method for Reflective Web Applications


Research perspectives
                                            ...
Web Pontoon: A Method for Reflective Web Applications


Call for collaboration


             • Independent start-up compa...
Web Pontoon: A Method for Reflective Web Applications




                                                                ...
Upcoming SlideShare
Loading in …5
×

Web Pontoon

1,294 views

Published on

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

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,294
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web Pontoon

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 -
  16. 16. Web Pontoon: A Method for Reflective Web Applications Illustration: Activity editor Action 1 Action 2 Action 3 + Operation 1 Operation 2 Here goes the description of this Operation - Design Operation - Execute Operation - Remove Operation - Edit Operation - View Operation Traces - Copy Operation Operation 3 Add Operation - Edit Action - Remove Action - Execute Activity - Edit Activity - View Activity Traces - Remove Activity . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
  17. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 -

×