+ All Categories
Home > Documents > “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool”...

“Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool”...

Date post: 07-Apr-2016
Category:
Upload: joao-gabriel-vidal-bergler
View: 216 times
Download: 1 times
Share this document with a friend
39
“Modelos para que vos quero” ou Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal http://www.declarativa.com
Transcript
Page 1: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

“Modelos para que vos quero”ou

“Web Application Maker:a declarative web database tool”

Miguel Calejo, Mário AraújoDeclarativa, Portugal

http://www.declarativa.com

Page 2: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 2

http://www.declarativa.com

Plan for today

• Romantic vision and “real world” impact• About WAM

– WAM principles– An example– Meta-model editing– Real apps grow beyond models– Another example, “business story”

• Conclusion

Page 3: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 3

http://www.declarativa.com

Vision• Goal (1990-2010)

– Telepathic specifications– Instantaneous development– Continuous fixing/adapting; only dead apps are “done”

• Getting there (2000-2005)– There may be lots of tiers in an application...

• ...but there’s always a relational back-end– Pick a decent one to start: MS SQL Server

• A word about PROLOG and XSB Inc.’s XJ– Cut the crap, focus on the problem, apply GUI patterns– Ride on Moore’s Law: don’t generate, interpret

• Will it work?

Page 4: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 4

http://www.declarativa.com

WAM projects: DoD/XSB, Inc.

Front-end to a “knowledge warehouse” for the largest part DB in the world

27 tables, 110 hours

Currently in beta program

Page 5: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 5

http://www.declarativa.com

WAM projects: CVRVV

VVSHOP, VVROUTE, DCPonline, PAS, PS/SC, Gestão de notícias, Rotulagem, Contactos, iLab (LIMS), Receitas verdes, OLAP front-end, Boas Vinhas, ...

Page 6: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 6

http://www.declarativa.com

WAM projects: Servisoft

Custom “ERP”

60+ tables, 4000 hours

In use since Nov 2001

Page 7: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 7

http://www.declarativa.com

Today’s plan (progress)

• Romantic vision and “real world” impact • About WAM

– WAM principles– An example– Meta-model editing– Real apps grow beyond models– Another example, “business story”

• Conclusion

Page 8: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 8

http://www.declarativa.com

More WAM projects

• XSB Inc.– XT: time billing and project management

• CCDR-N– repository for all Information Systems

• CRAT– Image database, crafts shop, invoicing, etc

• About 18 applications, including several “medium-sized” critical web ISs

Page 9: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 9

http://www.declarativa.com

Spaghetti code in the internet era

Developer

DBMSCGIBrowserUser

… (HTML)… (JScript at client)… (JScript at server)… (SQL)

…<form … action='…'>Customer <input … name='name'>Phone #<input … name='phone'></form>…

…<script>if (isNaN(phone)) alert('Not a number');</script>…

…<%while (! results.EOF) …%>…

SELECT name, phoneFROM customer

customer

name varchar(50)phone int

Page 10: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 10

http://www.declarativa.com

More declarative scenario

… WAM Objects

Developer

DBMS CGI Browser User

customer name varchar(50) phone int

… r = new WAMRow(customer); …

"Phone #", "Customer",…

Page 11: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 11

http://www.declarativa.com

Enter: declarative web development

• Web Application Maker (WAM)– Model-driven, based on SQL Server– Given a DB schema with triggers, constraints, etc...– ...get web interface with user profiles, etc.– Flexible: GUI generators exposed to the developer

• Follow any software engineering method, .... – ...and use the resulting database

• Part of Declarativa’s Web Information Systems Toolkit

Page 12: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 12

http://www.declarativa.com

The WAM pictureServers

Customcode

ApplicationDB

WAMmodel

WAM“interpreter”

SQL ServerIIS (ASP engine)

Workstation

Browser MyApplication

Page 13: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 13

http://www.declarativa.com

WAM “Equations”

• Web interface = WAM(DB Meta Information + WAMmodel) + CustomASP pages using WAM objects+ other pages

• Default web interface =WAM(DB Meta Inf. + Default WAMmodel)

• An acceptable and easy-to-change interface working sooner is much better than a fancy one later!

Page 14: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 14

http://www.declarativa.com

WAMmodel

• Information added to the database schema to allow generation of a reasonable GUI instance– WAM_PRESENTATION– WAM_LIST, WAM_LIST_COLUMN– WAM_LOOKUP_COLUMN– WAM_PROCEDURE_CALL– ...10 tables total

• Strongly tied to the relational meta-model• Non-redundant

Page 15: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 15

http://www.declarativa.com

WAM: a web GUI fragment factory for...

• Entry page• (Regular) Lists, List columns• Detail lists

– Stand-alone– Embbeded

• Search Criteria• Rows, Row fields, Lookup fields• Context path, procedure callers, error reporting

Page 16: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 16

http://www.declarativa.com

GUI fragment example: lookups

Pick from master list

See master row direct lookup

inverse lookup

Page 17: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 17

http://www.declarativa.com

Today’s plan (progress)

• Romantic vision and “real world” impact • About WAM

– WAM principles – An example– Meta-model editing– Real apps grow beyond models– Another example, “business story”

• Conclusion

Page 18: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 18

http://www.declarativa.com

Demo – “Northwind” database

