Easy Integration of Web Applications: A DSL for Web Development

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