Desenvolvimento de aplicações multi-tenancy: um estudo de mapeamento sistemático

download Desenvolvimento de aplicações multi-tenancy: um estudo de mapeamento sistemático

of 126

Transcript of Desenvolvimento de aplicações multi-tenancy: um estudo de mapeamento sistemático

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    1/126

    Lfsf`wekwjaf`|e lf m~kjomfs avk|j!|f`m`oz8 va fs|vlelf am~fmaf`|e sjs|fa|joe

    ^et

    Hesj`e Teltjivfs @f|e

    Ljssft|me lf Afs|tmle

    yyy.oj`.vg~f.dt%p~esitmlvmome

    TFOJGF+ Hv`be%4>=4

    http://www.cin.ufpe.br/~posgraduacaohttp://www.cin.ufpe.br/~posgraduacao
  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    2/126

    V`jwftsjlmlf Gflftmk lf ^ft`madvoe

    Of`|te lf J`geta|jom^s!itmlvme fa Oj`ojm lm Oea~v|me

    Hesj`e Teltjivfs @f|e

    Lfsf`wekwjaf`|e lf m~kjomfs avk|j!|f`m`oz8 vafs|vle lf am~fmaf`|e sjs|fa|joe

    \tmdmkbe m~tfsf`|mle me ^teitmam lf ^s!itmlvme fa

    Oj`ojm lm Oea~v|me le Of`|te lf J`geta|jom lm V`jwft!

    sjlmlf Gflftmk lf ^ft`madvoe oeae tf}vjsj|e ~mtojmk ~mtm

    ed|f`e le itmv lf Afs|tf fa Oj`ojm lm Oea~v|me.

    Etjf`|mlet8 _jkwje Teafte lf Kfaes Afjtm

    Oe!Etjf`|mlet8 Wj`jojvs Omtlese Imtojm

    TFOJGF+ Hv`be%4>=4

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    3/126

    Fv lfljoe fssm ljssft|me ~tjafjtmaf`|f aj`bm gmakjm+

    mes afvs majies f mes afvs ~tegfssetfs }vf af lftma |ele

    e sv~et|f `fofsstje ~mtm obfimt m| m}vj. Fa fs~fojmk

    mitmlfe m Lfvs ~et |ft oekeomle |elms fssms ~fssems `e

    afv omaj`be.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    4/126

    Mitmlfojaf`|es

    Mitmlfe m Lfvs+ ~et |ft af lmle vam gmakjm kj`lm. aj`bm fs~esm + Csjm"j`

    afaetjm`* ~et |ft af j`of`|jwmle m oe`|j`vmt afsae }vm`le fv ~f`smwm }vf `mlm

    jtjm lmt oft|e. aj`bm kbm _mtm+ }vf m~tf`lfv m vsmt e scz~f sexj bm ~tm oe`sfivjt

    oe`wftsmt oeajie f`}vm`|e |tmdmkbmwm `m aj`bm ljssft|me. aj`bm af+ Le`m _vsm`m

    }vf af m~ejev `e aeaf`|e amjs ljgojk lm aj`bm wjlm f }vf sfa~tf fs|fwf me afv kmle.

    Mes afvs majies Omtkes ^et|fkm+ Dtv``e Ymi`ft f M`ltfxm Kfj|f ~fkm amltvimlms

    fa okmte fs|vlm`le f gmxf`le |tmdmkbes lms ljsoj~kj`ms"ms _OTVAmltvimlms*. Jsse lfv

    tfsvk|mle+ |jwfaes oe`ofj|e M fa |elms ms ljsoj~kj`ms majies. Aj`bm majim M`ltfxm

    Kfj|f |mada gej avj|e |jk `ms tfwjsfs lm aj`bm ljssft|me+ lfv oe`|tjdvjfs lf

    ~tfojse ojttijm me afv |tmdmkbe. Me afv majie Yjk|e`+ }vf fadetm |f`bm ~miemkivams omlfjtms oeajie fv s oe`bfoj lf wftlmlf }vm`le lfsoedtj }vf fkf ljwjljm

    m~mt|maf`|e oea afv afkbet majie ~jmvjf`sf tfsjlf`|f fa Tfojgf+ Hvkje Lmamsof`e.

    Hvkje Lmamsof`e ljim!sf lf ~mssmifa+ va `ftl## oea e }vmk fv |jwf m e~et|v`jlmlf lf

    |tmdmkbmt ~et avj|es m`es f m~tf`lft |vle }vf sfj sedtf Kj`vr. M |eles es ev|tes majies

    }vf oe`bfoj `e afs|tmle f oea es }vmjs fv m~tf`lj ljwftsms oejsms ljgftf`|fs8 Cml`m+

    \bmkj|m+ Lm`jfkkf+ Gjsb+ Fkmj`f+ Fam`vfk f Wjwjm`f"Wjwj*.

    Mitmlfe |mada ~et |eles es afvs majies lm Tjsf8 Amtj`be+ Tmgmfk+ Kfe`mtle+

    Mkfrm`lte+ Kvjx f fa fs~fojmk Flvmtle Otvx ~et |ftfa af ~te~etoje`mle de`s aeaf`|eslf m~tf`ljxmle `m j`ovdmletm le ^et|e Ljij|mk+ mhvlm`le `m ja~kfaf`|me ~t|jom lm

    aj`bm ljssft|me.

    Ies|mtjm lf mitmlfoft mes afvs majies lm GHD"Getm Hewfa Dtmsjk*+ mes }vf se

    ~jmvjf`sfs"Hfxkjm Tfsf`lf+ `ifkm @djm+ Fvkkje ^ftfjtm f Mam`lm ^m|tjojm* f mes }vf

    se ~ft`madvom`es"m}vj `e wev oj|mt `eafs ~et}vf se avj|es*. \ele fssms ~fssems

    getma va sv~et|f ~tm aja `ms betms wmims. Ftm oea fkfs }vf fv tfmkjxmwm ms m|jwjlmlfs

    km`|t~joms }vf af xftma otfsoft oeae sft bvam`e. Lf`|tf fssfs ies|mtjm lf mitmlfoft

    fs~fojmkaf`|f Ltm Hfxkjm Tfsf`lf ~et |ft tfwjsmle mkiv`s |tfobes lm aj`bm ljssft|mef mhvlmle oettjijt mkiv`s lf|mkbfs le ~et|vivs.

    ^et a+ ams `e amjs ja~et|m`|f }vftjm mitmlfoft mes afvs afs|tfs f etjf`|mletfs

    _jkwje Afjtm+ Wj`ojvs Imtojm f ^mvke M`sfkae ~et |ftfa af mhvlmle m etim`jxmt aj`bms

    jljms fa vam ljssft|me f |tm`sgetam!kms fa oj`ojm lf wftlmlf.

    Avj|e Edtjimle m |eles.

    jw

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    5/126

    Fv wev amtomt m aj`bm iftme

    Wev oe`}vjs|mt m aj`bm ~esje

    _f fv motflj|mt `e se`be

    Wev tfmkjxmt

    Obfiev m aj`bm wfx@e wev |ft afle lf |f`|mt

    Fv sfj+ }vfa smdf gmx m betm

    betm lf kv|mt.

    _E@ETE_ "Getm Hewfa Dtmsjk*

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    6/126

    Tfsvae

    Lf getam otfsof`|f+ _eg|ymtf oeae sftwje "_mm_* fs| sf |et`m`le vam getam leaj!

    `m`|f lf f`|tfim lf seg|ymtf mes vsvtjes. Lm ~fts~fo|jwm les ~tewfletfs lf sftwje+ es

    df`fgojes lf _mm_ aes|tma!sf m|tmws lm foe`eajm lf fsomkm+ ~fkm egft|m lf seg|ymtf m

    va itm`lf `afte lf oe`svajletfs m|tmws lf vam j`s|`ojm oea~mt|jkbmlm lf seg|ymtf.

    Vam getam lf ja~kfaf`|mt _mm_ m|tmws lm mlee lf avk|j!|f`m`oz+ vam mdetlmifa

    ~mtm m ja~kfaf`|me lf _mm_ }vf ljwjlf m j`s|`ojm lf vam m~kjome fa wtjms m~kj!

    omfs wjt|vmjs obmamlms |f`m`|s. ^mtm ~tewft seg|ymtf lfssf |j~e `fofsstje kfwmt

    fa oe`sjlftme wtjes ms~fo|es oeae sfivtm`m+ mkeome lf tfovtses+ ovs|eajxme+

    fsomkmdjkjlmlf+ mtamxf`maf`|e lf lmles+ tfvse+ f|o. Fssf |tmdmkbe wjsm+ m~mt|jt lf va

    am~fmaf`|e sjs|fa|joe+ jlf`|jomt e fs|mle lm mt|f lf avk|j!|f`m`oz+ ~te~es|ms lfja~kfaf`|me f ~tj`oj~mjs kmov`ms frjs|f`|fs `fssm tfm m|tmws lm m`kjsf les ~tj`oj~mjs

    |tmdmkbes ~vdkjomles sedtf e mssv`|e. Me `mk lfssf |tmdmkbe m~tfsf`|mle m~kjome

    lfssfs oe`ofj|es `m j`ls|tjm.

    wj

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    7/126

    Mds|tmo|

    J`otfmsj`ikz+ _eg|ymtf ms m _ftwjof "_mm_* js dfoeaj i m leaj`m`| geta eg seg|ymtf

    lfkjwftz |e vsfts. Gtea ~fts~fo|jwf eg sftwjof ~tewjlfts+ |bf df`f|s eg _mm_ mtf sbey`

    |btevib foe`eajfs eg somkf+ dz eggftj`i seg|ymtf |e m kmtif `vadft eg oe`svafts |btevib

    m sbmtfl j`s|m`of eg seg|ymtf. E`f ymz |e ja~kfaf`| _mm_ js |btevib avk|j!|f`m`oz+ m`

    m~~temob |e |bf ja~kfaf`|m|je` eg _mm_ |bm| ljwjlfs |bf j`s|m`of eg m` m~~kjom|je` j`

    wmtjevs wjt|vmk m~~kjom|je`s omkkfl |f`m`|s. \e eggft |bjs |z~f eg seg|ymtf js `fofssmtz |e

    |mcf j`|e mooev`| wmtjevs ms~fo|s svob ms sfovtj|z+ tfsevtof mkkeom|je`+ ovs|eajxm|je`+

    somkmdjkj|z+ lm|m s|etmif+ tfvsf+ f|o. \bjs ~m~ft mjas |e s|mt| m szs|fam|jo am~~j`i |e

    jlf`|jgz |bf s|m|f eg |bf mt| eg avk|j!|f`m`oz+ ja~kfaf`|m|je` ~te~esmks m`l amhet im~s j`

    |bjs mtfm |btevib |bf m`mkzsjs eg |bf amj` ~m~fts e` |bf svdhfo|. M| |bf f`l eg |bjs s|vlzjs ~tfsf`|fl m~~kzj`i |bfsf oe`of~|s j` |bf j`lvs|tz.

    wjj

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    8/126

    _vatje

    Kjs|m lf Gjivtms rj

    Kjs|m lf \mdfkms rjj

    Kjs|m lf _jikms rjjj

    = J`|telve =

    =.= Ae|jwme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    =.4 Edhf|jwes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    =.4.= Edhf|jwes Iftmjs . . . . . . . . . . . . . . . . . . . . . . . . . 7=.4.4 Edhf|jwes Fs~fooes . . . . . . . . . . . . . . . . . . . . . . . 7

    =.? Af|elekeijm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    =.< Oe`|tjdvjfs ojf`|oms . . . . . . . . . . . . . . . . . . . . . . . . . 2

    =.6 Fs|tv|vtm lm ljssft|me . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    4 Gv`lmaf`|me \ftjom :

    4.= Okevl Oea~v|j`i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . =>

    4.4 _mm_ ! _eg|ymtf oeae _ftwje . . . . . . . . . . . . . . . . . . . . . . =6

    4.? Avk|j!|f`m`oz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . =24.< Oe sjlftmfs Gj`mjs . . . . . . . . . . . . . . . . . . . . . . . . . . . =:

    ? Am~fmaf`|e _js|fa|joe 4=

    ?.= Ljtf|jwms lf ~fs}vjsm . . . . . . . . . . . . . . . . . . . . . . . . . . . 4?

    ?.=.= ^fs}vjsm fr~ketm|tjm . . . . . . . . . . . . . . . . . . . . . . . 4?

    ?.=.4 Lf je lf ]vfs|fs lf ^fs}vjsm . . . . . . . . . . . . . . . . 46

    ?.4 _fkfe les lmles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    ?.4.= Oe`lve lm ~fs}vjsm . . . . . . . . . . . . . . . . . . . . . . 47?.4.4 \tjmifa les \tmdmkbes . . . . . . . . . . . . . . . . . . . . . . 4:

    ?.? Okmssjome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ?>

    ?.?.= Fs}vfam lf Okmssjome . . . . . . . . . . . . . . . . . . . . ?>

    ?.?.4 Okmssjome les |tmdmkbes tfkfwm |fs . . . . . . . . . . . . . . ?=

    ?.< ^tj oj~mjs Lfsoedft|ms . . . . . . . . . . . . . . . . . . . . . . . . . . ?2

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    9/126

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    10/126

    9

    M Fs|vles ^tjatjes =>2

    r

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    11/126

    Kjs|m lf Gjivtms

    =.= Omvlm Ke`im"Mlm~|mlm lf8 "Obe`i m`l Omttmte+ 4>>7** . . . . . . . . 4=.4 Fa~tfsms lf seg|ymtf ikedmjs wfa sfv ~fof`|vmk lf wf`lm lf ~telv|es

    ljaj`vjtfa lf 9> ~et of`|e fa =::> ~mtm af`es lf 6> ~et of`|e fa

    4>>?"Mlm~|mlm lf8 "Ovsvam`e+ 4>>2** . . . . . . . . . . . . . . . . . ?

    =.? Fa~tfsms lf seg|ymtf oet~etm|jwe dmsfmle fa yfd |fa mle|mle vam

    wmtjlmlf lf aelfkes lf `fioje. ^mimaf`|e lf mssj`m|vtm af`smk e

    aelfke lf ~mimaf`|e amjs ~e~vkmt "Mlm~|mlm lf8 "Ovsvam`e+ 4>>2** . ==** . . . . . . . . . . . 6

    =.6 Tfsvae lm Af|elekeijm"Fkmdetme ~t~tjm* . . . . . . . . . . . . . . 9

    4.= Aelfkes lf sftwje lf Okevl Oea~v|j`i . . . . . . . . . . . . . . . . . =>7* . . . . . . . . . =9

    ?.= ^teofsse lf Am~fmaf`|e _js|fa|joe ! Mlm~|mle lf "^f|ftsf` f| mk.+ 4>>2* 4?

    ?.4 ^ftof |vmk lf fs|vles tf|et`mles lf moetle oea m fs|tm|ijm lf dvsom . 4:

    ?.? ^ftof |vmk lf fs|vles tf|et`mles ~fkms dvsoms mv|ea|joms . . . . . . . 4:

    ?.< ]vm |jlmlf lf mt|jies mitv~mles ~et Oe`|fr|e f M`e . . . . . . . . . . ?7

    ?.6 ]vm |jlmlf lf mt|jies mitv~mles ~et Oe`|fr|e f Oe`|tjdvje . . . . . ?7

    ?.7 ]vm |jlmlf lf mt|jies mitv~mles ~et Oe`|fr|e f \j~e lf ^fs}vjsm . . . ?9

    ?.9 ]vm |jlmlf lf mt|jies mitv~mles ~et ]vfs|e f \j~e lf ^fs}vjsm . . . . ?9

    ?.2 \o`joms lf am~fmaf`|e lf fs}vfam"Ge`|f8 "Mvkdmob f| mk.+ 4>>2** . . ** . . . 2>

    >2** . . . . . . 2?

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    12/126

    Kjs|m lf \mdfkms

    4.= Lf jfs lf Okevl Oea~v|j`i"Wm}vfte f| mk.+ 4>>2* . . . . . . . . . . =4

    ?.= ]vfs|je`maf`|es f |ftaes . . . . . . . . . . . . . . . . . . . . . . . . 47

    ?.4 _|tj`is _fmtob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    ?.? Tfsvk|mle lm m~kjome les otj|tjes lf frokvse . . . . . . . . . . . . . ?>

    ?.< Gmof|m Oe |fr|e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ?4

    ?.6 Gmof|m \j~es lf ~fs}vjsm "Ge |f8 "Yjftj`im f| mk.+ 4>>6** . . . . . . . . ??

    ?.7 Gmof|m Oe`|tjdvje "Ge`|f8 "Yjftj`im f| mk.+ 4>>6** . . . . . . . . . . . ?>7*.

    M Omvlm Ke`im va gf`af`e edsftwmle fa fa~tfsms lf j`|ft`f| }vf oe`sfivfa

    gm|vtmt oea ~telv|es lf `jobe lf aftomle |m`|e }vm`|e+ ev m| amjs }vf es |tmljoje`mjs

    ~telv|es lm $aelm$. Jsse sf |et`ev wjwfk oea e mlwf`|e lm j`|ft`f|+ h }vf m j`frjs|`ojm

    lf kjaj|me le fs~me gsjoe+ ~mtm frjdje lf ~telv|es+ gmx oea }vf es ~telv|es }vfm|f`lfa m vam ~f}vf`m gm|jm le aftomle sfhma frjdjles mes okjf`|fs lm afsam getam

    }vf es ~telv|es geomles `m itm`lf amssm lf okjf`|fs.

    M itm`lf lfsoedft|m wfje lm m`kjsf lm }vm`|jlmlf lf ~telv|es wf`ljles. Va fs|vle

    gfj|e oea m Mamxe` "Mamxe`+ 4>==* aes|tev }vf+ ~et |ft vam $~tm|fkfjtm$amjet lf

    kjwtes wf`lm+ e gm|vtmaf`|e les kjwtes af`es ~e~vkmtfs "getm les =>> ajk ~tj`oj~mjs

    ||vkes* tf~tfsf`|mwm fa |et`e lf va }vmt|e lm tfofj|m. M`mkjsm`le e of`tje |faes m

    ja~tfsse lf }vf se ~telv|es }vf `e wmkf m ~f`m wf`lft "M`lftse`+ 4>>7*. Jsse

    wftlmlf ~mtm vam kehm gsjom |tmljoje`mk ~vtmaf`|f ~et vam }vfs|e lf fs~me gsjoe+ e

    }vf `e moe`|fof fa vam kehm wjt|vmk. Gej `e wmtfhe lm j`|ft`f| }vf lfsoedtjv!sf e ~elft

    lm Omvlm Ke`im f lm ~tm|fkfjtm lf |mam`be j``j|e.

    _fiv`le Obe`i f| mk. "Obe`i m`l Omttmte+ 4>>7*+ get`fofletfs lf sekvfs oea~kf!

    rms lf seg|ymtf lf kj`bm lf `fiojes sf lfgte`|ma oea vam ovtwm lf aftomle sfafkbm`|f+

    oeae aes|tmle `m Gjivtm =.=. Fa oe`|tms|f oea es ~moe|fs amjs sja~kfs lf seg|ymtf

    ~te`|e+ e seg|ymtf lf kj`bm lf `fiojes |f`lf m sft ~ftse`mkjxmle ~mtm m|f`lft ms `fofs!

    sjlmlfs lf okjf`|fs j`ljwjlvmjs+ ~e|f`ojmkaf`|f j`okvj`le j`s|mkme `e keomk f wjsj|ms

    lf sftwje ~et ~mt|f lms f}vj~fs lf am`v|f`e le get`foflet+ avj|ms wfxfs frjij`le

    =

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    16/126

    =.=. AE\JWME

    bmtlymtf lf sftwjlet lfljomle f vam f}vj~f lf sv~et|f ~mtm iftf`oj!ke. E ovs|e lf

    get`foft fssf |j~e lf m|f`e lfljomlm j`fflvf`ojm `e ~tfe a`jae lfssf ~telv|e. Fssf

    seg|ymtf+ ~et|m`|e+ |f`lf m sft wf`ljle ~mtm fa~tfsms amjetfs }vf ~elfa ~mimt ~et fssf`wfk lf m|f`e.

    Gjivtm =.= Omvlm Ke`im"Mlm~|mlm lf8 "Obe`i m`l Omttmte+ 4>>7**

    ^mtm omlm itm`lf fa~tfsm }vf oea~tm vam sekve lf kj`bm lf `fiojes frjs|fa

    lfxf`ms lf fa~tfsms af`etfs f lf |mam`be alje }vf ~elftjma df`fojmt!sf lfssm sekv!

    e+ ams `e ~essvfa es tfovtses ~mtm ml}vjtj!km. Mssja+ `e aelfke _mm_ "Obevlbmtz+4>>9* lf get`fojaf`|e lf seg|ymtf+ ~tfojsm!sf lfsf`wekwft sekvfs f j`gtmfs|tv|vtms lf

    dmjre ovs|e+ oea mk|e m~tewfj|maf`|e lf tfovtses lvtm`|f e vse le m~kjom|jwe ~et va

    itm`lf `afte lf vsvtjes+ ~mtm mssja m|j`ijt va ~dkjoe mj`lm `e sv~et|mle+ lfwjle

    es ovs|es ~tejdj|jwes lf f`|tmlm"_evsm f| mk.+ 4>=>*.

    =.= Ae|jwme

    @m Omvlm Ke`im+ va `afte avj|e itm`lf lf vsvtjes }vf ~elft mle|mt m sekve lfseg|ymtf }vf ~ftaj|f m omlm okjf`|f ~mimt va wmket avj|e dmjre ~fke vse le seg|ymtf+ f

    mj`lm mssja+ e ~tewflet lf sftwje ~elft |ft va kvote oe`sjlftwfk me `mk le as.

    @e aftomle lf seg|ymtf ~elf!sf oj|mt lvms mdetlmif`s ~mtm wf`lm lf seg|ymtf+ vam

    sftjm wf`lft vam sekve ~mtm va ~f}vf`e itv~e lf okjf`|fs }vf fs|e ljs~es|es m ~mimt

    va mk|e wmket ~et fssf ~telv|e ev sftwje. Ev|tm wf`lft"ev ~tewft va sftwje* m va

    wmket avj|e dmjre+ lfslf }vf sf ~essm m|f`lft m va `afte itm`lf lf okjf`|fs. Fssf

    of`tje lfae`s|tmle `m Gjivtm =.=. ]vm`|e amjs va ~tewflet lf sftwjes oe`sfivf

    4

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    17/126

    =.=. AE\JWME

    dmjrmt e ovs|e lf va ~telv|e ~mtm es okjf`|fs+ va `afte amjet lf okjf`|fs ~elft sft

    mkom`mle.

    Va ~e`|e ja~et|m`|f `e aelfke lf _mm_ e m~eje ~mtm wtjes okjf`|fs+ gmxf`le~esswfk }vf oea~mt|jkbfa m afsam m~kjome f j`gtmfs|tv|vtm+ tflvxj`le es ovs|es

    e~ftmoje`mjs. Jsse sji`jom }vf omlm okjf`|f ~elf j`|ftmijt oea e m~kjom|jwe oeae sf

    fkf gessf e `joe vsvtje lm m~kjome. Fa fs~fojmk+ va okjf`|f `e ~elf mofssmt ev

    wjsvmkjxmt es lmles lf ev|te+ fadetm oea~mt|jkbfa m afsam fs|tv|vtm gsjom "_evsm f| mk.+

    4>=>* f ~mim ~et fssf sftwje lf moetle oea e vse.

    @es k|jaes m`es+ |faes segtjle vam itm`lf avlm`m `e aftomle lf seg|ymtf e`lf

    fa~tfsms |a avlmle sfv geoe le lfsf`wekwjaf`|e lf ~telv|es ~mtm e lfsf`wekwjaf`|e

    lf sftwjes"Ovsvam`e+ 4>>2*. Va fs|vle tfmkjxmle oea 6>> fa~tfsms lf lfsf`wek!wjaf`|e lf seg|ymtf+ e`lf m`mkjsev!sf e ~ftof |vmk lf wf`lms lf ~telv|es f sftwjes

    lfssms fa~tfsms+ aes|tev e otfsojaf`|e le ~ftof`|vmk lf wf`lms lf sftwjes fa tfkme

    ~telv|es. E tfsvk|mle lfssf fs|vle m~tfsf`|mle `m Gjivtm =.4.

    Gjivtm =.4 Fa~tfsms lf seg|ymtf ikedmjs wfa sfv ~fof`|vmk lf wf`lm lf ~telv|es ljaj`vjtfalf 9> ~et of`|e fa =::> ~mtm af`es lf 6> ~et of`|e fa 4>>?"Mlm~|mlm lf8 "Ovsvam`e+ 4>>2**

    E afsae fs|vle oj|mle m`|ftjetaf`|f+ dmsfmle fa j`getamfs ed|jlms m~mt|jt =>2

    fa~tfsms lf lfsf`wekwjaf`|e lf seg|ymtf oet~etm|jwe+ jlf`|joev }vf m oedtm`m lf |mrm

    af`smk m getam lf oedtm`m amjs v|jkjxmlm `fssms fa~tfsms+ sv~ftm`le fa amjs lf 4

    wfxfs m getam lf oedtm`m m|tmws lf ~mimaf`|e lf \mrm J`jojmk lf Kjof`m lf _eg|ymtf+

    }vf oe`sjlftmlm m getam lf oedtm`m |tmljoje`mk"Gjivtm =.?*"Ovsvam`e+ 4>>2*.

    _fiv`le fs|vles le J`s|j|v|e Imt|`ft"Imt|`ft+ 4>==*+ fa hvkbe lf 4>==+ m ~tfwjse

    lf tfofj|m av`ljmk lf _mm_ ftm lf V, =4+= djkbfs fa 4>==+ va mvaf`|e lf 4>+9& fa

    tfkme tfofj|m lf 4>=> }vm`le m tfofj|m m|j`ijv V, => djkbfs. M ~tfwjse+ lf moetle

    oea m ~fs}vjsm }vf _mm_ m~tfsf`|f va otfsojaf`|e smvlwfk m| 4>=6+ }vm`le m tfofj|m

    ?

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    18/126

    =.=. AE\JWME

    Gjivtm =.? Fa~tfsms lf seg|ymtf oet~etm|jwe dmsfmle fa yfd |fa mle|mle vam wmtjlmlf lfaelfkes lf `fioje. ^mimaf`|e lf mssj`m|vtm af`smk e aelfke lf ~mimaf`|e amjs ~e~vkmt"Mlm~|mlm lf8 "Ovsvam`e+ 4>>2**

    av`ljmk m|j`ijtjm V, 4=+? djkbfs. @e aftomle lf _mm_+ m~kjomfs lf OTA"Ovs|eaft

    Tfkm|je`sbj~ Am`mifaf`|* mttfam|ma m amjet gm|jm+ oea gm|vtmaf`|e lf V, ?+4 djkbfs

    fa 4>=> f ~elf`le obfimt me `mk lf 4>== oea V, ?+2 djkbfs. Imt|`ft fs~ftm }vf _mm_

    tf~tfsf`|f }vmsf ?4& lm tfofj|m le aftomle |e|mk lf seg|ymtf OTA fa 4>==.

    Fadetm sfhm itm`lf e wekvaf lf tfovtses m~kjomles `fssm tfm+ m ~vdkjojlmlf amssjwm

    fa |et`e lf Okevl Oea~v|j`i f _mm_ lfjrm e of`tje `fdvkese ~mtm es lfsf`wekwfle!

    tfs"Ajkehjojo+ 4>>2*. E `afte otfsof`|f lf |fo`ekeijms+ seamle fr~fovkmfs sedtf

    sfv vse+ ~elf ljovk|mt m |eamlm lf lfojse ~et ~mt|f lf lfsf`wekwfletfs f iftf`|fs lf

    ~tehf|e. E Imt|`ft km`m m`vmkaf`|f e $Imt|`fts Bz~f Ozokf$+ }vf omtmo|ftjxm oeae e

    frmifte sedtf vam |fo`ekeijm lfsf`wekwf!sf $lf va f`|vsjmsae m|tmws lf va ~ftele

    lf lfsjkvse m va fwf`|vmk f`|f`ljaf`|e lm tfkfw`ojm lm |fo`ekeijm f sfv ~m~fk fa va

    aftomle ev lea`je$"_aj|b+ 4>==*.

    _fiv`le _aj|b f| mk."_aj|b+ 4>==*+ avk|j!|f`m`oz"\smj f| mk.+ 4>=>o*+ vam lms getams

    lf sf ja~kfaf`|mt m~kjomfs _mm_ fs| `e sfiv`le fs|ije le $bz~f ozokf$lf`jle ~fkeImt|`ft+ oeae aes|tm m Gjivtm =.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    19/126

    =.=. AE\JWME

    Gjivtm =.< Bz~f Ozokf ~mtm Okevl Oea~v|j`i""_aj|b+ 4>==**

    |fo`ekeijm f lfof~fs. m gmsf m|vmk lf Okevl Oea~v|j`i+ sfiv`le e tfkm|tje le

    J`s|j|v|e Imt|`ft"_aj|b+ 4>==*.

    \tevib eg Ljsjkkvsje`af`| ! E j`|ftfssf `m |fo`ekeijm oeafm m ljaj`vjt lfwjle

    m fr~ftjaf`|es f ja~kfaf`|mfs gmkbmtfa `m f`|tfim. Fkm eoettf lfwjle m `ewm

    |fo`ekeijm `e oe`sfivjt m|f`lft |elm m fr~fo|m|jwm otjmlm.

    _ke~f eg F`kjib|f`af`| ! @fssm gmsf+ amjs omses lf oeae ms fa~tfsms ~elfa

    sf df`fojmt lm |fo`ekeijm oeafma m sf otjs|mkjxmt f m |fo`ekeijm oeafm m sft

    amjs ma~kmaf`|f oea~tff`ljlm. ^telv|es oeafma m svtijt lf get`fofletfs lf

    |fo`ekeijm+ ams fa~tfsms oe`sftwmletms oe`|j`vma omv|fkesms.

    ^km|fmv eg ^telvo|jwj|z ! Vam mlee lm |fo`ekeijm oea amjet am|vtjlmlf oe!

    afm m moe`|foft. Es otj||jes lf wjmdjkjlmlf lm |fo`ekeijm se afkbet lf`jles.

    M m~kjomdjkjlmlf lm |fo`ekeijm `e aftomle fa iftmk f svm tfkfw`ojm ~elfa sft

    okmtmaf`|f wjs|es.

    Lf moetle oea e itoe lm Gjivtm =.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    20/126

    =.4. EDHF\JWE_

    lfojsfs lvtm`|f e lfsf`wekwjaf`|e lf vam m~kjome _mm_ avk|j!|f`m`oz. M tfmkjxme

    lf vam sj`|f|jxme }vf sjim e tjiet lm af|elekeijm ojf`|om+ mvaf`|m m otfljdjkjlmlf

    lfs|f |tmdmkbe f fkjaj`m j`|ftgft`ojms omvsmlms ~et f`|vsjmsaes ~te~etoje`mles ~fkmaljm. \et`m`le fssf |tmdmkbe va mt|fgm|e ja~et|m`|f lvtm`|f m |eamlm lf lfojsfs fa

    va ~tehf|e tfmk.

    =.4 Edhf|jwes

    Fs|m sfe kjs|m e edhf|jwe iftmk f es edhf|jwes fs~fooes lfs|m ljssft|me.

    =.4.= Edhf|jwes IftmjsAm~fmt m tfm lf avk|j!|f`m`oz jlf`|jom`le ~e`|es }vf ~essma mvrjkjmt lfsf`wekwfletfs

    f f`if`bfjtes lf seg|ymtf lvtm`|f e otjme lf m~kjomfs yfd }vf mle|fa avk|j!|f`m`oz

    oeae fs|jke mt}vj|f|vtmk ~mtm m ja~kfaf`|me lf _mm_.

    =.4.4 Edhf|jwes Fs~fooes

    E edhf|jwe iftmk ~elf sft lfoea~es|e `es sfivj`|fs edhf|jwes fs~fooes8

    M~tfsf`|mt vam wjse iftmk lm mt}vj|f|vtm avk|j!|f`m`oz+ fr~kjom`le es ~tj`oj~mjs

    oe`ofj|es |fjs ~mtm f`|f`ljaf`|e lfs|f |tmdmkbe3

    Lf`jt e s|m|vs lf am|vtjlmlf m|vmk lf avk|j!|f`m`oz3

    Jlf`|jomt ms fwjl`ojms sedtf es gm|etfs }vf j`fflvf`ojma `m mlee f lfsf`wekwj!

    af`|e lf _mm_ avk|j!|f`m`oz3

    M`mkjsmt f okmssjomt lf am`fjtm sjs|fa|jom es fs|vles ~tjatjes f es mt|fgm|es

    f`oe`|tmles }vf ~elfa mvrjkjmt `e lfsf`wekwjaf`|e lf vam m~kjome avk|j!|f`m`oz

    ^et a+ oeadj`mt es tfsvk|mles fwjlf`ojmles `e fs|vle sfov`ltje oea vam

    m~kjome ~t|jom les oe`ofj|es lf avk|j!|f`m`oz `m j`ls|tjm.

    =.? Af|elekeijm

    ^mtm mkom`mt es edhf|jwes fs~ftmles+ ms m|jwjlmlfs getma ljwjljlms fa ? gmsfs8

    7

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    21/126

    =.?. AF\ELEKEIJM

    Gmsf = ! M~mt|jt les edhf|jwes lm ~fs}vjsm+ gej tfmkjxmle vam tfwjse djdkjeitom

    j`jojmk ~mtm m gmajkjmtjxme oea es |ftaes f ~tj`oj~mjs oe`ofj|es tfkmoje`mles

    me |fam avk|j!|f`m`oz. Fssm gmsf gej dmsfmlm `m kfj|vtm lf mt|jies+ ~vdkjomfsfa sj|fs f tfwjs|ms tfkmoje`mles me |fam. Oeae tfsvk|mle lfssm gmsf ed|jwfaes es

    ~tj`oj~mjs oe`ofj|es f |ftaes tfkmoje`mles m avk|j!|f`m`oz }vf sftwjte lf f`|tmlm

    ~mtm m ~trjam gmsf.

    Gmsf 4 ! Oe`bfojles es oe`ofj|es f |ftaes+ ~esswfk ~km`fhmt f frfov|mt va

    am~fmaf`|e sjs|fa|joe }vf sftwjt ~mtm f`|f`lft e oe`|fr|e `e }vmk e |fam

    ~fs}vjsmle fs| j`sftjle. @fssm gmsf se frfov|mlms m|jwjlmlfs oeae lf`je

    lf }vfs|fs lf ~fs}vjsm+ fsoekbm lf f`ij`fs lf dvsom+ kfj|vtm f om|fietjxme les

    |tmdmkbes tfkfwm`|fs+ f|o. E edhf|jwe ~tj`oj~mk lfssm gmsf f`|f`lft e fs|mle lm mt|flf avk|j!|f`m`oz f _mm_+ dfa oeae oe`bfoft e }vf h frjs|f `e aftomle f }vmjs

    es ~esswfjs ~tedkfams fa mdft|e.

    Gmsf ? ! dmsfmle `e tfsvk|mle le am~fmaf`|e sjs|fa|joe tfmkjxmle `m gmsf m`!

    |ftjet+ lf`jlm vam mdetlmifa lf ja~kfaf`|me+ }vf mle|mlm lvtm`|f e

    lfsf`wekwjaf`|e lf va ~tehf|e `m j`ls|tjm.

    M Gjivtm =.6 lfsotfwf lf getam tfsvajlm m af|elekeijm v|jkjxmlm `fssm ljssft|me.

    Gjivtm =.6 Tfsvae lm Af|elekeijm"Fkmdetme ~t~tjm*

    9

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    22/126

    =.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    23/126

    4Gv`lmaf`|me \ftjomFa =:7:+ Kfe`mtl Cfj`teoc+ va les ojf`|js|ms obfgf lm MT^M@F\+ ~tfovtsetm lmj`|ft`f|+ ljssf8 $M ~mt|jt lf mietm+ tflfs lf oea~v|mletfs fs|e mj`lm `m svm j`g`ojm+

    ams m afljlm }vf otfsofa f |et`ma!sf ses|jomlms+ `s jtfaes ~tewmwfkaf |f wft m

    ljssfaj`me le oea~v|mlet v|jkj|tje }vf+ oeae |fkfge`fs f f`ftijm fk|tjom+ jte sftwjt

    omsms f fsotj|tjes ~et |ele ~ms$"Ckfj`teoc+ 4>>?*. Fssm wjse lf oea~v|me v|jkj|tjm

    dmsfmlm `e aelfke lf get`fojaf`|e lf sftwjes m`|foj~m m |tm`sgetame amssjwm lf |elm

    m j`ls|tjm lf oea~v|me `es k|jaes m`es+ fa }vf es sftwjes lf oea~v|me fs|mte

    ~te`|maf`|f ljs~e`wfjs sed lfam`lm+ oeae es ev|tes sftwjes v|jkj|tjes ljs~e`wfjs

    m|vmkaf`|f. _jajkmtaf`|f+ es vsvtjes"oe`svajletfs* ~tfojsma ~mimt es ~tewfletfsseaf`|f }vm`le fkfs mofssma es sftwjes lf oea~v|me. Mka ljsse+ oe`svajletfs

    `e ~tfojsma amjs tfmkjxmt mk|es j`wfs|jaf`|es ev f`gtf`|mt m ljovklmlf lf oe`s|tvjt f

    am`|ft oea~kfrms j`gtm!fs|tv|vtms lf \J.

    Es ~tessje`mjs lf lfsf`wekwjaf`|e lf seg|ymtf fs|e f`gtf`|m`le j`aftes `ewes

    lfsmes ~mtm otjmt seg|ymtf ~mtm ajkbfs lf oe`svajletfs vsmtfa oeae sftwje me j`ws

    lf frfov|mtfa fa sfvs oea~v|mletfs ~fssemjs. F me ke`ie les m`es+ e svtijaf`|e lf

    mwm`es |fo`ekijoes oeae ~teofssmletfs avk|joetf f madjf`|fs lf oea~v|me fa tflf

    oeae Okvs|ft Oea~v|j`i"Zfe f| mk.+ 4>>7*+ Itjl Oea~v|j`i"Hmoed+ 4>>6*+ oea~v|me

    ^4^"Wv f| mk.+ 4>=>* f e amjs tfof`|f Okevl Oea~v|j`i"Afkk m`l Itm`of+ 4>>:*+ |et`ma

    fssf edhf|jwe omlm wfx amjs gmo|wfk.

    Es sftwjes lf oea~v|me oj|mles m`|ftjetaf`|f ~tfojsma sft mk|maf`|f oe`wfjs+

    fsomkwfjs f lj`ajoes ~mtm sv~et|mt mofsse vd}ve f get`foft m ~essjdjkjlmlf lf oea!

    ~esje lf ev|tes sftwjes"Lvs|lmt m`l _obtfj ft+ 4>>6*. Mka ljsse+ oe`svajletfs

    lfwfa |ft m om~mojlmlf lf lf|ftaj`mt e `wfk lf sftwje tf}vftjle m|tmws lf ~mtaf|tes

    lf ]e_"]vmkj|z eg _ftwjof* f _KM"_ftwjof Kfwfk Mitffaf`|*"Dftdftewm m`l De`|obfw+

    4>>:*.

    :

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    24/126

    4.=. OKEVL OEA^V\J@I

    Okevl Oea~v|j`i gej e k|jae lfssfs ~mtmljiams m faftijt f ~teaf|f f`|tfimt

    sftwjes oe`wfjs m|tmws lm `ewm iftme lf lm|mof`|fts }vf se oe`s|tvles v|jkjxm`le

    |fo`ekeijms lf wjt|vmkjxme lf ~teofssmaf`|e f mtamxf`maf`|e. Oe`svajletfs fs|mtebmdjkj|mles m mofssmt m~kjomfs f lmles lm $okevl$fa }vmk}vft kvimt le av`le f sed

    lfam`lm+ oeae e omse le Iamjk=+ Ieeikf Leos4+ Egof Yfd M~~s?+ Lte~der>:*+ fsomkmdjkjlmlf jafljm|m f vse e|jajxmle les

    tfovtses se es ~tj`oj~mjs fkfaf`|es lf vam okevl. Jsse ~tewjle ~fke mvaf`|e `e

    ae`j|etmaf`|e f mv|eame le iftf`ojmaf`|e lf tfovtses+ fa va madjf`|f lj`ajoe.

    Ev|tes mv|etfs ljsoetlma }vf fssf va tf}vjsj|e ~mtm vam j`gtmfs|tv|vtm sft oe`sjlftmlm

    okevl"Bmmgg+ 4>>:*.

    Mka ljsse+ Okevl Oea~v|j`i |fa sjle lf`jle ~et mkiv`s mv|etfs oeae bmtlymtf f

    seg|ymtf wjt|vmkjxmles+ seamles m m~kjome lf |fo`ekeijms lf ae`j|etmaf`|e f ~tewjsje!

    `maf`|e"Iffkm`+ 4>>:*. Mj`lm frjs|fa mkiv`s ev|tes fs~fojmkjs|ms }vf `e f`gm|jxma

    om~mojlmlfs lm okevl+ ams motflj|ma }vf okevl oea~v|j`i vam $dvxx yetl$mdtm`if`le

    vam itm`lf wmtjflmlf lf ms~fo|es oeae lf~kezaf`|+ dmkm`ofmaf`|e lf omtim+ ~tewjsje!

    `maf`|e f |ftofjtjxme lf ~teofssmaf`|e f mtamxf`maf`|e lf lmles.

    Kfwm`le fa oe`sjlftme ms omtmo|fts|joms m~tfsf`|mlms `m \mdfkm 4.=+ Kvjx A.

    Wm}vfte f ev|tes mv|etfs "Wm}vfte f| mk.+ 4>>2* |f`|mtma obfimt m vam lf`je lf

    Okevl Oea~v|j`i. Edwjmaf`|f e oe`ofj|e lf okevl mj`lm fs| fa avlm`m f fssms lf!`jfs aes|tma oeae e oe`ofj|e lf okevl oe`ofdjle ~et mkiv`s fs~fojmkjs|ms. Okevl

    va itm`lf ~eek lf tfovtses wjt|vmkjxmles"bmtlymtf+ ~km|mgetams lf lfsf`wekwjaf`|e f

    sftwjes* gmojkaf`|f v|jkjxwfjs f mofsswfjs. Fssfs tfovtses ~elfa sft lj`ajomaf`|f

    tfoe`ivtmles ~mtm sf mhvs|mt m omtim wmtjwfk"fsomkm*+ ~ftaj|j`le |mada m e|jajxm!

    =b||~8%%yyy.iamjk.oea4b||~8%%leos.ieeikf.oea?b||~8%%egof.ajoteseg|.oea%yfd!m~~s

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    25/126

    4.=. OKEVL OEA^V\J@I

    Mv|et Lf`je

    A. Ckfas ... ~esswfk fsomkmt svm j`gtmfs|tv|vtm sed lfam`lm fa aj`v|es ev fa sfiv`les+ me j`ws lf

    ljms ev sfam`ms+ fwj|m`le lfssf aele svd!v|jkjxme f sedtfomtim les sfvs tfovtses j`!bevsf.^. Imy Vse lm j`|ft`f| ~mtm ~ftaj|jt ~fssems mofssmtfa sftwjes |fo`ekeijomaf`|f ljs~e`wfjs. Fssfs

    sftwjes ~tfojsma sft amssjwmaf |f fsomkwfjs.

    T. Dvzzm Vam Okevl va |j~e lf sjs|fam ~mtmkfke f ljs|tjdvle }vf oe`sjs|f lf vam oekfe lf oea~v!

    |mletfs wjt|vmkjxmles f j`|ftoe`fo|mles }vf se lj`ajomaf`|f ~tewjsje`mles f m~tfsf`|mles

    oeae va ev amjs tfovtses oea~v|moje`mjs v`jomles+ dmsfmles fa _KM fs|mdfkfojlm m|tmws

    lf `fieojme f`|tf e ~tewflet lf sftwje f e oe`svajlet.

    T. Oebf` Okevl Oea~v|j`i vam lms wtjms dvxx yetls frjs|f`|fs }vf |f`|ma mdtm`ift vam wmtjflmlf

    lf ms~fo|es oeae lf~kezaf`|+ dmkm`ofmaf`|e lf omtim+ ~tewjsje`maf`|e+ aelfke lf `fiojes

    f mt}vj|f|vtm. Fssf e ~trjae ~msse fa seg|ymtf. M fr~kjome amjs sja~kfs lf Okevl

    Oea~v|j`i lfsotfw!km oeae _eg|ymtf of`|tmle `m j`|ft`f|.

    H. Cm~km` Vam ma~km imam lf sftwjes dmsfmles `m yfd }vf edhf|jwma ~ftaj|jt me vsvtje ed|ft vam

    wmtjflmlf lf gv`oje`mkjlmlfs }vf se ~mims ~et vse f }vf m`|ftjetaf`|f tf}vftjm vam itm`lf

    }vm`|jlmlf lf j`wfs|jaf`|es fa bmtlymtf%seg|ymtf f oe`|tm|me lf de`s ~tessje`mjs. Okevl

    Oea~v|j`i m tfmkjxme lf jljms m`|jims lf oea~v|me v|jkj|tjm sfa m oea~kfrjlmlf |o`jom

    ev ~tfeov~me oea lf~kezaf`|s oea~kjomles.

    L.

    Ievtkmz

    ... e ~trjae |ftae ~mtm oma~m`bms ~vdkjoj|tjms ... otjmle getm le aelfke lf seg|ymtf }vf m

    wjt|vmkjxme bmdjkj|ev.

    L.

    Flymtls

    ... e }vf ~esswfk }vm`le weo mkom`m m j`gtm!fs|tv|vtm"lf m~kjome f gsjom* ~mtm e |mam`be

    lm yfd lf vam getam sed!lfam`lm.

    D. lf Bmgg Frjs|fa seaf`|f |ts |j~es lf sftwje }vf se dmsfmles fa okevl8 _mm_+ ^mm_ f ^km|mgetams lf

    Okevl Oea~v|j`i. E mv|et `e imtm`|f }vf fsomkmt amssjwmaf`|f sfhm va tf}vjsj|e ~mtm omdftfa }vmk}vft om|fietjm.

    D. Cf~fs _ja~kjom`le+ Okevl Oea~v|j`i vam avlm`m lf ~mtmljiam lf j`gtmfs|tv|vtm }vf bmdjkj|m m

    msof`e lf seg|ymtf oeae sftwje ... vam imam lf sftwjes dmsfmles fa yfd }vf |fa oeae

    edhf|jwe ~ftaj|jt m vsvtjes ed|ft vam ma~km wmtjflmlf lf gv`oje`mkjlmlfs dmsfmlm `e aelfke

    lf ~mimaf`|e ~et vse f }vf m`|ftjetaf`|f tf}vftjm vam itm`lf }vm`|jlmlf lf j`wfs|jaf`|es f

    oe`|tm|me lf ~tessje`mjs fs~fojmkjs|ms.

    C.

    _bfz`c!

    am`

    Okevlgeom fa gmxft m om~mojlmlf lf ~teofssmaf`|e f mtamxf`maf`|e lm omamlm lf bmtlymtf

    oe`svawfk sed lfam`lm. Fssf va ~tjafjte ~msse ja~et|m`|f+ ams ~mtm ms oea~m`bjms

    m~tewfj|mtfa e ~elft lm okevl+ j`gtm!fs|tv|vtms oea~kf|ms lf m~kjomfs ~tfojsma sft gmojkaf`|f

    oe`ivtmlms+ ljs|tjdvlms+ lj`ajomaf`|f fsomkmlms f iftf`ojmlms `fssfs madjf`|fs lf bmtlymtfwjt|vmkjxmle.

    C. Bmt|ji @m tfmkjlmlf e mofsse m tfovtses f sftwjes `fofsstjes ~mtm frfov|mt gv`oje`mkjlmlfs oea `f!

    ofssjlmlf lf avlm`m lj`ajom. m wjt|vmkjxme lf tfovtses mv|e!am`|jles f mv|e!iftf`ojwfjs.

    H. ^tj|xcft Okevls se va wms|e ~eek lf tfovtses oea mkeome sed lfam`lm... wjt|vmkjxmles ... f oedtmles

    ~et v|jkjxme.

    \.

    Leftcxf`

    Okevl Oea~v|j`i ... vam wftse lf itjl oea~v|j`i majiwfk ~mtm e vsvtje.

    \. We`

    Fjocf`

    |ftofjtjxmle+ sed!lfam`lm+ ~mie ~et vse+ fa }vmk}vft kvimt lm j`|ft`f|+ f|o.

    ==

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    26/126

    4.=. OKEVL OEA^V\J@I

    Mv|et Lf`je

    A. _bfflm` m ~jtajlf lf okevl oea~v|j`i mhvlm m ljgftf`ojmt ms wtjms egft|ms lf okevl... `e |e~e8 _mm_+

    `e afje8 ^mm_+ `m dmsf8 Jmm_.

    M. Tjomlfkm ^tehf|es lf Okevl Oea~v|j`i se amjs ~elfteses f |ekftm`|fs m gmkbms }vf sjs|fams lf itjl

    lfsf`wekwjles `es k|jaes m`es.

    J.

    Ykmlmyscz

    Dftift

    M ~tj`oj~mk oejsm }vf }vftfaes wjt|vmkjxmt f eovk|mt le vsvtje m oea~kfrjlmlf ... |eles

    m}vfkfs seg|ymtfs }vf sfte wjt|vmkjxmles ev eovk|es lf `s f e |tm|maf`|e lf sjs|fams f%ev

    ~tessje`mjs }vf fs|e fa }vmk}vft ev|te kvimt+ getm lm Okevl.

    D. Amt|j` Okevl oea~v|j`i j`okvj }vmk}vft sftwje dmsfmle fa mssj`m|vtm ev ~mie ~et vse }vf+ fa |fa~e

    tfmk f telm`le `m j`|ft`f|+ fr|f`lf ms om~mojlmlfs lf |j frjs|f`|fs.

    T. Dtmii E oe`ofj|e ~tj`oj~mk lf okevl m m~kjome yfd... m okevl amjs lfsf`wekwjlm f oe`wfk.

    Avj|es mobma dmtm|e ajitmt mietm ~mtm vam okevl`m yfd me j`ws lf j`wfs|jt fa sfvs ~te~tjes

    sftwjletfs ... jsse va lfsc|e~ ~et ~fssem sfa va oea~v|mlet.

    I. Itvam`m`l F.

    C`ett

    Okevl |elm sedtf8 _mm_ ... oea~v|me v|jkj|tjm+ ^mm_ ... j`|fitme `m j`|ft`f| ... ~km|mgetamsoeaftojmjs.

    .

    AoGfltjfs

    Okevl Oea~v|j`i+ e`lf tfsjlfa `e seaf`|f `esses lmles ams |mada mkiv`s lf `esses

    seg|ymtfs. @s mofssmaes }vmk}vft oejsm `e seaf`|f m|tmws lf `esses ^Os+ ams |mada

    lf ev|tes ljs~esj|jwes+ oeae samt|~be`fs+ ^LMs+ ... E afimoea~v|mlet bmdjkj|mle ~fkm

    wjt|vmkjxme f seg|ymtf oeae sftwje ... Fssm m v|jkjxme le ~elft lf oea~v|me ~fkm

    amssjwm v|jkjxme lf lm|m of`|fts

    \mdfkm 4.= Lf`jfs lf Okevl Oea~v|j`i"Wm}vfte f| mk.+ 4>>2*

    e `m v|jkjxme lf tfovtses. Fssf ~eek lf tfovtses `etamkaf`|f fr~ketmle ~fke

    aelfke ~mz!dz!vsf"~mivf ~et vse*+ `e }vmk imtm`|jms se egftfojlms ~fke ~tewflet lf

    j`gtmfs|tv|vtm ~et afje lf _KM"_ftwjof Kfwfk Mitffaf`|*.

    Ekbm`le ~mtm e a`jae lf`eaj`mlet oeava `ms lf`jfs+ es mv|etfs `e obfimtma

    m vam lf`je lf vam gv`oje`mkjlmlf `jom ~te~es|m fa |elms ms lf`jfs. E oe`hv`|e

    lf gv`oje`mkjlmlfs }vf amjs sf m~terjam lm lf`je a`jam ~elftjm sft fsomkmdjkjlmlf+

    aelfke lf ~mimaf`|e ~et vse f wjt|vmkjxme.

    @fssf |tmdmkbe vsmtfaes m lf`je ~te~es|m ~fke @m|je`mk J`s|j|v|f eg _|m`lmtls

    m`l \fob`ekeiz"@J_\*+ }vf lf`f Okevl Oea~v|j`i oeae va aelfke }vf ~ftaj|f+ lf

    getam oe`wf`jf`|f+ e mofsse m va ~eek lf tfovtses oea~v|moje`mjs oea~mt|jkbmles"tflf+

    sftwjletfs+ mtamxf`maf`|e+ m~kjomfs f sftwjes* }vf ~elfa sft tm~jlmaf`|f ~tewjsje!

    `mles f kjdftmles oea e a`jae lf fsgete lf iftf`ojmaf`|e ev j`|ftme le ~tewflet

    lf sftwje.

    Mj`lm sfiv`le e @m|je`mk J`s|j|v|f eg _|m`lmtls m`l \fob`ekeiz "@J_\*+ Okevl

    Oea~v|j`i oea~es|m ~et oj`oe omtmo|fts|joms fssf`ojmjs"Afkk m`l Itm`of+ 4>>:*8

    Mkeome lf tfovtses sed lfam`lm8 E vsvtje ~elf ml}vjtjt v`jkm|ftmkaf`|f

    =4

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    27/126

    4.=. OKEVL OEA^V\J@I

    tfovtses oea~v|moje`mjs+ oeae |fa~e lf ~teofssmaf`|e `e sftwjlet ev mtamxf!

    `maf`|e+ m|tmws lm tflf `m afljlm fa }vf `fofssj|f f sfa ~tfojsmt lf j`|ftme

    bvam`m oea es ~tewfletfs lf omlm sftwje.

    Ma~ke mofsse m tflf8 tfovtses fs|e ljs~e`wfjs m|tmws lm tflf f ~elfa sft

    mofssmles ~et afje lf afom`jsaes }vf gv`oje`fa fa ~km|mgetams bf|ftei`fms

    "~et frfa~ke+ |fkfge`fs ofkvkmtfs+ km~|e~s f ^LM*.

    ^eekj`i lf tfovtses8 es tfovtses le ~tewflet lf oea~v|me se mitv~mles ~mtm

    m|f`lft wtjes oe`svajletfs m|tmws lf va aelfke avk|j!|f`m`oz+ oea ljgftf`|fs

    tfovtses gsjoes f wjt|vmjs m|tjdvles lj`majomaf`|f f `ewmaf`|f lf moetle oea m

    lfam`lm le oe`svajlet. B va sf`se lf j`lf~f`l`ojm keomk fa }vf e okjf`|fiftmkaf`|f `e |fa `f`bva oe`|tekf ev oe`bfojaf`|e sedtf m keomkjxme frm|m

    les tfovtses ljs~e`jdjkjxmles+ ams ~elf sft om~mx lf fs~fojomt e keomk fa va

    `wfk amjet lf mds|tme "~et frfa~ke+ ~ms+ fs|mle ev lm|m of`|ft*. Frfa~kes lf

    tfovtses j`okvfa e mtamxf`maf`|e+ ~teofssmaf`|e+ afatjm+ kmtivtm lf dm`lm lf

    tflf f a}vj`ms wjt|vmjs.

    Fkms|jojlmlf t~jlm8 tfovtses ~elfa sft ml}vjtjles lf getam t~jlm f fks|jom+ fa

    mkiv`s omses mv|eam|jomaf`|f+ omse bmhm m `fofssjlmlf lf fsomkmt oea e mvaf`|e

    lm lfam`lm+ f ~elfa |mada sft kjdftmles+ `m tf|tme lfssm lfam`lm. ^mtmes vsvtjes+ es tfovtses ljs~e`wfjs ~mtm vse ~mtfofa sft jkjaj|mles f ~elfa sft

    ml}vjtjles fa }vmk}vft }vm`|jlmlf f m }vmk}vft aeaf`|e.

    _ftwje afljle8 sjs|fams fa `vwfa mv|eam|jomaf`|f oe`|tekma f e|jajxma m

    v|jkjxme les tfovtses+ mkmwm`om`le m om~mojlmlf lf aflje fa mkiva `wfk lf

    mds|tme mlf}vmle ~mtm e |j~e lf sftwje "~et frfa~ke+ mtamxf`maf`|e+ ~teofssm!

    af`|e+ kmtivtm lf dm`lm+ f oe`|ms lf vsvtjes m|jwes*. Vse lf tfovtses ~elf sft

    ae`j|etmle+ oe`|tekmle f tfkm|mle m frjs|`ojm lf |tm`s~mt`ojm ~mtm e get`foflet f

    e oe`svajlet le sftwje v|jkjxmle.

    Mj`lm sfiv`le e @J_\"Afkk m`l Itm`of+ 4>>:*+ Okevl Oea~v|j`i ljwjljle fa |ts

    aelfkes lf sftwje"Gjivtm 4.=*8

    _eg|ymtf oeae _ftwje "_mm_*8 M om~mojlmlf get`fojlm me oe`svajlet m lf

    vsmt ms m~kjomfs le get`foflet fa vam j`gtmfs|tv|vtm lm `vwfa. Ms m~kjomfs

    se mofsswfjs lf wtjes ljs~esj|jwes okjf`|f m|tmws lf vam j`|ftgmof |bj` okjf`|+

    oeae ~et frfa~ke va dteysft yfd. E oe`svajlet `e mlaj`js|tm ev oe`|tekm m

    =?

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    28/126

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    29/126

    4.4. _MM_ ! _EG\YMTF OEAE _FTWJE

    4.4 _mm_ ! _eg|ymtf oeae _ftwje

    @es k|jaes m`es avj|ms fa~tfsms |fa smle le aelfke lf f`|tfim lf seg|ymtf fa~moe!|mle ~mtm e aelfke lf get`fojaf`|e lf seg|ymtf `m yfd"Bvm`i+ 4>==d*. Fssms m~kjomfs

    f`|tfivfs m|tmws lm yfd we lfslf famjks m omkf`ltjes+ sjs|fams oekmdetm|jwes+ ~vdkjom!

    fs e`kj`f+ ~teofssmletfs lf |fr|e sja~kfs+ m~kjomfs ~mtm `fiojes f m~kjomfs ~mtm

    vse ~fssemk.

    _mkfsgetof.oea"Kfb`f`+ 4>==*+ ~et frfa~ke+ otjev va m~kjom|jwe ~mtm OTA"Ovs|eaft

    Tfkm|je`sbj~ Am`mifaf`|* f e oe`ivtev `e oeae va seg|ymtf fa~moe|mle+ ams oeae

    seg|ymtf telm`le sedtf sftwjletfs mofsswfk m|tmws le dteysft. ]vm`le gfx jsse+ otjev m

    ~te~tjm ~km|mgetam j`!bevsf ~mtm f`|tfimt e seg|ymtf oeae sftwje ~mtm sfvs oe`svajle!tfs.

    Keie fa sfivjlm _mkfsgetof.oea otjev e M~~Frobm`if+ vam ~km|mgetam lf j`|fitme

    mdft|m ~mtm ev|tms fa~tfsms lf seg|ymtf oe`s|tvjtfa ~telv|es v|jkjxm`le mkivams gv`oje!

    `mkjlmlfs le OTA le smkfsgetof. ^evoe |fa~e lf~ejs _mkfsgetof fr|f`lfv e oe`ofj|e

    lf ~km|mgetam mdft|m oeae getof.oea+ va madjf`|f lf lfsf`wekwjaf`|e f lf~kezaf`|

    vsm`le m j`gtmfs|tv|vtm lf _mm_ le _mkfsgetof. ^es|ftjetaf`|f+ mkivams ev|tms fa~tfsms

    j`itfssmtma `fssf aftomle+ m Mamxe` oea e Fkms|jo Oea~v|f Okevl"FO4*"Mamxe`+

    4>==* f Ieeikf oea e Ieeikf M~~F`ij`f6+ mdtj`le svms j`gtmfs|tv|vtms lf okevl ~mtm

    bes~flmtfa m~kjomfs lf |ftofjtes+ mka lf ~telvxjtfa sftwjes e`kj`f.

    Mamxe` wfa sf |et`m`le dms|m |f m|tmf`|f ~et}vf ~essvj vam tjom j`gtmfs|tv|vtm

    ~mtm sv~et|mt e~ftmfs lf wmtfhe e`kj`f f |fa egftfojle wtjes sftwjes ~mtm vsvtjes

    lf okevl oeae8 lm|m s|etmif+ ~teofssmaf`|e+ km lf af`smif`s+ djkkj`i f f|o. E mt|jie

    $Mamxe` _?s Mamxj`i Itey|b$"Bvm`i+ 4>==m* af`oje`m e otfsojaf`|e wft|jij`ese `e

    vse le sftwje _? lm Mamxe`"Mamxe`+ 4>==* `es k|jaes m`es+ ~esswfk wft e itoe

    lf otfsojaf`|e lfssf sftwje `m ivtm 4.4.

    Okevl Oea~v|j`i f _mm_ |mada ~mtfofa sft fojf`|fs |m`|e ~mtm vsvtjes }vm`|e

    ~mtm get`fofletfs lf seg|ymtf. Wtjes oe`svajletfs ~elfa vsmt m afsam j`s|mkmele seg|ymtf f oe`sf}vf`|faf`|f jsse afkbetm ms |mrms lf v|jkjxme lf bmtlymtf f

    tflf. ^et frfa~ke+ Mamxe`7 f Ieeikf9 |fa f`etafs lm|mof`|fts }vf fkfs `e v|jkjxma

    oea~kf|maf`|f e |fa~e |ele. Fkfs ~elfa frfov|mt sfvs ~t~tjes ~telv|es f f`}vm`|e

    bes~flma m~kjomfs lf ev|tms fa~tfsms. Bes|s oeae Mamxe`+ Ieeikf f _mkfsgetof

    iftmkaf`|f imtm`|fa m }vmkjlmlf lf sftwje ~mtm |eles es sfvs oe`svajletfs lf okevl

    6b||~s8%%m~~f`ij`f.ieeikf.oea7b||~8%%mys.mamxe`.oea9b||~8%%yyy.ieeikf.oea

    =6

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    30/126

    4.4. _MM_ ! _EG\YMTF OEAE _FTWJE

    Gjivtm 4.4 Mamxe` _?s Itey|b"Bvm`i+ 4>==m*

    m|tmws lf _KMs "_ftwjof Kfwfk Mitfffaf`|s* lf|mkbmlms.

    _fiv`le Bmttjs f| mk."Bmttjs m`l Mbafl+ 4>==* frjs|fa |ts |j~es ljgftf`|fs lf

    m~kjomfs _mm_8

    Avk|j!j`s|m`of8 fssms m~kjomfs frfov|ma fa madjf`|fs e`lf e sftwjlet yfd

    oea~mt|jkbmle. @fssm mdetlmifa vam o~jm lm m~kjome j`jojmkaf`|f oe`!

    ivtmlm ~mtm omlm okjf`|f+ f f`|e omlm o~jm ja~km`|mlm oeae va oe`|fr|e `e

    afsae sftwjlet yfd.

    _j`ikf!j`s|m`of8 ms m~kjomfs ~tewfa sftwjes ~mtm va `joe okjf`|f f frfov|ma

    fa va sftwjlet frokvsjwe. @fssf omse omlm sftwjlet yfd ~essvj vam `jom j`s|`ojm

    lm m~kjome. Fssm ~elf oe`sjlftmlm m mdetlmifa oea amjet lfs~ftloje lf

    tfovtses+ lmle }vf va sftwjlet ~elf frfov|mt oea m~f`ms =>& lf svm om~mojlmlf.

    Avk|j!|f`m`oz8 ~tew vam `jom m~kjome oea~mt|jkbmlm ~et wtjes okjf`|fs.

    @fssm mdetlmifa wtjms m~kjomfs $wjt|vmjs$se otjmlms `m afsam j`s|`ojm.

    Ja~kfaf`|mt e oe`ofj|e lf _mm_ `fa sfa~tf |e sja~kfs oeae ~mtfof. Obe`i

    "Obe`i m`l Omttmte+ 4>>7* ~te~f < `wfjs lf am|vtjlmlf ~mtm m~kjomfs }vf v|jkjxma e

    aelfke lf _mm_8

    @wfk = ! Ml!Beo%^ftse`mkjxmle8 E ~tjafjte `wfk lf am|vtjlmlf sfafkbm`|f

    me aelfke lf f`|tfim lf seg|ymtf le ~tewflet lf sftwjes lf m~kjom|jwes "M_^ !

    M~~kjom|je` _ftwjof ^tewjlft* |tmljoje`mk+ }vf lm|m lm lomlm lf =::>. @fssf `wfk+

    omlm okjf`|f |fa m svm ~t~tjm wftse ~ftse`mkjxmlm le m~kjom|jwe bes~flmle f

    =7

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    31/126

    4.4. _MM_ ! _EG\YMTF OEAE _FTWJE

    Gjivtm 4.? @wfjs lf Am|vtjlmlf _mm_"Obe`i m`l Omttmte+ 4>>7*

    frfov|m m svm ~t~tjm j`s|`ojm le m~kjom|jwe `es sftwjletfs le ~tewflet. ^f`sm`le

    fa mt}vj|f|vtm+ seg|ymtf `fssf `wfk lf am|vtjlmlf avj|e sfafkbm`|f mes seg|ym!

    tfs oet~etm|jwes wf`ljles |tmljoje`mkaf`|f+ fa }vf ljgftf`|fs vsvtjes lf vam

    etim`jxme oe`fo|ma m vam j`s|`ojm `jom fa frfove `e sftwjlet+ ams fssm

    j`s|`ojm |e|mkaf`|f j`lf~f`lf`|f lf }vmjs}vft ev|tms j`s|`ojms ev ~teofsses}vf e bes| fs|fhm frfov|m`le ~mtm es sfvs ev|tes okjf`|fs.

    @wfk 4 ! Oe`ivtwfk8 @e sfiv`le `wfk lf am|vtjlmlf+ e get`foflet bes~flm

    vam j`s|`ojm sf~mtmlm le m~kjom|jwe ~mtm omlm j`}vjkj`e. F`}vm`|e `e ~tjafjte

    `wfk omlm j`s|`ojm ~ftse`mkjxmlm j`ljwjlvmkaf |f ~mtm e j`}vjkj`e+ `fs|f `wfk

    |elms ms j`s|`ojms v|jkjxma m afsam ja~kfaf`|me lf oljie f e get`foflet

    m|f`lf ms `fofssjlmlfs les okjf`|fs get`fof`le e~fs lf oe`ivtme lf|mkbmlms

    }vf ~ftaj|fa me okjf`|f mk|ftmt m m~mt`ojm f e oea~et|maf`|e le m~kjom|jwe ~mtm

    es sfvs vsvtjes. M~fsmt lf sftfa jl`|joms m `wfk le oljie+ omlm j`s|`ojm~ftam`fof |e|mkaf`|f jsekmlm lf |elms ms lfamjs.

    @wfk ? ! Oe`ivtwfk f fojf`|f ~mtm wtjes |f`m`|s8 @e |ftofjte `wfk lf

    am|vtjlmlf+ e get`foflet frfov|m vam `jom j`s|`ojm }vf sftwf m |eles es okjf`|fs.

    Af|mlmles oe`ivtwfjs se vsmles ~mtm get`foft vam fr~ftj`ojm lf vsvtje f

    va oe`hv`|e lf tfovtses frokvsjwes ~mtm omlm j`s|`ojm. ^ek|joms lf mv|etjxme f

    lf sfivtm`m imtm`|fa }vf es lmles lf omlm okjf`|f sfhma am`|jles sf~mtmles les

    lmles lf ev|tes okjf`|fs f }vf+ lm ~fts~fo|jwm le vsvtje `mk+ `e frjs|m }vmk}vft

    =9

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    32/126

    4.?. AVK\J!\F@M@OZ

    j`ljome lf }vf m j`s|`ojm le m~kjom|jwe fs|fhm sf`le oea~mt|jkbmlm f`|tf wtjes

    |f`m`|s.

    @wfk < ! Fsomke`wfk+ oe`ivtwfk f fojf`|f ~mtm wtjes |f`m`|s8 @e }vmt|e f

    k|jae `wfk lf am|vtjlmlf+ e get`foflet bes~flm wtjes okjf`|fs fa va madjf`|f

    oea dmkm`ofmaf`|e lf omtim. Es lmles lf omlm okjf`|f se am`|jles sf~mtmles f

    oea af|mlmles oe`ivtwfjs get`fof`le vam fr~ftj`ojm le vsvtje f va oe`!

    hv`|e lf tfovtses frokvsjwes ~mtm omlm okjf`|f. Va sjs|fam lf _mm_ fsomke`wfk

    ~mtm va `afte lf okjf`|fs mtdj|tmtjmaf`|f itm`lf+ vam wfx }vf m }vm`|jlmlf lf

    sftwjletfs f j`s|`ojms `e kmle le get`foflet ~elf sft mvaf`|mlm ev ljaj`vlm

    oe`getaf `fofsstje ~mtm oettfs~e`lft lfam`lm sfa m `fofssjlmlf lf tfae!

    lfkmt m mt}vj|f|vtm m~kjom|jwe+ mka ljsse ms mk|ftmfs ev oettffs ~elfa sft|tm`saj|jlms ~mtm ajkbmtfs lf |f`m`|s |e gmojkaf`|f }vm`|e ~mtm va `joe |f`m`|.

    @etamkaf`|f sf fs~ftmtjm }vf e }vmt|e `wfk gessf m af|m lf`j|jwm ~mtm }vmk}vft

    m~kjom|jwe lf _mm_+ ams `e sfa~tf mssja. `fofsstje wftjomt ms `fofssjlmlfs

    e~ftmoje`mjs+ mt}vj|f|vtmjs f lf `fioje tfkmoje`mlms m~kjome. Vam mdetlmifa sj`ikf!

    |f`m`|gmx sf`|jle `m`ofjtmaf`|f5 E sfv m~kjom|jwe ~elf sft gfj|e ~mtm frfov|mt fa vam

    `jom j`s|`ojm kijom5 Weo ~elf imtm`|jt es sfvs oe`|tm|es lf `wfk lf sftwje "_KMs*

    sfa jsekmaf`|e lms m~kjomfs5 Fssms se }vfs|fs }vf lfwfa sft tfs~e`ljlms }vm`le sf~tf|f`lf mle|mt e aelfke _mm_.

    E edhf|e lf fs|vle ~tj`oj~mk lfssf |tmdmkbe sfte m~kjomfs _mm_ le |j~e avk|j!

    |f`m`oz.

    4.? Avk|j!|f`m`oz

    Avk|j!|f`m`oz vam mdetlmifa etim`jxmoje`mk ~mtm m~kjomfs _mm_. Dfxfaft f Xmjl!

    am` "Dfxfaft m`l Xmjlam`+ 4>=>* lf`fa avk|j!|f`m`oz oeae m~kjomfs }vf ~ftaj|fa

    m e|jajxme `e vse les tfovtses lf bmtlymtf+ m|tmws le oea~mt|jkbmaf`|e lf j`s|`ojms

    lm m~kjome f lm j`s|`ojm le dm`oe lf lmles+ f`}vm`|e ~ftaj|f oe`ivtmt m m~kjome

    ~mtm m|f`lft s `fofssjlmlfs le okjf`|f oeae sf fs|jwfssf frfov|m`le fa va madjf`|f

    lfljomle. \f`m`| vam f`|jlmlf etim`jxmoje`mk }vf mkvim vam m~kjome avk|j!|f`m`oz.

    @etamkaf`|f+ va |f`m`| mitv~m va `afte lf vsvtjes }vf se es s|mcfbeklfts lm

    etim`jxme.

    M lf`je m`|ftjet geom `e }vf `s oe`sjlftmaes ms~fo|es fa m~kjomfs avk|j!

    |f`m`oz8

    =2

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    33/126

    4.>:3 Hm`sf` f| mk.+ 4>=>*.

    Vam mdetlmifa mt}vj|f|vtmk `m }vmk es |f`m`|s gmxfa vse lf vam `jom m~kjome

    f dm`oe lf lmles "Cyec f| mk.+ 4>>2m*.

    ~esswfk }vf mkivams ~fssems oe`gv`lma avk|j!|f`m`oz oea e oe`ofj|e lf avk|j!

    vsvtje. Avk|j!|f`m`oz `e avk|j!vsvtje. Fa vam m~kjome avk|j!vsvtje `s mssvaj!

    aes }vf es vsvtjes fs|e vsm`le m afsam m~kjome oea e~fs lf mofsse kjaj|mlms

    f }vf fssm j`s|`ojm lm m~kjome v|jkjxmlm ~et m~f`ms va `joe okjf |f. @fssf omse~elfaes |ft wtjes vsvtjes oea e ~ftk $iftf`|f$+ oea e ~ftk $wf`lflet$+ ev oea }vmk!

    }vft ~ftk lf vsvtje `fofsstje ~mtm e gv`oje`maf`|e lm m~kjome. Fa vam m~kjome

    avk|j!|f`m`oz `s mssvajaes omlm j`s|`ojm |f`m`|s |fa va mkie itmv lf oe`ivtme+

    lf~f`lf`le lm lf`je lfssms oe`ivtmfs+ lejs |f`m`|s ~elf ~essvjt m~mt`ojm f

    yetcffleys ljgftf`|fs. Va mtivaf`|e mljoje`mk ~mtm fssm ljs|j`e }vf e _KM ~mtm omlm

    |f`m`| ~elf sft ljgftf`|f "Kj` f| mk.+ 4>>:m*.

    Ev|tm mdetlmifa }vf oe`|tms|m oea avk|j!|f`m`oz m mdetlmifa avk|j!j`s|m`of.

    Oea e mvaf`|e lm ~e~vkmtjlmlf lms |fo`ekeijms lf wjt|vmkjxme f lf Okevl Oea~v|j`i+avk|j!j`s|m`of m getam gojk lf otjmt m~kjomfs ~mtfojlms oea avk|j!|f`m`oz. `fofs!

    stje m~f`ms otjmt vam jamifa lf am}vj`m wjt|vmk oea m m~kjome ~t!oe`ivtmlm f+

    keie fa sfivjlm otjmt j`s|`ojms m~mt|jt lfssm jamifa. M mdetlmifa avk|j!j`s|m`of

    vam afkbet mdetlmifa }vm`le e `afte lf okjf`|fs get ~f}vf`e "Ive f| mk.+ 4>>9*.

    Vam mdetlmifa amjs ~tegv`lm sedtf e |fam avk|j!|f`m`oz sft m~tfsf`|mle `e

    Om~|vke ?+ e`lf sft tfmkjxmle va am~fmaf`|e lm tfm.

    4.< Oe`sjlftmfs Gj`mjsFs|f om~|vke m~tfsf`|ev es oe`ofj|es dsjoes vsmles `m ljssft|me. J`jojmkaf`|f+ `efs

    sedtf Okevl Oea~v|j`i+ _mm_+ ^mm_ f Jmm_. E oe`ofj|e lf avk|j!|f`m`oz gej j`|telvxjle+

    fr~kjoj|m`le wjsfs f omtmo|fts|joms }vf sfte ja~et|m`|fs ~mtm e f`|f`ljaf`|e les

    om~|vkes ~es|ftjetfs. ^et a+ getma m~tfsf`|mlms mkiv`s tf}vjsj|es lf m~kjomfs }vf

    mle|ma e aelfke lf _mm_ f avk|j!|f`m`oz.

    Fadetm e }vf gej m~tfsf`|mle m| m}vj sfhm lf itm`lf tfkfw`ojm+ ~tfojse dfa amjs

    le }vf jsse ~mtm mle|mt vam |fo`ekeijm `m j`ls|tjm. `fofsstje f`|f`lft ms wm`|mif`s f

    =:

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    34/126

    4.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    35/126

    ?Am~fmaf`|e _js|fa|joeFssf |tmdmkbe etjij`ev!sf lf vam `fofssjlmlf tfmk lf sf ja~kfaf`|mt va m~kjom|jwe ~mtmvam fa~tfsm s|mt|v~ "Tjfs+ 4>==* }vf sfivjssf e aelfke lf _mm_ f }vf ~vlfssf sft

    bes~flmle fa mkiva madjf`|f lf Okevloeae Mamxe` MY_ ev Ieeikf M~~F`ij`f. M

    ~vdkjojlmlf frofssjwm lm aljm fa |et`e lf _mm_ f avk|j!|f`m`oz ~te~jojma e svtijaf`|e

    lf fs~fovkmfs f j`getamfs ja~tfojsms sedtf fssf oma~e "Ajkehjojo+ 4>>2*. Mka

    ljsse m mvs`ojm lf |tmdmkbes }vf sj`|f|jxfa e oe`bfojaf`|e iftmle lf getam m fkjaj`mt

    j`getamfs ja~tfojsms ev dmsfmlms frokvsjwmaf`|f fa e~j`je ~fssemk |et`m mj`lm amjs

    ljgojk lf`jt e s|m|vs m|vmk lm tfm+ oeae gej ~esswfk edsftwmt `e itoe lm Gjivtm =.>9*. M fsoekbm lf svm v|jkjxme `fssf |tmdmkbe eoettfv ~tj`oj~mkaf`|f ~et

    v|jkjxmt va ~teofsse f ~te|eoeke lf frfove dfa lf`jles+ e }vf ~ftaj|f }vf fssm

    m|jwjlmlf ~essm sft tf~f|jlm ~et ev|tes ~fs}vjsmletfs fa aeaf`|es gv|vtes.

    Am~fmaf`|e _js|fa|joe vam af|elekeijm }vf gtf}vf`|faf`|f v|jkjxmlm fa ~fs!

    }vjsms aljoms+ ams }vf wfa itmlvmkaf`|f im`bm`le getm `m oeav`jlmlf lf f`if`bmtjm

    lf seg|ymtf. Lf moetle oea Dvlif` "Dvlif` f| mk.+ 4>>2*+ lf`|tf es ~tj`oj~mjs ae|jwes

    ~mtm sf frfov|mt vam am~fmaf`|e sjs|fa|joe ~elfaes oj|mt8

    4=

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    36/126

    mhvlm `m tfmkjxme lf vam mwmkjme ja~mtojmk le amjet `afte lf fs|vles ~ess!

    wfk+ jlf`|jom`le kmov`ms frjs|f`|fs m|vmkaf`|f `m tfm lf ~fs}vjsm f oe`|tjdvje

    ~mtm m oeav`jlmlf ojf`|om oea vam s`|fsf oe`wfk les lmles3

    ~tew va ~teofljaf`|e sjs|fa|joe ~mtm jlf`|jomt m `m|vtfxm f m fr|f`se lf

    lmles le fs|vle }vf se |fjs ~mtm tfs~e`lft s }vfs|fs lf ~fs}vjsm3

    mvrjkjm `e am~fmaf`|e lm ~fs}vjsm }vf gej tfmkjxmlm3

    mhvlm m ~km`fhmt vam `ewm ~fs}vjsm+fwj|m`le lv~kjome lfs`fofsstjm lf fsgete f

    fttes.

    mhvlm m jlf`|jomt kmov`ms f itv~es lf fs|vles ~tjatjes+ ~mtm jlf`|jomt |~joes f

    tfms ~mtm tfmkjxmt tfwjsfs sjs|fa|joms amjs oea~kf|ms.

    ^mtm oe`lvxjt e am~fmaf`|e sjs|fa|joe tfmkjxmle `fssf |tmdmkbe sfte sfivjles es

    ~msses lfsotj|es `m Gjivtm ?.=. Omlm f|m~m le ~teofsse dtfwfaf`|f lfsotj|m m sfivjt8

    =. ^fs}vjsm fr~ketm|tjm8 `fssm f|m~m getma tfmkjxmles ~fs}vjsms fa a}vj`ms lf

    dvsom f djdkje|foms ljij|mjs ljs~e`wfjs `m yfd+ oea e edhf|jwe lf f`|f`lft afkbet

    m tfm m sft ~fs}vjsmlm.

    4. Lf`je lf }vfs|fs lf ~fs}vjsm8 ~mssmle m gmsf lf f`|f`ljaf`|e le ~tedkfam+se lf`jlms }vfs|fs lf ~fs}vjsm+ }vf jte ivjmt e am~fmaf`|e sjs|fa|joe.

    ?. Oe`lve lm ~fs}vjsm8 `fssm gmsf se sfkfoje`mlms ms djdkje|foms ljij|mjs e`lf

    ms }vfs|fs lf ~fs}vjsm sfte frfov|mlms f ev|tes keomjs e`lf sfte ~fs}vjsmles

    |tmdmkbes sedtf e |fam.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    37/126

    ?.=. LJTF\JWM_ LF ^F_]VJ_M

    7. Fr|tme lf lmles f ~teofsse lf am~fmaf`|e8 m~s m lf`je le fs}vfam

    lf okmssjome+ es |tmdmkbes se mitv~mles f ms j`getamfs `fofsstjms ~mtm

    tfs~e`lft s }vfs|fs lf ~fs}vjsm se fr|tmlms.

    Gjivtm ?.= ^teofsse lf Am~fmaf`|e _js|fa|joe ! Mlm~|mle lf "^f|ftsf` f| mk.+ 4>>2*

    Es lf|mkbfs lf oeae e am~fmaf`|e sjs|fa|joe gej oe`lvxjle sfte lfsotj|es `e

    lfoettft lfssf om~|vke }vf fs| fs|tv|vtmle lm sfivj`|f getam8 m sfe ?.= lfsotfwf ms

    }vfs|fs }vf fssf am~fmaf`|e ~tf|f`lf tfs~e`lft f m sfe ?.4 lfsotfwf oeae getmatfmkjxmlms ms dvsoms f m sfkfe les |tmdmkbes tfkfwm`|fs msseojmles s }vfs|fs lf`jlms

    `m sfe ?.=. M~s m frokvse les |tmdmkbes jttfkfwm`|fs f lm kfj|vtm lf |eles es |tmdmkbes

    tfkfwm`|fs+ es afsaes getma mitv~mles lf moetle oea ms om|fietjms lf`jlms `m sfe

    ?.?. Es tfsvk|mles lfssf am~fmaf`|e sjs|fa|joe se m~tfsf`|mles `ms sffs ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    38/126

    ?.=. LJTF\JWM_ LF ^F_]VJ_M

    _mm_

    _eg|ymtf ms m sftwjof

    M~mt|jt lfssms dvsoms getma f`oe`|tmles mkiv`s mt|jies f am|tjms `m yfd sedtf e

    mssv`|e. Dem ~mt|f lfssf am|ftjmk |tm|mwm!sf lf mt|jies dmsfmles fa e~j`jfs ~fssemjs

    ev ~f}vf`es |v|etjmjs. Fssm m|jwjlmlf sftwjv ~mtm }vf gessf otjmlm vam amssm ot|jom lf

    oe`bfojaf`|e }vf mhvlev m oea~tff`lft afkbet e ~tedkfam f m getamkjxmt va oe`hv`|e

    lf }vfs|je`maf`|es tfkmoje`mles avk|j!|f`m`oz8

    ]vmjs ms wm`|mif`s f lfswm`|mif`s lm mlee lm mt}vj|f|vtm avk|j!|f`m`oz5

    Lfwjle j`fr~ftjf`ojm oea m mlee lfssm mdetlmifa ftm `fofsstje smdft }vmjs

    e df`fgojes f ~ftlms }vf sf |ftjm mle|m`le m mt}vj|f|vtm avk|j!|f`m`oz.

    ]vm`le m mlee lf avk|j!|f`m`oz wjwfk5 `fofsstje jlf`|jomt es of`tjes

    e`lf m mlee lm mt}vj|f|vtm avk|j!|f`m`oz wjwfk.

    Frjs|f mkivam getam lf fr|f`lft ms gv`oje`mkjlmlfs lf va |f`m`| fs~fooe5

    Lmle }vf omlm okjf`|f ~elf |ft vam `fofssjlmlf fs~foom ~tfojse smdft oeae

    ja~kfaf`|mt ms gv`oje`mkjlmlfs fs~fooms lf va okjf`|f"|f`m`|*+ h }vf |ftfaes

    m~f`ms vam `jom j`s|`ojm lm m~kjome }vf sft v|jkjxmlm ~et |eles es okjf`|fs.

    Oeae iftf`ojmt m wmtjmdjkjlmlf f`|tf es |f`m`|s5 _f e m~kjome sv~et|mt tfitms

    lf `fioje fs~fooms ~mtm omlm |f`m`|+ tfkfwm`|f smdft oeae iftf`ojmt jsse.

    Oeae wftjomt sf va |f`m`| fs| oe`svaj`le amjs tfovtses le }vf e fs~f!

    tmle5 Oeae e|jajxmt e vse lf tfovtses vam lms ~tj`oj~mjs ~te~es|ms lf avk|j!

    |f`m`oz+ ja~et|m`|f smdft m }vm`|jlmlf lf tfovtses oe`svajles ~et omlm |f`m`|.

    Jsse ~elf mhvlmt m jlf`|jomt |f`m`|s }vf |f`bma vam amjet lfam`lm ~et tfovtses

    oea~v|moje`mjs f mkeomt vam j`gtmfs|tv|vtm mlf}vmlm ~mtm es afsaes+ fwj|m`le

    }vf es ev|tes |f`m`|s sfhma oea~teaf|jles.

    Oeae |tm|mt sekjoj|mfs lf getam mss`ote`m5 M a lf e|jajxmt e vse lf

    tfovtses+ ~ftaj|jt }vf tf}vjsjfs sfhma tfmkjxmlms lf getam mss`ote`m ~elf

    mhvlmt `m afkbet v|jkjxme lf tfovtses. Frjs|fa avj|ms gv`oje`mkjlmlfs }vf

    ~elfa sft sekjoj|mlms f frfov|mlms ~es|ftjetaf`|f }vm`le m lfam`lm lf tfovtses

    `e sftwjlet get af`et.

    Oeae jsekmt es |f`m`|s+ lf getam }vf va |f`m`| `e |f`bm mofsse m lmles lf

    ev|te j`lfwjlmaf`|f5 ^tewft m sfivtm`m les lmles `m mt}vj|f|vtm avk|j!|f`m`oz

    4

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    39/126

    ?.=. LJTF\JWM_ LF ^F_]VJ_M

    va gm|et ot|joe+ |f`le fa wjs|m }vf |eles es |f`|m`|s oea~mt|jkbma m afsam

    m~kjome f ~essjwfkaf`|f e afsae dm`oe lf lmles.

    Omse va |f`m`| fs|fhm oe`svaj`le avj|es tfovtses+ oeae ajitmt fssf |f`m`|

    ~mtm ev|tm a}vj`m ev WA "Wjt|vmk Amobj`f*5 Omse va |f`m`| frjhm amjs

    tfovtses le }vf e fs~ftmle+ fkf ~elf sedtfomttfimt e sftwjlet f ~tfhvljomt e

    gv`oje`maf`|e lf ev|tes |f`m`|s }vf oea~mt|jkbma m afsam m~kjome.

    ]vmjs ms ~te~es|ms frjs|f`|fs ~mtm sf ja~kfaf`|mt m mt}vj|f|vtmavk|j!|f`m`oz5

    _mdft }vmjs ms ~te~es|ms+ gtmafyetcs f djdkje|foms frjs|f`|fs }vf mvrjkjfa `m ja!

    ~kfaf`|me lm mt}vj|f|vtm avk|j!|f`m`oz lf itm`lf ja~et|`ojm ~mtm ~tewft

    ~telv|jwjlmlf `e lfsf`wekwjaf`|e f fwj|mt |tmdmkbe lfs`fofsstje.

    ?.=.4 Lf`je lf ]vfs|fs lf ^fs}vjsm

    ^mtm oe`lvxjt ms ~fs}vjsms tfmkjxmlms `fssf |tmdmkbe+ftm `fofsstje lf`jt e fsoe~e le

    fs|vle+ ~mtm jsse < }vfs|fs getma lftjwmlms m~mt|jt lms }vfs|fs h oj|mlms `m _fe

    ?.=.=8

    =. ]vmjs ms wm`|mif`s f lfswm`|mif`s lf sf mle|mt mt}vj|f|vtm avk|j!|f`m`oz5

    4. ]vmjs ms ~te~es|ms frjs|f`|fs ~mtm ja~kfaf`|me lm mt}vj|f|vtm avk|j!|f`m`oz5

    ?. Frjs|f mkivam getam lf iftf`ojmt m wmtjmdjkjlmlf f`|tf es |f`m`|s lf vam m~kjome

    avk|j!|f`m`oz5

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    40/126

    ?.4. _FKFE LE_ LMLE_

    \tmlve les |ftaes ~mtm e j`iks ~et sft m k`ivm v|jkjxmlm `ms dmsfs lf lmles

    fkf|t`joms lf ~fs}vjsm f `ms ~tj`oj~mjs oe`gft`ojms f fwf`|es les |~joes lf

    j`wfs|jime3

    Vse le e~ftmlet ET ~mtm j`ljomt }vf lejs |ftaes se mk|ft`m|jwes3

    Vse le e~ftmlet M@L ~mtm j`ljomt }vf lejs |ftaes lfwfa fs|mt hv`|es `e tfsvk|mle.

    M~s m frfove les ~msses lf`jles mojam getma f`oe`|tmles |ftaes ~mtm omlm

    ~ftiv`|m le `esse am~fmaf`|e sjs|fa|joe oeae ~esswfk edsftwmt `m \mdfkm M.6.

    JL ]VF_\E \FTAE_

    ]= ]vmjs ms wm |mif s f lfswm`|mif`s lf sfmle|mt mt}vj|f|vtm avk|j!|f`m`oz5 avk|j!|f`m`oz+ mlwm`|mifs+ ljsmlwm`|mifs+m~~temob+ dmttjft+ mle~|je`+ wjmdjkj|z]4 ]vmjs ms ~te~es|ms frjs|f |fs ~mtm

    ja~kfaf`|me lm mt}vj|f|vtmavk|j!|f`m`oz5

    m~~temob+ af|bels+ |fob`j}vfs+ ~te~esmk+gtmafyetc $avk|j!|f`m`oz$

    ]? Frjs|f mkivam getam lf iftf`ojmt mwmtjmdjkjlmlf f`|tf es |f`m`|s lf vam

    m~kjome avk|j!|f`m`oz5

    $~telvo| kj`fs$+ wmtjmdjkj|z+ wmtjm|je`+$avk|j!|f`m`oz$

    ]< ]vm`le m mlee lm mt}vj|f|vtmavk|j!|f`m`oz wjwfk5

    mle~|je`+ wjmdjkj|z+ m~~temob+$avk|j!|f`m`oz$

    \mdfkm ?.= ]vfs|je`maf`|es f |ftaes

    M oeadj`me lfssfs |ftaes lfv etjifa m vam oe`svk|m if`tjom lfsotj|m m sfivjt8

    "avk|j!|f`m`oz ET avk|j!|f`m`|* M@L "$Okevl oea~v|j`i$ET jmms ET ~mms ET

    smms ET mlwm`|mifs ET ljsmlwm`|mifs ET m~~temob ET dmttjft ET mle~|je` ET

    wjmdjkj|z ET m~~temob ET af|bels ET |fob`j}vfs ET ~te~esmk ET gtmafyetc ET

    |f`m`| ET $~telvo| kj`fs$ET wmtjmdjkj|z ET wmtjm|je` ET mle~|je` ET wjmdjkj|z ET

    obmkkf`ifs ET ~tedkfas ET df`f|s ET kess*

    ?.4 _fkfe les lmles

    ?.4.= Oe`lve lm ~fs}vjsm

    _fiv`le Cj|obf`bma "Cj|obf`bma m`l Obmt|fts+ 4>>9*+ ms ~fs}vjsms j`jojmjs les fs|vles

    ~elfa sft tfmkjxmlms fa djdkje|foms ljij|mjs+ ams jsse `e svojf`|f ~mtm vam tfwjse

    sjs|fa|jom+ ev|tms ge`|fs |mada ~elfa sft ~fs}vjsmlms. ^fs}vjsmletfs lm tfm |mada

    ~elfa sft oe`svk|mles ~mtm m j`ljome lf ge`|fs lf am|ftjmk amjs mlf}vmle.

    47

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    41/126

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    42/126

    ?.4. _FKFE LE_ LMLE_

    Ge`|f ]vftz Tfsvk|mlesJFFF ""$Leovaf`| \j|kf$8$avk|j!|f`m |$* ET "$Leovaf`| \j|kf$8$avk|j!|f`m oz$* ET "Mds|tmo|8$avk|j!

    |f`m`|$* ET "Mds|tmo|8$avk|j!|f`m`oz$** M@L "$Leovaf`| \j|kf$8mlwm`|mifs ET $Leovaf`| \j!|kf$8ljsmlwm`|mifs ET $Leovaf`| \j|kf$8m~~temob ET $Leovaf`| \j|kf$8dmttjft ET $Leovaf`|\j|kf$8mle~|je` ET $Leovaf`| \j|kf$8wjmdjkj|z ET $Leovaf`| \j|kf$8m~~temob ET $Leovaf`|\j|kf$8af|bels ET $Leovaf`| \j|kf$8|fob`j}vfs ET $Leovaf`| \j|kf$8~te~esmk ET $Leovaf`|\j|kf$8gtmafyETc ET $Leovaf`| \j|kf$8|f`m`| ET $Leovaf`| \j|kf$8$~telvo| kj`fs$ET $Le!ovaf`| \j|kf$8wmtjmdjkj|z ET $Leovaf`| \j|kf$8wmtjm|je` ET $Leovaf`| \j|kf$8mle~|je` ET$Leovaf`| \j|kf$8wjmdjkj|z ET $Leovaf`| \j|kf$8obmkkf`ifs ET $Leovaf`| \j|kf$8~tedkfasET $Leovaf`| \j|kf$8df`f|s ET $Leovaf`| \j|kf$8kess ET $Leovaf`| \j|kf$8Jmms ET $Le!ovaf`| \j|kf$8^mms ET $Leovaf`| \j|kf$8_mms ET $Leovaf`| \j|kf$8$Okevl oea~v|j`i$ETMds|tmo|8mlwm`|mifs ET Mds|tmo|8ljsmlwm`|mifs ET Mds|tmo|8m~~temob ET Mds|tmo|8dmttjft ETMds|tmo|8mle~|je` ET Mds|tmo|8wjmdjkj|z ET Mds|tmo|8m~~temob ET Mds|tmo|8af|bels ET Mds!|tmo|8|fob j}vfs ET Mds|tmo|8~te~esmk ET Mds|tmo|8gtmafyETc ET Mds|tmo|8|f m`| ET Mds!

    |tmo|8$~telvo| kj`fs$ET Mds|tmo|8wmtjmdjkj|z ET Mds|tmo|8wmtjm|je` ET Mds|tmo|8mle~|je` ETMds|tmo|8wjmdjkj|z ET Mds|tmo|8obmkkf`ifs ET Mds|tmo|8~tedkfas ET Mds|tmo|8df`f|s ET Mds!|tmo|8kess ET Mds|tmo|8Jmms ET Mds|tmo|8 mms ET Mds|tmo|8_mms ET Mds|tmo|8$Okevl oea~v|j`i$*

    :?

    MOA """"\j|kf8$avk|j!|f`m`|$* et "\j|kf8$avk|j!|f m`oz$* et "Mds|tmo|8$avk|j!|f m |$* et"Mds|tmo|8$avk|j!|f`m`oz$** m`l "\j|kf8mlwm`|mifs et \j|kf8ljsmlwm |mifs et \j|kf8m~~temobet \j|kf8dmttjft et \j|kf8mle~|je` et \j|kf8wjmdjkj|z et \j|kf8m~~temob et \j|kf8af|bels et \j!|kf8|fob`j}vfs et \j|kf8~te~esmk et \j|kf8gtmafyetc et \j|kf8|f`m`| et \j|kf8$~telvo| kj`fs$et\j|kf8wmtjmdjkj|z et \j|kf8wmtjm|je` et \j|kf8mle~|je` et \j|kf8wjmdjkj|z et \j|kf8obmkkf`ifs et \j!|kf8~tedkfas et \j|kf8df`f|s et \j|kf8kess et \j|kf8Jmms et \j|kf8^mms et \j|kf8_mms et \j|kf8$Okevloea~v|j`i$et Mds|tmo|8mlwm`|mifs et Mds|tmo|8ljsmlwm |mifs et Mds|tmo|8m~~temob et Mds!|tmo|8dmttjft et Mds|tmo|8mle~|je` et Mds|tmo|8wjmdjkj|z et Mds|tmo|8m~~temob et Mds|tmo|8af|belset Mds|tmo|8|fob`j}vfs et Mds|tmo|8~te~esmk et Mds|tmo|8gtmafyetc et Mds|tmo|8|f m`| etMds|tmo|8$~telvo| kj`fs$et Mds|tmo|8wmtjmdjkj|z et Mds|tmo|8wmtjm|je` et Mds|tmo|8mle~|je` etMds|tmo|8wjmdjkj|z et Mds|tmo|8obmkkf`ifs et Mds|tmo|8~tedkfas et Mds|tmo|8df f|s et Mds!|tmo|8kess et Mds|tmo|8Jmms et Mds|tmo|8 mms et Mds|tmo|8_mms et Mds|tmo|8$Okevl oea~v|j`i$***m`l "^vdkjsbflMs8hevt`mk ET ^vdkjsbflMs8~teofflj`i ET ^vdkjsbflMs8amimxj`f*

    22

    _oe~vs "\J\KF!MD_!CFZ"avk|j!|f m`oz ET avk|j!|f m`|* M@L \J\KF!MD_!CFZ"$Okevl oea~v!|j`i$ET jmms ET ~mms ET smms ET mlwm`|mifs ET ljsmlwm`|mifs ET m~~temob ET dmttjft ETmle~|je` ET wjmdjkj|z ET m~~temob ET af|bels ET |fob`j}vfs ET ~te~esmk ET gtmafyetc ET|f`m`| ET $~telvo| kj`fs$ET wmtjmdjkj|z ET wmtjm|je` ET mle~|je` ET wjmdjkj|z ET obmkkf`ifsET ~tedkfas ET df`f|s ET kess** M@L _VDHMTFM"oea~*

    =

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    43/126

    ?.4. _FKFE LE_ LMLE_

    Gjivtm ?.4 ^ftof`|vmk lf fs|vles tf|et`mles lf moetle oea m fs|tm|ijm lf dvsom

    Gjivtm ?.? ^ftof`|vmk lf fs|vles tf|et`mles ~fkms dvsoms mv|ea|joms

    _oe~vs f =>9* otj|tjes lf j`okvse f frokvse

    lfwfa sft dmsfmles `ms }vfs|fs lf ~fs}vjsms. Es afsaes sftwfa ~mtm frokvjt fs|vles

    }vf `e se tfkfwm`|fs ~mtm tfs~e`lft s }vfs|fs lm ~fs}vjsm. Lvtm`|f vam kfj|vtm ~twjm

    les mds|tmo|s les mt|jies gej ~esswfk jlf`|jomt mkiv`s mt|jies }vf getma tf|et`mles `m

    dvsom }vf `e fs|mwma tfkmoje`mles me oe`|fr|e lfssm ~fs}vjsm. Jsse eoettfv ~fke gm|e

    lms ~mkmwtms |f`m`oz f |f`m`| |mada sftfa v|jkjxmlms `m tfm lf f`if`bmtjm ojwjk. Ev|te

    ~e`|e ja~et|m |f jlf`|jomt f tfaewft tfsvk|mles lv~kjomles+ h }vf avj|es mt|jies

    4:

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    44/126

    ?.?. OKM__JGJOME

    getma tf|et`mles fa amjs lf vam ge`|f lf ~fs}vjsm. Getma f`oe`|tmles |mada mkiv`s

    |tmdmkbes mes }vmjs e mofsse ftm tfs|tj|e. Ljm`|f lfssf of`tje+ oea e edhf|jwe lf fkjaj`mt

    es |tmdmkbes jttfkfwm`|fs+ getma lf`jles es sfivj`|fs otj|tjes lf frokvse8

    =. ^m~fts lv~kjomles

    4. \tmdmkbes `e tfkmoje`mles mt}vj|f|vtm avk|j!|m`m`oz

    ?. ^es|ft+ ^m`fk f Yetcsbe~ ~m~ft

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    45/126

    ?.?. OKM__JGJOME

    lf |ftaes f oe`ofj|es }vf tffflj|ma m oe`|tjdvje le |tmdmkbe. Lvtm`|f fssm m|jwjlmlf

    jlf`|jomle |mada e oe`|fr|e lf omlm ~fs}vjsm. @fssf ~teofsse ~mkmwtms!obmwf lf

    ljgftf`|fs mt|jies se oeadj`mlms ~mtm lfsf`wekwft va f`|f`ljaf`|e lf mk|e `wfk sedtfm `m|vtfxm f m oe`|tjdvje lm ~fs}vjsm. Jsse mvrjkjev `m lf`je lf va oe`hv`|e lf

    om|fietjms }vf mhvlmtma tf~tfsf`|m|jwmaf`|f `e f`|f`ljaf`|e lf `essm ~e~vkme lf

    mt|jies.

    Fa `esse fs|vle |ts om|fietjxmfs getma otjmlms. M ~tjafjtm lfkms wftjom m tfm

    lf j`|ftfssf lf avk|j!|f`m`oz `e }vmk e fs|vle geomle+ ~et frfa~ke8 dm`oe lf lmles+

    mkeome lf tfovtses+ ovs|eajxme+ ~ftgetam`of+ sfivtm`m+ fsomkmdjkjlmlf+ ajitme

    lf sjs|fams+ _EM f ae`j|etmaf`|e. Fssms om|fietjms getma dmsfmlms fa `es |tmdmkbes

    "Ielsf m`l Avkjc+ 4>>:* f "Bgft m`l Cmtmijm``js+ 4>==*+ omlm vam lfkms lfsotj|m`m \mdfkm ?.>6*.

    Fssm okmssjome lfsotj|m `m \mdfkm ?.6.

    ?.?.4 Okmssjome les |tmdmkbes tfkfwm`|fs

    Fssm m|jwjlmlf oe`sjs|f fa mitv~mt es |tmdmkbes tfkfwm`|fs lf moetle oea ms }vfs|fs lf

    ~fs}vjsm f gmof|ms lf`jlms m`|ftjetaf`|f. Lvtm`|f fssm m|jwjlmlf gej ~esswfk f`oe`|tmt

    mkiv`s |tmdmkbes }vf ~elftjma mvrjkjmt `m tfs~es|m lf amjs lf vam }vfs|e lf ~fs}vjsm.

    ~esswfk ~ftofdft |mada }vf |fa!sf ~evoes |tmdmkbes tfkmoje`mles tfs~es|m lm

    }vfs|e

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    46/126

    ?.?. OKM__JGJOME

    OM\FIETJM LF_OTJEMkeome lf

    tfovtsesFssm om|fietjm mitv~m |tmdmkbes }vf fs|vlma ev ~te~fa sekvfs ~mtm mkeomefojf`|f lf tfovtses"~teofssmaf`|e+ mtamxf`maf`|e+ kmtivtm lf dm`lm* fa vam

    mt}vj|f|vtm avk|j!|f`m`oz.Dm`oe lf lmles A|eles+ |o`joms f gfttmaf`|ms }vf mvrjkjfa `m ja~kfaf`|me lf vam m~kjomeavk|j!|f`m`oz ~mtm lf dm`oe lf lmles. @fssm om|fietjm |mada j`okvj |tmdmkbes }vftfmkjxma oea~mtm|jwes f fr~ftjaf`|es tfkmoje`mles m |o`joms lf ja~kfaf`|me lftf}vjsj|es avk|j!|f`m`oz ~mtm lf dm`oe lf lmles.

    Ovs|eajxme Fa avj|es omses va |f`m`| ~elf ~tfojsmt lf ovs|eajxmfs fs~fooms ~mtm ~elftm|f`lft s `fofssjlmlfs lf va okjf`|f. @fssf omse `fofsstje m m~kjome lf |o`joms~mtm ja~kfaf`|mt f iftf`ojmt m wmtjmdjkjlmlf f`|tf es |f`m`|s lf vam m~kjome avk|j!|f`m`oz. Fssm om|fietjm mitv~m |tmdmkbes }vf fs|vlma ev ~te~fa gfttmaf`|ms+|o`joms ev a|eles ~mtm tfsekwft e ~tedkfam lf wmtjmdjkjlmlf lf |f`m`|s.

    Fsomkmdjkjlmlf E ~tj`oj~mk edhf|jwe lf vam m~kjome _mm_ m|f`lft m avj|es okjf`|fs m va dmjreovs|e. @fssf omse+ ~ftaj|jt }vf m m~kjome oe`sjim m|f`lft m va `afte omlm wfxamjet lf okjf`|fs lf gv`lmaf`|mk ja~et|`ojm. Fssm om|fietjm mitv~m |tmdmkbes }vfmdetlfa e ~tedkfam lf fsomkmdjkjlmlf.

    Ajitme Fa avj|es omses vam fa~tfsm ~elf ~essvjt vam m~kjome oe`wf oje`mk f lfsfhm|tm`sgeta!km fa vam m~kjome avk|j!|f`m`oz. Fssm om|fietjm mitv~m |tmdmkbes }vffs|vlfa ev ~te~e`bma vam sekve ~mtm fssf ~tedkfam.

    Ae`j|etmaf`|e Vam }vfs|e lf itm`lf ja~et|`ojm ~mtm e svofsse lf vam m~kjome avk|j!|f`m`oz e m|f`ljaf`|e _KM lf`jlm ~mtm omlm okjf`|f. Es |tmdmkbes msseojmles m fssf itv~em~tfsf`|ma fs|vles f ~te~es|ms ~mtm ae`j|etmaf`|e les |f`m`|s lm m~kjome }vm`|e oe`svae lf tfovtses ev }vmkjlmlf lf sftwje.

    ^ftgetam`of Fssfs |tmdmkbes mdetlma af|elekeijms f |o`joms }vf e|jajxfa m ~ftgetam`of lfvam m~kjome.

    _fivtm`m \f`le fa wjs|m }vf wtjes |f`m`|s ~elfa oea~mt|jkbmt m afsam m~kjome f e afsaedm`oe lf lmles+ wj|mk ~mtm vam m~kjome avk|j!|f`m`oz jsekmt omlm |f`m`| lf getam

    m `e ~ftaj|jt mofsse m lmles `e mv|etjxmles._EM Fssfs |tmdmkbes mdetlma oeae _EM ~elf sft v|jkjxmlm `m ja~kfaf`|me lf vam

    m~kjome avk|j!|f`m`oz.Wjt|vmkjxme Fssfs |tmdmkbes mdetlma oeae wjt|vmkjxme ~elf sft v|jkjxmlm ~mtm mvrjkjmt e lfsf`!

    wekwjaf`|e lf m~kjomfs avk|j!|f`m`oz.

    \mdfkm ?.< Gmof|m Oe`|fr|e

    ~mtm ~esswfjs ja~kfaf`|mfs gv|vtms+ ja~et|m`|f smdft sf h frjs|fa gtmafyetcs+

    gfttmaf`|ms+ a|eles+ aelfkes+ mt}vj|f|vtms+ f|o+ }vf ~essma sft v|jkjxmlms lvtm`|f vam

    ~esswfk ja~kfaf`|me. M \mdfkm ?.: m~tfsf`|m es |tmdmkbes mitv~mles ~et oe`|tjdvje.

    Fa mkiv`s omses ~esswfk }vf va |tmdmkbe m~tfsf`|f amjs lf vam oe`|tjdvje f `fssf

    omse jt m~mtfoft fa amjs lf vam om|fietjm.

    Ev|tm getam lf am~fmt es |tmdmkbes m|tws le |j~e lf ~fs}vjsm tfmkjxmle `e |tmdmkbe+

    fssm om|fietjxme gej lfsotj|m `m \mdfkm ?.6 f e tfsvk|mle lf svm m~kjome m~tfsf`|mle

    `m \mdfkm ?.=>.

    ^mtm va afkbet f`|f`ljaf`|e lm tfm ~fs}vjsmlm f le sfv itmv lf am|vtjlmlf+ gej

    tfmkjxmle e otvxmaf`|e lf mkivams om|fietjxmfs. E edhf|jwe lfssm m|jwjlmlf jlf |jomt

    ~et frfa~ke+ }vm`|es |tmdmkbes |tm|ma lf a|eles ev gtmafyetcs ~mtm tfsekwft ~tedkfams

    ?4

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    47/126

    ?.?. OKM__JGJOME

    OM\FIETJM LF_OTJEWmkjlm|je`Tfsfmtob

    Ms |o`joms j`wfs|jimlms se `ewms f `e getma ja~kfaf`|mlms mj`lm `m ~t|jom. Ms|o`joms vsmlms se +~et frfa~ke+ fr~ftjaf`|es tfmkjxmles fa kmdetm|tje.

    Fwmkvm|je`Tfsfmtob \o`joms se ja~kfaf |mlms `m ~t|jom f vam mwmkjme lm |o`joms oe`lvxjlm. aes|tmle oeae m |o`jom ja~kfaf`|mlm m ~t|jom "sekve lf ja~kfaf`|me* f }vmjsse ms oe`sf}v`ojms lm ja~kfaf`|me fa |ftaes lf df`fgojes f ~ftlms "mwmkjmelm ja~kfaf`|me*. Jsse |mada j`okvj jlf`|jomt ~tedkfams `m j`ls|tjm.

    _ekv|je`^te~esmk

    M sekve ~mtm e ~tedkfam ~te~es|e+ m sekve ~elf sft `ewm ev vam fr|f`sesji`jom|jwm lf vam |o`jom frjs|f`|f. Es ~e|f`ojmjs df`fgojes f m m~kjomdjkjlmlf lmsekve aes|tmlm ~et ~f}vf`es frfa~kes ev vam dem kj`bm lf mtivaf`|me

    ^bjkese~bjomk^m~ft

    Fssfs mt|jies fsdema vam `ewm getam lf wjsvmkjxmt oejsms frjs|f`|fs ~fkm fs|tv|vtmele oma~e lf ~fs}vjsm fa |ftaes lf |mre`eajm ev gtmafyetc oe`ofj|vmk.

    E~j`je` ^m~ft Fssfs mt|jies fr~tfssma vam e~j`je ~fssemk lf mkiva sedtf mkivam |o`jom ev sf fkm dem ev tvja+ ev oeae ms oejsms lfwftjma sft gfj|ms. Fkfs `e lf~f`lfa lf |tmdmkbestfkmoje`mles ev af|elekeijms lf ~fs}vjsm.

    Fr~ftjf`of^m~ft Mt|jies lf fr~ftj`ojm fr~kjoma e }vf f oeae mkie wfa sf`le gfj|e `m ~t|jom. Lfwfsft vam fr~ftj`ojm ~fssemk le mv|et.

    \mdfkm ?.6 Gmof|m \j~es lf ~fs}vjsm "Ge`|f8 "Yjftj`im f| mk.+ 4>>6**

    lf ~ftgetam`of lf vam m~kjome avk|j!|f`m`oz+ ev }vmjs |tmdmkbes m~tfsf`|ma sekvfs

    ~mtm ae`j|etmaf`|e lf m~kjomfs avk|j!|f`m`oz+ lf`|tf ev|tes. Ms Gjivtms ?.=> f 4>==+ f lf`|tf fssfs e es ~tj`oj~mjs |fams lf

    ~fs}vjsm getma ovs|eajxme+ ~ftgetam`of+ sfivtm`m+ mkeome lf tfovtses f dm`oe lflmles. ^elf!sf edsftwmt |mada }vf fa |eles es m`es |faes ~vdkjomfs tfmkoje`mlms

    m dm`oes lf lmles+ ovs|eajxme f ~ftgetam`of+ jsse va j`ljom|jwe lf }vf |mjs tfms

    ~essvfa m~mtf`|faf`|f amjet tfkfw`ojm ~mtm e lfsf`wekwjaf`|e lf m~kjomfs avk|j!

    |f`m`oz. Fssm ivtm ~elf sft avj|e |jk ~mtm }vf ~fs}vjsmletfs ~essma jlf`|jomt tfms

    ~evoe fr~ketmlms `e oma~e lf lfsf`wekwjaf`|e lf m~kjomfs avk|j!|f`m`oz+ lf getam m

    sftwjt oeae ~e`|e lf ~mt|jlm ~mtm sfvs |tmdmkbes lf ~fs}vjsm.

    M Gjivtm ?.6 gej otjmlm oea e edhf|jwe lf mvrjkjmt fa lfojsfs m sftfa |eamlms

    lvtm`|f e ~teofsse lf lfsf wekwjaf`|e lf seg|ymtf. Lvtm |f fssf ~teofsse avj|eoeava lwjlms sedtf }vmk |o`jom sft v|jkjxmlm ~mtm ja~kfaf`|mt e afom`jsae lf ovs|e!

    ajxme lm m~kjome+ }vmk afom`jsae lf mtamxf`maf`|e lf lmles sft v|jkjxmle+ oeae

    ~elft!sf! imtm`|jt vam ~ftgetam`of mofj|wfk ~mtm m m~kjome. Edsftwm`le e itoe

    gej ~esswfk wftjomt }vf m amjetjm les |tmdmkbes m~tfsf`|mwm mkiva a|ele%|o`jom ev

    mkivam ~te~es|m lf mt}vj|f|vtm ~mtm avk|j!|f`m`oz f m tfm amjs omtf`|f lf |tmdmkbes

    fsomkmdjkjlmlf.

    M amjetjm les a|eles f |o`joms m~tfsf`|mles |tm|ma lf mssv`|es oeae dm`oe

    ??

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    48/126

    ?.?. OKM__JGJOME

    OM\FIETJM LF_OTJEGtmafyetc Fssm om|fietjm mitv~m |tmdmkbe }vf m~tfsf`|ma gtmafyetcs }vf mvrjkjma `e lfsf`wek!

    wjaf`|e lf m~kjomfs avk|j!|f`m`oz. Oe`sjlftmaes gtmafyetc oeae va oe`s|tv|e

    gv`lmaf`|mk }vf lf`f ~tfssv~es|es+ oe`ofj|es+ wmketfs f ~t|joms+ f }vf j`okvj etjf`|m!fs ~mtm m frfove ~te~tjmaf`|f lj|m "\eabmwf+ 4>>6*.A|ele ev

    |o`jom\tmdmkbes }vf m~tfsf`|ma a|eles f |o`joms }vf |fa e edhf|jwe lf tfsekwft mkiva~tedkfam fs~fooe lvtm`|f m ja~kfaf`|me lf m~kjomfs avk|j!|f`m`oz

    Aelfke Mitv~m |tmdmkbes }vf lf`fa oe`s|tvfs oe`ofj|vmjs }vf mvrjkjma `e lfsf`wekwj!af`|e lf m~kjomfs avk|j!|f`m`oz. Oe`sjlftmaes aelfke oeae va tfsvae+ vamoe`s|tve oe`ofj|vmk }vf tf~tfsf`|m ~teofsses+ wmtjwfjs f tfkmoje`maf`|es+ sfa~tewft etjf`|mfs fs~fooms ev ~t|joms ~mtm ja~kfaf`|me "\eabmwf+ 4>>6*.

    Gfttmaf`|m Fssm om|fietjm mitv~m gfttmaf`|ms ja~kfaf`|mlms ~mtm m|f`lft mkiva tf}vjsj|e lfavk|j!|f`m`oz ev ~mtm mvrjkjmt lvtm`|f e lfsf`wekwjaf`|e lf vam m~kjome.

    ^te~es|m lfMt}vj|f|vtm

    Mitv~maf`|e lf ~te~es|ms lf mt}vj|f|vtm ~mtm ja~kfaf |me lf m~kjomfs avk|j!|f`m`oz ev ~te~es|ms lf mt}vj|f|vtm lf ~km|mgetams lf sv~et|f avk|j!|f`m`oz.

    \mdfkm ?.7 Gmof|m Oe`|tjdvje "Ge`|f8 "Yjftj`im f| mk.+ 4>>6**

    ]vfs|e Mt|jies Tfkmoje`mles]= F^>:+ F^==+ F^=4+ F^=?+ F^=6+ F^?4+ F^9+ F^>2+ F^>:+ F^=+ F^==+ F^=?+ F^=6+ F^=7+ F^=9+ F^=2+

    F^=:+ F^4>+ F^4=+ F^44+ F^4?+ F^4+ F^?=+ F^?4+F^??+ F^?6+ F^?2+ F^?:+ F^+ F^+ F^?2+ F^==+ F^47+ F^

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    49/126

    ?.?. OKM__JGJOME

    Oe`|fr|e Mt|jies Tfkmoje`mlesMkeome lf

    TfovtsesF^=?+ F^47+ F^?4+ F^?:+ F^6=+ F^66+ F^77+ F^9>

    Dm`oe lf Lmles F^>?+ F^>6+ F^>2+ F^>:+ F^4>+ F^46+ F^>9+ F^=>+ F^=+ F^+ F^74+ F^72

    \mdfkm ?.: Mt|jies mitv~mles ~et oe`|tjdvje

    fssf otvxmaf`|e lf j`getamfs mhvlev m etim`jxmt es lmles lf getam m jlf`|jomt ~mtm

    omlm }vfs|e lf ~fs}vjsm }vmjs es |j~es lf |tmdmkbes }vf amjs getma tfmkjxmles. ^ftofdfv!

    sf }vf m }vfs|e lf ~fs}vjsm 4 "]vmjs ms ~te~es|ms frjs|f |fs ~mtm ja~kfaf`|me lm

    mt}vj|f|vtm avk|j!|f`m`oz5* ~essvj m amjet }vm`|jlmlf lf |tmdmkbes msseojmles+ ams }vf m

    amjetjm se ~te~es|ms lf sekve }vf mj`lm `e getma wmkjlmlms `m j`ls|tjm. Jsse j`ljom

    m `fofssjlmlf lf j`|fitme les ~fs}vjsmletfs lfssms tfms oea e aftomle lf getam m

    wmkjlmt ms ~te~es|ms m~tfsf`|mlms f fwekvjt e oma~e lf ~fs}vjsm.

    Fadetm es itoes m~tfsf`|mles m| m}vj |f`bma sjle lf itm`lf tfkfw`ojm ~mtm fssf

    |tmdmkbe+ lvtm`|f m kfj|vtm les |tmdmkbes f`oe`|tmles gej f`oe`|tmle mkivams j`getamfs

    ja~et|m`|fs }vf ~elfa mhvlmt es kfj|etfs m f`|f`lft afkbet omlm oe`|fr|e tfkmoje`mle m

    avk|j!|f`m`oz. M sfe m sfivjt m~tfsf`|m ms ~tj`oj~mjs lfsoedft|ms tfmkjxmlms lvtm`|f

    fssm kfj|vtm.

    ?6

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    50/126

    ?.?. OKM__JGJOME

    Gjivtm ?.< ]vm`|jlmlf lf mt|jies mitv~mles ~et Oe`|fr|e f M`e

    Gjivtm ?.6 ]vm`|jlmlf lf mt|jies mitv~mles ~et Oe`|fr|e f Oe`|tjdvje

    ?7

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    51/126

    ?.?. OKM__JGJOME

    Gjivtm ?.7 ]vm`|jlmlf lf mt|jies mitv~mles ~et Oe`|fr|e f \j~e lf ^fs}vjsm

    Gjivtm ?.9 ]vm`|jlmlf lf mt|jies mitv~mles ~et ]vfs|e f \j~e lf ^fs}vjsm

    ?9

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    52/126

    ?.6+ F^==+ F^?9

    _ekv|je` ^te~esmk F^>=+ F^>4+ F^>9+ F^>2+ F^=?+ F^=+ F^4=+ F^44+ F^4?+ F^46+ F^47+ F^49+ F^4:+ F^?>+ F^?4+ F^??+ F^?6+F^?7+ F^?2+ F^?:+ F^+ F^

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    53/126

    ?.=>*+ es mv|etfs |mada tfmkjxma va fs|vle sedtf ms e~et!

    |v`jlmlfs lf e|jajxme le vse lf tfovtses+ ams `fssf omse e of`tje oe`sjlftmle

    va madjf`|f lf oea~v|me bf|ftei`fe e`lf es tfovtses v|jkjxmles se etjv`les lfokevls ~dkjoms f ~tjwmlms. @fssf |tmdmkbes es mv|etfs v|jkjxma va mkietj|ae _amt|ft

    _javkm|fl M``fmkj`i ~mtm mvrjkjmt `m dvsom lf vam ljs|tjdvje e|jajxmlm les tfovtses

    oea~v|moje`mjs.

    Ev|tm }vfs|e msseojmlm mkeome lf tfovtses m ~tjetjxme lms tf}vjsjfs tfofdj!

    lms ~et vam j`s|`ojm lf vam m~kjome avk|j!|f`m`oz. Fa va of`tje avk|j!|f`m`oz

    oeava }vf omlm |f`m`|`fofssj|f ~tjetjxmt ms tf}vjsjfs lf sfvs oe`svajletfs lf |mk

    am`fjtm }vf va oe`svajlet oea ~tjetjlmlf mk|m ~elft sft m|f`ljle amjs tm~jlmaf`|f

    }vf ev|te+ f }vf m j`s|`ojm lm m~kjome |mada ~tjetjxf es |f`m`|s+ lf getam }vf ms

    tf}vjsjfs lf va |f`m`| |f`bm amjet ~tjetjlmlf lf m|f`ljaf`|e }vf ev|tes. Ljm`|f lfssf

    of`tje+ es mv|etfs lf "\smj f| mk.+ 4>=>d* ~te~fa va aelfke ~mtm ~tjetjxmt tf}vjsjfs

    lf wtjes |f`m`|s f`}vm`|e ~tfsftwm ms ~tjetjlmlfs keomjs lms tf}vjsjfs lf va |f`m`|

    fs~fooe. Es mv|etfs ~te~fa va mkietj|ae obmamle Otzs|mkkj`f Am~~j`i }vf am~fjm

    ~tjetjlmlfs j`|ft`ms lf va |f`m`|fs~fooe ~mtm ~tjetjlmlfs ikedmjs.

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    54/126

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    55/126

    ?.>:*

    tfmkjxmle va fs|vle fr~ftjaf`|mk ~mtm oea~mtmt oj`oe |o`joms lf ja~kfaf`|me lf

    m~kjomfs avk|j!|f`m`oz m `wfk lf dm`oe lf lmles. Es mv|etfs oe`okvtma }vf mj`lm `e

    frjs|f va _js|fam lf Iftf`ojmaf`|e lf Dm`oe lf Lmles"_IDL* jlfmk ~mtm fssf |j~e lf

    m~kjome f }vf va _IDL ~mtm _mm_ lfwftjm sft dmsfmle `m |o`jom ^tjwm|f \mdkf.

    _objkkft "_objkkft f| mk.+ 4>==* m~tfsf`|m fa sfv |tmdmkbe ms ~tjafjtms gv`oje`mkjlmlfs

    ~mtm }vf va _IDL tfkmoje`mk ~essm sv~et|mt ak|j~kes |f`m`|s `m|jwmaf`|f. Fa svm

    ~te~es|m |f`m`|s se j`|telvxjles oeae edhf|es lf ~tjafjtm okmssf f ~te~es|e e oe`ofj|e

    lf $oe`|fr|e$~mtm jsekmt va |f`m`|lf ev|te. Mka ljsse+ e oe`ofj|e lf bftm`m ~ftaj|f

    oea~mt|jkbmt e fs}vfam lm m~kjome f`|tf es |f`m`|s+ me afsae |fa~e fa }vf ~ftaj|f

    }vf e fs}vfam sfhm fr|f`ljle oea fs|tv|vtms lf lmles mljoje`mjs. Me `mk le |tmdmkbe e

    mv|et tfmkjxm vam mwmkjme lm ja~kfaf`|me lf svm ~te~es|m m|tmws lf fr~ftjaf`|es.

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    56/126

    ?.>2**

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    57/126

    ?.=>* f "Cexjekfc+ 4>==* m~tfsf`|ma va fs|jke mt}vj|f|vtmk geomle fa

    fsomkmdjkjlmlf lf lmles f jkvs|tm oeae es oe`ofj|es m~tfsf`|mles `fssfs |tmdmkbes ~elfa

    mhvlmt m gmxft ms ^km|mgetams oeae _ftwje"^mm_* m|vmjs oeae Getof.oea+Yj`leys

    Mxvtf+ f Ieeikf M~~ F`ij`f fsomkwfjs f ovs|eajxwfjs. H fa "Xbm`i f| mk.+ 4>=>d*+ esmv|etfs geoma `e ~tedkfam lf keomkjxme lf |f`m`|s+ ~te~fa va mkietj|ae bfvts|joe

    obmamle \f`m`| Ljs~m|ob Bfvtjs|jo"\LB* f tfmkjxma va oe`hv`|e lf sjavkmfs f

    oea~mtmfs e`lf mwmkjmle oeae e vse lfssf mkietj|ae ja~mo|m `m fsomkmdjkjlmlf f

    foe`eajm lf tfovtses.

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    58/126

    ?.==* es mv|etfs m~tfsf`|ma Xf~bzt+ vam |o`jom ~mtm kjwf aj!

    itm|je` }vf |fa e edhf|jwe lf aj`jajxmt m j`|fttv~e lf sftwje le |f`m`| ajitmle.

    M|tmws lm j`|telve lf vam sj`ote`jxme lv~km }vf ~ftaj|f m mades es `s+ e `

    etjifa les lmles f e ` lfs|j`e+ frfov|mtfa sjavk|m`fmaf`|f |tm`smfs ~mtm e |f`m`|.

    M ajitme j`jojm!sf oea m |tm`sgft`ojm les af|mlmles le |f`m`| ~mtm e ` lfs|j`e+ }vf

    ~elf tfmkjxmt `ewms |tm`smfs f`}vm`|e e ` etjifa oea~kf|m ms |tm`smfs }vf getma

    j`jojmlms }vm`le m ajitme sf j`jojev. Lf moetle oea es mv|etfs+ kjwf ajitm|je` vamja~et|m`|f omtmo|fts|jom ~mtm bmdjkj|mt fkms|jojlmlf fa dm`oes lf lmles avk|j!|f`m`oz

    ~mtm ~km|mgetams lf okevl.

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    59/126

    ?.>2m*+ e`lf es mv|etfs m~tfsf`|ma es ~tj`oj~mjs ~mltfs

    lf ja~kfaf`|me lf m~kjomfs avk|j!|f`m`oz }vf |tm|ma les ms~fo|es lf jsekmaf`|e fsfivtm`m+ f mwmkjma m ~ftgetam`of lfssf ~mltfs m|tmws lf vam stjf lf fr~ftjaf`|es

    f sjavkmfs.

    ^mtm ~ftaj|jt }vf va ~tewflet lf sftwje egftfm ljgftf`|fs `wfjs lf ~ftgetam`of

    dmsfmle `e `wfk lf _KM lf`jle ~mtm va |f`m`| fs~fooe+ "Kj` f| mk.+ 4>>:d* ~te~f

    vam sekve }vf v|jkjxm va tfivkmlet lf ~ftgetam`of dmsfmle `e oe`|tekf lf gffldmoc. E

    tfivkmlet ~essvj vam fs|tv|vtm bjftt}vjom+ `m }vmk va oe`|tekmlet lf mk|e `wfk iftf`ojm

    m |mrm lf mlajsse lf tf}vjsjfs ~mtm ~tfwf`jt sedtfomtim f va oe`|tekmlet lf dmjre

    `wfk }vf iftf`ojm es tfovtses mkeomles ~fkms tf}vjsjfs mlaj|jlms ~mtm mkom`mt va

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    60/126

    ?.==* tfmkjxmle va fs|vle fr~ftjaf`|mk

    ~mtm f`|f`lft f ~tfljxft m ~ftgetam`of lf sjs|fams+ `fssf |tmdmkbe es mv|etfs sviftfa

    vam mdetlmifa lf a}vj`m lf m~tf`ljxmle }vf vsm lmles ae`j|etmles ~mtm f`|f`lft m

    ~ftgetam`of le sjs|fam.

    "Ive f| mk.+ 4>>9* m~tfsf`|m va gtmafyetc }vf ~essvj va oea~e`f`|f fs~fo!

    oe ~mtm jsekmaf`|e lf ~ftgetam`of. _fiv`le es mv|etfs es edhf|jwes ~tj`oj~mjs le

    jsekmaf`|e lf ~ftgetam`of j`okvfa lejs ms~fo|es. ^tjafjte+ fwj|mt }vf e oea~et|m!

    af`|e"~e|f`ojmkaf`|f tvja* lf va |f`m`| mgf|f e oea~et|maf`|e lf ev|te |f`m`| lf

    am`fjtm ja~tfwjs|m. _fiv`le+ fwj|mt m j`hvs|jm f`|tf |f`m`|s fa |ftaes lf ~ftgetam`oflf vse. ^mtm mkom`mt fssf edhf|jwe es mv|etfs sviftfa va ~mlte lf jsekmaf`|e lf

    ~ftgetam`of bdtjle+ dmsfmle fa wtjms |o`joms m~tfsf`|mlms fa sfv |tmdmkbe.

    ?.

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    61/126

    ?.=>* sf~mtme lf tfs~e`smdjkjlmlf lf sfivtm`m f`|tf

    ~tewfletfs _mm_ f oe`svajletfs ~tfojsm sft sv~et|mlm fa va madjf`|f lf okevl. Mt}vj!|f|vtm avk|j!|f`m`oz dmsfmlm fa aelfke lf oe`|tekf lf mofsse "A\MOA ! avk|j!|f`m`oz

    dmsfl moofss oe`|tek aelfk* gej ~tehf|mlm ~mtm j`sftjt e ~tj`o~je lf sf~mtme lf tfs~e`!

    smdjkjlmlf lf sfivtm`m fa okevl3 fssm mt}vj|f|vtm lf`f lejs `wfjs lf itm`vkmtjlmlf

    `e afom`jsae lf oe`|tekf lf mofsse. E ~tjafjte `wfk fs| tfkmoje`mle me ~tewflet lf

    sftwje+ }vf oea~mt|jkbm svm j`gtmfs|tv|vtm f`|tf wtjes okjf`|fs. E sfiv`le `wfk e

    `wfk lm m~kjome e`lf vam afsam m~kjome bes~flm j`getamfs lf wtjes |f`m`|s.

    Fa "Xbm`i f| mk.+ 4>>:3 Omkfte f| mk.+ 4>=>3 \smj m`l _bme+ 4>==* se m~tfsf`|mlms

    |ts mdetlmif`s ljgftf`|fs ~mtm ja~kfaf`|me lf afom`jsaes lf sfivtm`m f oe`|tekf

    lf mofsse ~mtm m~kjomfs avk|j!|f`m`oz. Fa "Xbm`i f| mk.+ 4>>:* ~te~es|m vam

    mdetlmifa lf oe`|tekf lf mofsse dmsfmle fa tfs|tjfs lf ~tjwmojlmlf ovs|eajxwfjs.

    Fssm mdetlmifa oeadj`m otj~|eitmm lf lmles f sf~mtme lf j`getame f lf`f

    |ts |j~es lf tfs|tjfs lf ~tjwmojlmlf dmsfmle `m gv`oje`mkjlmlf lf ovs|eajxme fa

    m~kjomfs _mm_. "Omkfte f| mk.+ 4>=>* lfsotfwf va sjs|fam lf mv|etjxme ~mtm va sftwje

    lf ajllkfymtf fa vam ^mm_+ }vf sv~et|m oe`|tekf lf mofsse dmsfmle fa bjftmt}vjm lf

    gv`fs+ bjftmt}vjm lf edhf|es dmsfmlm fa omaj`be f gflftmfs. Es mv|etfs m~tfsf`|ma

    |mada vam mt}vj|f|vtm lf sjs|fam lf mv|etjxme ~mtm ja~kfaf`|me le aelfke.

    Lf moetle oea Yfj!\fc"\smj m`l _bme+ 4>==* ms mdetlmif`s m|vmjs ~mtm oe`|tekflf moofsse fa okevl `e fsomkma dfa ~mtm tf}vjsj|es avk|j!|f`m`oz ~et}vf fkfs se

    dmsfmles ~tj`oj~mkaf`|f fa jlf`|jomletfs"JLs* lf vsvtje j`ljwjlvmk fa ljgftf`|fs

    `wfjs lf itm`vkmtjlmlf. @e f`|m`|e+ e `afte lf vsvtjes ~elf sft f`etaf f omvsmt

    va ewfttfml sji`jom`|f `e iftf`ojmaf`|e lf sfivtm`m. TDMO "Tekf!Dmsfl Moofss

    Oe`|tek* |et`m!sf m|tm|jwe `fssf omse ~fke gm|e le `afte lf ~m~js lf vsvtje fa vam

    m~kjome sft sji`jom|jwmaf`|e af`et+ f vsvtjes ~elfa sft okmssjomles lf moetle oea

    sfvs ~m~js. Yfj!\fc ~te~f va TDMO vsm`le vam e`|ekeijm lf ~m~js ~mtm mt}vj|f|vtm

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    62/126

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    63/126

    ?.6. AM^FMAF@\E LM_ FWJL@OJM_

    sekve ~mtm fssf ~tedkfam. ^et k|jae m sfe ?.6.< m~tfsf`|m fwjl`ojms }vf ~elfa

    mvrjkjmt lvtm`|f m |eamlm lf lfojse lf mle|mt ev `e m mt}vj|f|vtm avk|j!|f`m`oz.

    ?.6.= ]= ! ]vmjs ms wm`|mif`s f lfswm |mif`s lf sf mle|mt mt}vj|f!

    |vtm avk|j!|f`m`oz5

    Fssm }vfs|e dvsom jlf |jomt fa afje mes |tmdmkbes f`oe`|tmles+ fwjl`ojms }vf m~e |fa

    wm`|mif`s f lfswm`|mif`s lm mlee lm mt}vj|f|vtm avk|j!|f`m`oz. Lvtm`|f fssf |tmdmkbe

    getma jlf`|jomles =4 |tmdmkbes }vf oj|ma mkivam wm`|mifa ev lfswm`|mifa lm mlee

    lf avk|j!|f`m`oz. M~mt|jt lm kfj|vtm les afsaes jlf`|jomaes ms sfivj`|fs wm`|mif`s8

    E ~tewflet lf sftwje ~elf vsmt m afsam wftse lm m~kjome"oea e `joe oljiedmsf* ~mtm ~tewft sftwjes ~mtm wtjms etim`jxmfs"\smj f| mk.+ 4>=>d*

    Oe`svajletfs ed|a mofsse om~mojlmlf lf ~teofssmaf`|e fks|joe }vf ~elf sft

    mvaf`|mlm ev ljaj`vjlm lf moetle oea m lfam`lm sf m `fofssjlmlf lf tfmkjxmt

    am`v|f`e fa sftwjletfs"\smj f| mk.+ 4>=>d*

    Lejs df`fgojes lf vam mdetlmifa dmsfmlm fa vam ~km|mgetam avk|j!|f`m`oz

    se oekmdetme f j`|fitme. ^fke gm|e lf |elms ms m~kjomfs frfov|mtfa fa

    va `joe fs~me+ |et`m!sf amjs gojk ~ftaj|jt m va vsvtje lf }vmk}vft m~kjomemofsse vam oekfe lf lmles. Fssm om~mojlmlf sja~kjom e fsgete `fofsstje

    ~mtm j`|fitmt m~kjomfs tfkmoje`mlms f es lmles }vf fkms iftf`ojma"Yfjssam` m`l

    Dedteyscj+ 4>>:*

    M|vmkjxme le seg|ymtf lf vam s wfx ~mtm |eles es |f`m`|s"Ajf|x`ft f| mk.+ 4>>:m*

    Foe`eajm `es ovs|es oea j`gtm!fs|tv|vtm lf bmtlymtf"_bymt|x f| mk.+ 4>>:*"Cyec

    m`l Aebj`ltm+ 4>>2*"Mvkdmob f| mk.+ 4>>:*

    Foe`eajm `es ovs|es lf iftf`ojmaf`|e lf j`gtm!fs|tv|vtm"_bymt|x f| mk.+ 4>>:*"Cyec

    m`l Aebj`ltm+ 4>>2*"Mvkdmob f| mk.+ 4>>:*

    Es |f`m`|s ~elfa ed|ft mofsse jafljm|e s k|jams afkbetjms f j`ewmfs sfa

    ims|mt sfv ~t~tje etomaf`|e lf \J"Cyec m`l Aebj`ltm+ 4>>2*

    Mvaf`|e lm amtifa lf kvote ~mtm e ~tewflet lf sftwje m|tmws lm tflve

    les ovs|es lf f`|tfim f ljaj`vje les ovs|es lf mssj`m|vtm le sftwje ~mtm es

    okjf`|fs"Kj f| mk.+ 4>>2*

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    64/126

    ?.6. AM^FMAF@\E LM_ FWJL@OJM_

    ^essjdjkjlmlf lf tfvsmt tfitms lf `fioje oea e a`jae lf mlm~|me"Dfxfaft

    f| mk.+ 4>=>*

    Etim`jxme les vsvtjes fa wtjes `wfjs lf moetle oea svms `fofssjlmlfs f

    afkbet iftf`ojmaf`|e lf tfovtses"Hms|j f| mk.+ 4>=>*

    E vsvtje ~elf ovs|eajxmt sed!lfam`lm es sftwjes ~tewjles ~fke get`foflet le

    seg|ymtf"Xbf`i f| mk.+ 4>=>*

    Tflve les ovs|es lf wf`lm f am`v|f`e le seg|ymtf ~et ~et|f le ~tewflet le

    seg|ymtf"Xbf`i f| mk.+ 4>=>*

    Ms lfswm`|mif`s lm mlee lf avk|j!|f`m`oz getma ~evoe af`oje`mlms `es |tmdmkbes

    f`oe`|tmles. Fa iftmk es |tmdmkbes af`oje`mwma amjs wm`|mif`s le }vf lfswm`|mif`s.

    M sfivjt se kjs|mles mkiv`s ~e`|es oe`sjlftmles wm`|mif`s f lfswm`|mif`s ~et mkiv`s

    mv|etfs8

    ljgojk omkovkmt es tfovtses tf}vftjles ~et omlm `ewe |f`m`|f me afsae |fa~e

    imtm`|jt }vf ms tfs|tjfs lf |eles es ev|tes |f`m`|s lm afsam j`s|`ojm sfhma

    m|f`ljlms"Cyec m`l Aebj`ltm+ 4>>2*

    Gm|etfs kjaj|m`|fs f imtimkes `es tfovtses oea~v|moje`mjs frjijles ~fkms wtjms

    j`s|`ojms lfwfa sft jlf`|jomles"Cyec m`l Aebj`ltm+ 4>>2*+ f jsse `e |tjwjmk`fssf |j~e lf madjf`|f

    Ljovklmlf lf oea~mtmt f e|jajxmt m tflve lf ovs|es lms ljgftf`|fs getams lf

    ljs|tjdvje les |f`m`|s f`|tf es sftwjletfs+ ~fke gm|e lf frjs|jtfa wtjms wmtjwfjs

    f`wekwjlms"Cyec m`l Aebj`ltm+ 4>>2*

    ^tfeov~me lms fa~tfsms oea e ovs|e j`jojmk lf tffs|tv|vtms svms m~kjomfs

    kfimlms ~mtm avk|j!|f`m`oz"Dfxfaft m`l Xmjlam`+ 4>=>*

    ^tfeov~me les am`|f`fletfs lf seg|ymtf oea m ~essjdjkjlmlf lf avk|j!|f`m`ozj`|telvxjt ~tedkfams mljoje`mjs lf am`v|f`e lfoettf`|fs le gm|e lfssfs `ewes

    sjs|fams sftfa mk|maf`|f ovs|eajxwfjs"Dfxfaft m`l Xmjlam`+ 4>=>*

    ?.6.4 ]4 ! ]vmjs ms ~te~es|ms frjs|f`|fs ~mtm ja~kfaf`|me lm mt!

    }vj|f|vtm avk|j!|f`m`oz5

    Fssm }vfs|e wjsm jlf`|jomt |tmdmkbes }vf ~essma mvrjkjmt `m ~esswfk ja~kfaf`|me

    lf vam m~kjome avk|j!|f`m`oz. Gtmafyetcs+ gfttmaf`|ms+ aelfkes+ ~te~es|ms lf

    6>

  • 7/31/2019 Desenvolvimento de aplicaes multi-tenancy: um estudo de mapeamento sistemtico

    65/126

    ?.6. AM^FMAF@\E LM_ FWJL@OJM_

    mt}vj|f|vtm+ a|eles ev |o`joms }vf ~essma mvrjkjmt `e lfsf`wekwjaf`|e lf m~kjomfs

    avk|j!|f`m`oz se jlf`|jomles f om|mkeimles. Va ~e`|e ja~et|m`|f `fssm ~mt|f le

    |tmdmkbe jlf`|jomt e itmv lf am|vtjlmlf lms m~kjomfs avk|j!|f`m`oz oea tfkme ja~kfaf`|me.

    Gtmafyetcs

    Es mv|etfs lf "Ive f| mk.+ 4>>9* geoma sfv |tmdmkbe ~tj`oj~mkaf`|f `e ~mlte avk|j!

    |f`m`oz `m|jwe. Fkfs fr~ketma es ~tj`oj~mjs tf}vjsj|es f lmsmes lf avk|j!|f`m`oz `m|jwe

    f m~tfsf`|ma va gtmaf