Page 19: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 19

http://www.declarativa.com

Entry page

A default entry page, with all lists plus direct navigation to “interesting” tables

Uses WAM_TABLE_GROUP

Page 20: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 20

http://www.declarativa.com

A user-configurable list

Automatic joins, both detail master and master detail

Page 21: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 21

http://www.declarativa.com

Row with embedded list and 3 LKs

Page 22: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 22

http://www.declarativa.com

Relational navigation extreme

Page 23: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 23

http://www.declarativa.com

Today’s plan (progress)

• Romantic vision and “real world” impact • About WAM

– WAM principles – An example – Meta-model editing– Real apps grow beyond models– Another example, “business story”

• Conclusion

Page 24: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 24

http://www.declarativa.com

Editing the WAMmodel

• SQL client tools, or...• WAMAdmin

– A WAM application – Standard lists and rows for all WAMmodel tables– Some utilities

• WAMmodel/DB consistency checking, DB dependency extractor, etc.

– Complemented by runtime “edition mode”, adequate for administrators/power users

– Try it at http://showroom.declarativa.com

Page 25: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 25

http://www.declarativa.com

WAMAdmin

Page 26: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 26

http://www.declarativa.com

Editing the WAMmodel for a row

Page 27: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 27

http://www.declarativa.com

Editing a WAMmodel tuple

Page 28: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 28

http://www.declarativa.com

Today’s plan (progress)

• Romantic vision and “real world” impact • About WAM

– WAM principles – An example – Meta-model editing – Real apps grow beyond models– Another example, “business story”

• Conclusion

Page 29: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 29

http://www.declarativa.com

Back to the WAM equations

• So far we’ve seen...• Web interface =

WAM(DB Meta Information + WAMmodel)

+ Custom ASP pages using WAM objects+ other pages

• Default web interface =WAM(DB Meta Inf. + Default WAMmodel)

Page 30: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 30

http://www.declarativa.com

Customized ASPs:WAM APISingle DB

dependence. Custom ASP

nearly “unbreakable” with

DB changes

Page 31: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 31

http://www.declarativa.com

An ASP invoked from a WAM list

Page 32: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 32

http://www.declarativa.com

Complementing WAM – WIS Toolkit• Making Web Information Systems real • The Web IS Tookit contains WAM plus...

– “Impressor”• “Calibrated” HTML printing with IE control by VB slave• A4 layout Javascript library

– “Comunicador” (Java DB and email-driven agent)• Automatic generation and archive of instituional email/fax communications• Automatic URL validation• Extraction of structured data from (HTML) documents

– Utilities• Template-based user document “draft” generator• Emailing helpers• Web application Load Balancer

Page 33: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 33

http://www.declarativa.com

Web Information Systems Toolkit

Page 34: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 34

http://www.declarativa.com

Today’s Plan (progress)

• Romantic vision and “real world” impact • About WAM

– WAM principles – An example – Meta-model editing – Real apps grow beyond models – Another example, “business story”

• Conclusion

Page 35: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 35

http://www.declarativa.com

A Defense Logistics Agency (DoD, USA)• Grande esforço em curso desde meados dos anos 90 para melhorar

gestão da cadeia de fornecimento– Lenda1: ”Era uma vez um general que precisava do seu jeep. Então...”– Lenda2: “X0% de peças dentro dos parâmetros durante...”

• Muitas “plataformas” com décadas de tempo de vida, muitas peças, muitos fabricantes e fornecedores– Informação evolutiva e dispersa por fontes estruturadas e textuais

(redundância, incoerência, validade, etc)• A XSB Inc. (cliente da Declarativa, www.xsb.com/partners.html)

– Desenvolveu “Coherent View” para a DLA integrando a informação acima..

• ...mais novos atributos de items inferidos da info DLA + bases de conhecimento• Sub-sistemas Prolog alimentando base de dados SQL Server

– Tecnologia para descobrir equivalência entre items, fornecedores alternativos, impacto da alteração de normas, etc.

Page 36: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 36

http://www.declarativa.com

O projecto WAM – CV website

Informação produzida

Informação disponível

Page 37: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 37

http://www.declarativa.com

O projecto WAM – CV website

Exportação em vários formatos

Critério de pesquisa aplicado

Colunas escolhidas

pelo utilizador

Navegação para detalhe

Page 38: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 38

http://www.declarativa.com

CV website - conclusões

• Menos de 200 horas de concepção e desenvolvimento• Zero esforço em “burocracia infraestrutural”, ou seja as horas

foram proveitosas para o cliente. Layout automático satisfez• Distância (5h de diferença horária) e questões de segurança

(dados não exportáveis) dificultaram a fase final de testes e suporte

• Para saber mais: [email protected] ou [email protected]

Page 39: “Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal .

24-Nov-2005 Copyright Declarativa 2000-2005 39

http://www.declarativa.com

Today’s plan - Conclusion

• How to replay it– www.declarativa.com/wam/UNL24NOV2005.ppt – Online showroom, trial version, free developer licenses

• Pushing the focus to the database layer– The Declarativa project distortion field

• R&D– Trivia

• X3D front-ends (Q1 2006), Postgres SQL support, other– The real thing

• user assertions + magic tool = IS, at all times– MSc and PhD candidates accepted: [email protected]


Recommended