“ web application maker”: the next 11 years miguel calejo declarativa, portugal 28-apr-2011...
TRANSCRIPT
![Page 1: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/1.jpg)
“Web Application Maker”: the next 11 years
Miguel CalejoDeclarativa, Portugal
http://www.declarativa.com
![Page 2: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/2.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 2
Agenda for today
• Web apps: a different perspective on DRY• Web Application Maker
– Architecture– The database is (almost) the app– Meta-model editing with WAMAdmin– What can WAM do for me?– Beyond models, into custom coding
• Conclusion, and an announcement
![Page 3: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/3.jpg)
http://www.declarativa.com
July 2010 Copyright Declarativa 3
Declarativa: apps... and tools
• For SQL developers:– Web Application Maker– RegionDoc
• For Prolog developers– InterProlog
• Desktop• Mobile
![Page 4: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/4.jpg)
http://www.declarativa.com
4
WAM in the real world
> 40 web IS since 2000:
• CCDR-N
• CVRVV
• DoD/DLA (USA)
• Environment Agency
• Ministry of Economy
• RentingPoint
• Servisoft
• XSB, Inc. (USA)
![Page 5: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/5.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 5
Agenda for today
• Web apps: a different perspective on DRY• Web Application Maker
– Architecture– The database is (almost) the app– Meta-model editing with WAMAdmin– What can WAM do for me?– Beyond models, into custom coding
• Conclusion, and an announcement
![Page 6: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/6.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 6
Web software development• Web application - a definition:
– Software providing server responses to a set of HTTP URL requests from user browsers
• At least 3 software execution layers:– DB
• Transact-SQL, PL-SQL, ...– Web (HTTP) server
• JavaScript, VBScript, PHP, Java, Ruby, Python...– Browser web
• HTML, JavaScript, Flash, Java, …
• DRY– Don’t Repeat Yourself…?
![Page 7: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/7.jpg)
http://www.declarativa.com
7/9
<hype>Where is the essence of your app?
SQL
Java, VB,
C#, Perl,
Ruby...
...and what can this mean for your development?
Declarative knowledge Redundancy
hard to change
Yet another model
![Page 8: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/8.jpg)
http://www.declarativa.com
8/9
Boost your SQL layer!
SQL
• Database changes not a problem• Zero lines of code, customizable in JavaScript
</hype>
Project center is now here
WAM
Multiple user
profiles
User
User
![Page 9: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/9.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 9
The WAM pictureServers
Customcode
ApplicationDB
WAMmodel
WAM“interpreter”
SQL ServerIIS (ASP engine)
Workstation
BrowserMyApplication
![Page 10: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/10.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 10
Agenda for today
• Web apps: a different perspective on DRY• Web Application Maker
– Architecture– The database is (almost) the app– Meta-model editing with WAMAdmin– What can WAM do for me?– Beyond models, into custom coding
• Conclusion, and an announcement
![Page 11: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/11.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 11
Visiting the WAM showroom
• Two databases available for experimentation over the web– Northwind: food stores example– pubs: books and publishers example
• Developing a simple front-end application for the Northwind database, over three versions: – Northwind (we do nothing – single click and WAM
makes it)– Northwind_B (no code, just WAMmodel editing)– Northwind_C (SQL user types plus some Javascript)
![Page 12: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/12.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 12
“Northwind” database
![Page 13: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/13.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 13
Single click: "vanilla" WAM app
![Page 14: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/14.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 14
Northwind_B, an hour later
![Page 15: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/15.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 15
About the WAMmodel
• Northwind->Northwind_B: no code– just WAMmodel editing (can be done over the web)
• The WAMmodel is information added to the database to specify a reasonable GUI:– WAM_PRESENTATION– WAM_LIST, WAM_LIST_COLUMN– WAM_LOOKUP_COLUMN– WAM_PROCEDURE_CALL– ...a few more SQL tables
• Strongly tied to the relational meta-model, but non-redundant (DRY!)
![Page 16: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/16.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 16
Editing the WAMmodel
• With SQL client tools and scripts, or...• WAMAdmin
– A WAM utility available in all user apps– Standard lists and rows for all WAMmodel tables– Some utilities
• WAMmodel/DB consistency checking, DB dependency extractor, Documenter, etc.
– Complemented by runtime “edition mode”, adequate for administrators/power users
– Can be tried on examples at http://showroom.declarativa.com
![Page 17: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/17.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 17
Editing the WAMmodel
![Page 18: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/18.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 18
Editing a WAMmodel tuple
![Page 19: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/19.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 19
Agenda for today
• Web apps: a different perspective on DRY• Web Application Maker
– Architecture– The database is (almost) the app– Meta-model editing with WAMAdmin– What can WAM do for me?– Beyond models, into custom coding
• Conclusion, and an announcement
![Page 20: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/20.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 20
Automated web fragment factory for...
• Application entry pages• (Regular) Lists, List columns• Detail lists
– Stand-alone– Embbeded (in master rows)
• Search (SQL) Criteria• Rows, Row fields, Smart Lookup fields• Context path, procedure callers, error reporting• Links to external applications or functionality
![Page 21: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/21.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 21
Fragment example: lookups
Pick from master list
See master row direct lookup
inverse lookup
![Page 22: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/22.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 22
Entry pages
A default entry page, with all lists plus direct navigation to “interesting” tables
Uses WAM_TABLE_GROUP
![Page 23: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/23.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 23
A user-configurable list
Automatic joins, both detail master and master detail
Uses and maintains WAM_LIST, WAM_LIST_COLUMN, WAM_CRITERION
![Page 24: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/24.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 24
Row with list and 3 LKs
![Page 25: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/25.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 25
Relational navigation...DRY!
![Page 26: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/26.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 26
Agenda for today
• Web apps: a different perspective on DRY• Web Application Maker
– Architecture– The database is (almost) the app– Meta-model editing with WAMAdmin– What can WAM do for me?– Beyond models, into custom coding
• Conclusion, and an announcement
![Page 27: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/27.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 27
WAM interface "equations"
• Web interface URLs = WAM(DB Meta Information + WAMmodel) + Custom ASP pages using WAM objects+ other pages
• Default web interface =WAM(DB Meta Inf. + Default WAMmodel)
![Page 28: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/28.jpg)
http://www.declarativa.com
August 2007 Copyright Declarativa 28
Development with WAM
![Page 29: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/29.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 29
Customized ASPs:WAM API
Single DB dependence. Custom ASP
“unbreakable” with DB changes
![Page 30: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/30.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 30
two SQL types and one ASP change later...: Northwind_C
![Page 31: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/31.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 31
Conclusion…
• www.declarativa.pt/wam– Online showroom– [email protected]
• What's needed– DB layer
• SQL Server 2005/2008 or later– Web server layer: Windows Pro or Server
• IIS 6.0 or later running– Browser layer: IE, Firefox, Safari, …
![Page 32: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1](https://reader038.vdocuments.site/reader038/viewer/2022110100/56649e3f5503460f94b302e0/html5/thumbnails/32.jpg)
http://www.declarativa.com
28-Apr-2011 Copyright Declarativa 32
...and the next 11 years...
• WAM will be OPEN SOURCE on May, 30!– Declarative Javascript framework refined
over 11 years, +40 real world apps– DRY system; unique use of FK paths– SQL Server; Oracle and others possible
• Development services community– Declarativa, Centro de Computação
Gráfica, XSB Inc., U.Minho students, ...• Consider using and contributing to it• Suggestions welcome, [email protected]