“ web application maker”: the next 11 years miguel calejo declarativa, portugal 28-apr-2011...

32
http://www.declarativa.com Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal http://www.declarativa.com 28-Apr-2011 Copyright Declarativa 1

Upload: charleen-woods

Post on 27-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: “ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal  28-Apr-2011 Copyright Declarativa 1

“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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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]