Upload
vinicius-cardoso-garcia
View
218
Download
0
Embed Size (px)
Citation preview
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
1/36
MhfgicCig}iZghfh
Lpgif}hmlp4QgczglOigph
Ji`pyhpw#0>80
mcz0Nagf&yj~i&`p
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
2/36
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
3/36
Gf}plmyl
Aclym/QlP{hpialolQipzgl"QhhQ'Mgq}pg`ygliAlfqyol
Oymly/qilMiqifzlczgoif}l[i`[i`1&>H[i`hklph~plkphozic
H~cgahiq[i`OhglpmiohfmhFiaiqqgmhmimialo~hpKcbhpmhmlqialf}imlGf}ikphl
1
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
4/36
OlKzhl
Miqifzlczgoif}l mi H~cgahiq [i` pixyip oyg}lalfbiagoif}l}afgali}iaflclkghqmgjipif}iqU8_
Hgf}ikphlmiH~cgahiq[i``hqihmh4 [i`Qipzgaiq l~ifH^Gq[i`&
=
U8_ Mhffw O& Kplifi{ikif# Tij Bioic# Ciffhp} A& C& Eh}q# Iical Zgqqip& [i`MQC4 H Mlohgf/Q~iagjga Chfkyhki jlp Mwfhoga [i` H~~cgah}glfq& Gf Alo~hfglf
}l }bi Alfjipifai lf L`dia}/Lpgif}im ^plkphoogfk# Qwq}ioq# Chfkyhkiq# hfm H~~cgah}glfq LL^QCH 0>>2'# ~hkiq ;;7;2># HAO# La}l`ip 0>>2&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
5/36
^pl`cioh
9
^lpxyi}lmgagcgf}ikphpH~cgahiq[i`8>
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
6/36
Xyhgqqlhqohglpiqmgaycmhmiqflh~pifmgthmlmiflzhqH^Gq88'&
Iq}ymlmiAho~lalo==>MiqifzlczimlpiqmhOgaplqlP OhglpiqL`q}ayclqpich}hmlq4
8&Mlayoif}hl 0&Iq}py}yphmhH^G 1&Alfbiagoif}l}afgal"i&k}pigfhoif}l~plqqglfhc' =&Ho`gif}i}afgal"i&kjipphoif}hq#gfjphiq}py}yph' 9& ^plaiqql "i&k jhc}h mi }io~l# gf}ippy~l mi alcikhq# ly}phq~pglpgmhmiq'
Ohp}gf & Pl`gcchpm# Pl`ip} MiCgfi4 H jgicm q}ymw lj H^G cihpfgfk l`q}haciq& Io~gpgahc Qlj}{hpi Ifkgfiipgfk 8::'4 ;>1/;10 0>88'&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
7/36
^pl`cioh
;
]plzi#Q}hp}y~miH^Gq#mgzycklyyoh~iqxygqhql`pilqayq}lqmigf}ikphliohfy}iflmiH^GqU8_4
^l`piMlayoif}hl Jhc}hmiirio~clqmiamgkl Jhc}hmiho`gif}imi}iq}i Cgfbhif}piyqlih`yql
U8_ ]plzi# H^G Gf}ikph}glf ^hgf Qypziw Piqyc}q# Hzhgch`ci h} b}}~q4,,{{{&wlyp}plzi&alo,`clk,0>88,>2,88,h~g/gf}ikph}glf/~hgf/qypziw/piqyc}q,# Haaiqqim
gf Ji`pyhpw 0>80&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
8/36
^pl`cioh
2
^plkphooh`ci [i`# Qypziw Qhwq Jhai`lle H^G Bhq Olq} Bihmhabiq hfm Blpplp Q}lpgiq# Hzhgch`ci h} b}}~4,,`clk&~plkphooh`ci{i`&alo,
0>88,>2,88,qypziw/qhwq/jhai`lle/h~g/bhq/olq}/bihmhabiq/hfm/blpplp/q}lpgiq,# Haaiqqim gf Ji`pyhpw 0>80&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
9/36
^iqxygqh
Alol~lmiolqJhagcg}hplmiqifzlczgoif}lmi
h~cgahiq{i`
gf}ikphmhq
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
10/36
H`lpmhkio
8>
CgfkyhkifqmiMlofglIq~iaal
"MQC'
^pgfag~hcL`diKzl4 hfblqioir~piqqgzgmhmiijhagcgmhmimi
yql&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
11/36
CgfkyhkifqmiMlofglIq~iaal
88
"H mlohgf/q~iaga chfkyhki MQC' gq h qohcc# yqyhc miachph4zi# chfkyhki}bh}lipqir~piqqgzi~l{ipjlayqimlfh~hp4aychp~pl`ciomlohgf
Miypqif# H& Z Ecgf}# * Zgqqip# D& 0>>>'& Mlohgf/Q~iagjga Chfkyhkiq 4 Hf Hffl}h}im @g`cglkph~bw $& HAO Qgk~chf
Fl}gaiq# 19Dyfi'# 0:/1:&
"Mlohgf/q~iaga chfkyhkiq MQCq' hpi chfkyhkiq }hgclpim }l h q~iagah~~cgah4lfmlohgf&]biwlipqy`q}hf4hckhgfqgfir~piqqgzifiqqhfmihqilj yqi alo~hpim {g}b kifiphc/~yp~lqi ~plkphoogfk chfkyhkiq gf }bigp
mlohgfljh~~cgah4lf"
Oipfge# O Biipgfk# D * Qclhfi# H& O& 0>>9'& [bif hfm bl{ }l mizicl~ mlohgf/q~iagjga chfkyhkiq& HAO Alo~y}gfk Qypziwq
AQYP'# 1;='# 18:1==& HAO&
Mlohgf/q~iaga chfkyhki h alo~y}ip ~plkphoogfk chfkyhki lj cgog}imir~piqqgzifiqqjlayqimlfh~hp4aychpmlohgfOhp}gf Jl{cip& 0>8>'& Mlohgf/Q~iagjga Chfkyhkiq ~~& >/108'&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
12/36
gqalqiL~lp}yfgmhmiq
80
L~lp}yfgmhmiq4 MQCqgfalp~lphlalfbiagoif}lmlmlofgl MQCq hyoif}h ~plmyzgmhmi# ohfy}ifl# alfh`gcgmhmi i
~lp}h`gcgmhmi&
MQC~ipog}ilpiyqlmlalfbiagoif}l
gqalq4 Lqayq}lqmi~pldi}l#go~cioif}hliohfy}iflmiyohMQC& Lqayq}lqmiimyahlmlqyqypglqmiMQC&
U8_ Miypqif# H& Z Ecgf}# ^ * Zgqqip# D& 0>>>'& Mlohgf/Q~iagjga Chfkyhkiq 4 Hf Hffl}h}im @g`cglkph~bw $& HAO Qgk~chf Fl}gaiq# 19Dyfi'# 0:/1:&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
13/36
I}h~hqmiMiqifzlczgoif}l
81
8&HFCGQI GmifKahlml~pl`cioh
iyfgp}lmlalfbiagoif}l
picizhf}i
Hkpy~hpalfbiagoif}l
iofliqqiofKahqi
l~iphiq
^pldi}hpMQCxyimiqapizimi
jlpohalfagqhh~cgahiqfl
mlofgl&
Go~cioif}hpqiofKah
Alfq}pygpalo~gchmlp 0&GO^CIOIF]HL
1&YQL
Iqapizip~plkphohq~hph
}lmhqhqh~cgahiq
miqidhmhqialo~gc/clq&Miypqif# H& Z Ecgf}# ^ * Zgqqip# D&
0>>>'& Mlohgf/Q~iagjga Chfkyhkiq 4
Hf Hffl}h}im @g`cglkph~bw $& HAO
Qgk~chf Fl}gaiq# 19Dyfi'# 0:/1:&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
14/36
]g~lqmiCMI
8=
Kpahzq&]ir}yhc Gf}ipfhzq&Ir}ipfh
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
15/36
pahzq&]ir}yhcU8_
89
Hcgfkyhkiomiziqip`hqihmhio}ir}l#kpahlyho`hq88Y~mh}i&~mj
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
16/36
pahzq&]ir}yhcU8_
8:
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
17/36
pahzq&]ir}yhcU8_
8;
Hcgfkyhkiomiziqip`hqihmhio}ir}l#kpahlyho`hq88Y~mh}i&~mj
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
18/36
pahzq&]ir}yhc
82
U8_ Eg~ip# D& M Hyipfbigoip# @ * Hoiq# A& E& 877;'& Zgqyhc Mi~ga}glf ljMiagqglf Q}h}ioif}q4 [bh} gq @iq} jlp ^plkphooipq hfm Flf/^plkphooipq
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
19/36
pahzq&]ir}yhc
87
U8_ Eg~ip# D& M Hyipfbigoip# @ * Hoiq# A& E& 877;'& Zgqyhc Mi~ga}glf ljMiagqglf Q}h}ioif}q4 [bh} gq @iq} jlp ^plkphooipq hfm Flf/^plkphooipq
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
20/36
ph~bgahczq&]ir}yhc
0>
U8_ Eg~ip# D& M Hyipfbigoip# @ * Hoiq# A& E& 877;'& Zgqyhc Mi~ga}glf ljMiagqglf Q}h}ioif}q4 [bh} gq @iq} jlp ^plkphooipq hfm Flf/^plkphooipq
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
21/36
H`lpmhkio
08
C g f ky h k if q m i M l o f g l I q ~i a a l RMiqifzlczgoif}l[i` ]ir}yhc Gf}ipfhMQC
Yoh zhf}hkio miqqh h`lpmhkio xyi l alo~gchmlp lygf}ip~pi}hmlpmhcgfkyhkiomi`hqipiycgthmhfhMQC&
R}ir}0&8 Gf}ikphlhzhfhmhalolIacg~qi&
QlS{hpiL~ifQlypai#jpyfqmimgqayqql&
Oi}lmlclkgh Oh~ihoif}lQgq}ioalmiIq}ymlq
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
22/36
Oh~ihoif}lQgq}ioKalmiIq}ymlq
00
"Yo oh~ihoif}l mi iq}yml jlpfiai yo
~plaimgoif}l qgq}io1al i l`di1zl ~hph
gmif1ahphfh}ypithihir}ifqlmlqmhmlqmiiq}yml io~pgal xyi iq}l mgq~lfzigq ~hph
piq~lfmiphyoh~hp1aychpxyiq}lmi~iqxygqh&
@ymkif# M ]ypfip# O @pipi}lf# * Eg}abifbho# @& 0>>2'& Yqgfk oh~~gfk q}ymgiq gf qlj}{hpi ifkgfiipgfk& ^plaiimgfkq lj
^^GK Zlc& 0>>2# ~~& 8790>='&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
23/36
Xyiq}iqmi^iqxygqh
01
^pgfag~hc4 8& Alol apghp# h~cgahp i ohf}ip Cgfkyhkifq miMlofglIq~iaal
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
24/36
Q}pgfkq
0=
Mlohgf/q~iagachfkyhkiLP
Mlohgf/q~iagaolmicgfkchfkyhkiLP
kifiphKzi~plkphoogfk
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
25/36
Apg}pglqmiGfacyql
Cgzplq#hpKklq#pich}pglq}afgalq#cg}iph}yphagftif}h&
Fifbyoc}plmimh}hq,~iplml XyhfmlzpglqhpKklqqlpich}hmlqaloloiqol
iq}yml#h~ifhqlohgqpiaif}iqipgfacyml&
09
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
26/36
Apg}pglqmiIracyql
HpKklqfliqapg}lqiogfkcq& Cg}iph}yph#mgq~lfzich~ifhqfhjlpohmipiqyolqlyh~piqif}hiqio^l{ip^lgf}&
HpKklqmhgo~pifqh Iq}ymlqmy~cgahmlq& Iq}ymlqgfalo~ci}lq& HpKklqxyiflqlmgpi}hoif}ipichaglfhmlq
AgfaghmhAlo~y}hliIfkifbhpghmiQlP{hpi&
0:
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
27/36
@yqahHy}loKahHfcgqi^picgogfhp
0;
Mgkg}hcCg`phpgiq
Qlypaii}ypfim
Q}ymgiq"My~cgah}iq'
i}ypfimQ}ymgiq
^ipaif}hki Gfacymim Iracymim
HAOMgkg}hcCg`phpw 18: 0:> 8>) 879 :9
IfkgfiipgfkZgcchki 727 ;0> 02) Gf~plkpiqq Gf~plkpiqq
GIIIAlo~y}ipMgkg}hc
Cg`phpw80>1 718 1:) Gf~plkpiqq Gf~plkpiqq
Qal~yq 8=7; =7> 87) Gf~plkpiqq Gf~plkpiqq
QagifaiMgpia} 882 ;> 1) Gf~plkpiqq Gf~plkpiqq
Q~pgfkipCgfe 01= 80> 9) Gf~plkpiqq Gf~plkpiqq
]L]HC =19; 0979
8;:0
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
28/36
@yqahHy}loKah
02
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
29/36
@yqahHy}loKahHfcgqi^picgogfhp
"HpKklq,Hfl'
07
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
30/36
@yqahHy}loKahHfcgqi^picgogfhp
"Hy}lp,HpKkl'
1>
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
31/36
@yqahOhfyhcHfcgqi^picgogfhp
18
QLYPAI Fyo`ipQihpab
alo~ci}imGf~plkpiqq
Pi}ypfim
Q}ymgiq
DLYFHCQ 88 ; = 0=
ALFJIIFAIQ 0: 8; 7 =
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
32/36
]bifir};>>~plkphoogfkchfkyhkiq
10
Mijgfg h cgfkyhkio h`q}ph}h gQ{go# gfjcyifaglyiq~iaghcoif}i cgfkyhkifq mi ~plkphohl jyfaglfhc# }hgq
alol Ogphfmh# Bhqeicci ly}phq qyaiqqlphq&
L ^pldi}l mi yoh cgfkyhkio iq~iajgah mgzgmgmh io myhq ~hp}iq gfmi~ifmif}iq48& Iqalcbh mh iqapg}h mlq ~plkphohq pi~piqif}hl jqgah'&
0& Iqalcbh mhq if}gmhmiq h`q}ph}hq&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
33/36
Ir}phlmiMhmlq,Jhai}hq
11
GM Qlypai Wihp ]g}ci Hy}blp GfqK}yKlf ^y`&]w~i H`q}pha}
8&Mlohgfq 0& MQC }w~iq# }llcq# }iabfgxyiq,
oi}blmq,~plaiqqiq
1&iqihpab}w~i ZhcgmhKlfiqihpab IzhcyhKlfiqihpab QlcyKlf^pl~lqhc ^bgclql~bgahc^h~ipq L~gfglf^h~ipq Ir~ipgifai^h~ipq
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
34/36
^ipgmgalqiAlfjipfaghqHczlq
1=
ALFJIPIFAIQ XYHCGQ MIHMCGFI
"Q^CA'QlP{hpi^plmya}CgfiAlfjipifai @0 0>,>0
"JQI'JlyfmhKlfqljqlP{hpiifkgfiipgfk @8 8:,>1
OLMICQgfqlP{hpiifkgfiipgfk H0 87,>1
"^AI'ifiphKzi^plkphoogfkhfmAlo~lfif}
Ifkgfiipgfk
@8 01,>=
DLYPFHCQ XYHCGQ
DlypfhcljQwq}ioqhfmQlP{hpi @8
DlypfhcljAlo~y}ipQagifaihfm]iabflclkw @0Alo~y}ipChfkyhkiq#Qwq}ioq*Q}pya}ypiq @0
HAO]phfqhaKlfqlf^plkphoogfkChfkyhkiqhfmQwq}ioq H0
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
35/36
^prgohqi}h~hq
19
8&]ipogfhpmicipic}hpv7>>hpKklq 0& Miqifzlczip yo go~cioif}hl mh qlcyl
~pl~lq}h
1&^pi~hphphmlayoif}hlmhcgfkyhkio =&Mifgpigo~cioif}hplir~ipgoif}l 9&Iqapizipmgqqip}hl#pich}pglqihpKklq&
8/2/2019 Easy Integration of Web Applications: A DSL for Web Development
36/36
QOh]/QlaghcOhabgfiqiqihpab]ihob~q4,,qg}iq&kllkci&alo,qg}i,qlaghcohaqch`,
1:
Y@YF]Y YFKHOF]Y FKHFWI H@HF]Y"^iqqlhq ql ~iqqlhq h}phzq mi ly}phq ~iqqlhq