“modelos para que vos quero” ou “ web application maker: a declarative web database tool”...
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/1.jpg)
“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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062522/5706384a1a28abb8238f5475/html5/thumbnails/39.jpg)
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]