java frameworks e aplicações corporativas

Upload: escola-superior-de-redes

Post on 02-Mar-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    1/210

    Pgzlr Gitfad

    Hgvg

    Ergdlwaros

    l Gpcjkgls

    Karpargtjvgs

    http://www.esr.rnp.br/
  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    2/210

    G PIR Plml Igkjaigc ml Lisjia

    l Rlsqujsg qugcjejkgmg kada

    udg Arngijzga [akjgc (A[),

    slima cjngmg ga Djijstrja mg

    Kjikjg, ]lkiacanjg l Jiavga

    ( DK ] J ) l rls pais v l c pl c a

    Rranrgdg Jitlrdjijstlrjgc PIR,

    qul kaitg kad g pgrtjkjpga mas

    djijstrjas mg Lmukga (DLK), mg

    [gml (D[) l mg Kucturg (DjiK).

    Rjailjrg ia gklssa Jitlrilt ia

    @rgsjc, g PIR pcgilhg l dgitd grlml Jp, g rlml ptjkg igkjaigc

    gkgmdjkg ml gcta mlsldplifa.

    Kad Raitas ml Rrlslig igs

    0> uijmgmls mg elmlrga, g rlml

    tld dgjs ml 622 jistjtujls

    kailktgmgs. [a gpraxjdgmgdlitl

    ;,< djcfls ml usurjas usuerujima

    ml udg jierglstruturg ml rlmlsgvgigmgs pgrg kaduijkga,

    kadputga l lxplrjdlitga,

    qul kaitrj`uj pgrg g jitlnrga

    litrl a sjstldg ml Kjikjg l

    ]lkiacanjg, Lmukga [uplrjar,

    [gml l Kucturg.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    3/210

    HGUGErgdlwarosl Gpcjkgls

    Karpargtjvgs

    Pgzlr Gitfad

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    4/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    5/210

    HGUGErgdlwarosl Gpcjkgls

    Karpargtjvgs

    Pgzlr Gitfad

    Pja ml HgiljraLskacg [uplrjar ml Plmls0275

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    6/210

    Kapyrjnft 0275 Plml Igkjaigc ml Lisjia l Rlsqujsg PIRPug Cgura Dcclr, 775 sgcg 772;000:2-:25 Pja ml Hgiljra, PH

    Mjrltar NlrgcIlcsai [jdls

    Mjrltar ml [lrvjas l [aculsHas Cujz Pj`ljra Ejcfa

    Lskacg [uplrjar ml Plmls

    KaarmligaClgimra Dgrkas ml Acjvljrg Nujdgrls

    LmjaCjikaci mg Dgtg

    Kaarmligmar Gkgmdjka mg rlg ml Mlslivacvjdlita ml [jstldgsHafi Cldas Eardgi

    Lqujpl L[P (ld armld gceg`tjkg)Gmrjgig Rjlrra, Gcyiil Rlrljrg, Klcjg Dgkjlc, Mlrcjig Djrgimg, Lmsai Oawgso, Lcjdrjg@gr`asg, Lvlccyi Eljtasg, Elcjpl Igskjdlita, Caurmls [aikji, Cukjgig @gtjstg, Cujz KgrcasCa`gta, Pligta Mugrtl l Zvl Dgrkjgc.

    Kgpg, prahlta vjsugc l mjgnrgdga]lkiamlsjni

    Ulrsa7.2.2

    Lstl dgtlrjgc mjmtjka eaj lcg`argma kad is lmukgkjaigjs. [acjkjtgdas qul qugcqulr lrra likai-trgma au mvjmg kad rlcga ga dgtlrjgc au slu usa slhg livjgma pgrg g lqujpl ml lcg`arga mlkaitlma mg Lskacg [uplrjar ml Plmls, ia l-dgjc jieaBlsr.rip.`r. G Plml Igkjaigc ml Lisjia lRlsqujsg l as gutarls ia gssudld qugcqulr rlspaisg`jcjmgml par lvlitugjs mgias au plrmgs, g

    plssags au lis, arjnjigmas ma usa mlstl dgtlrjgc.Gs dgrkgs rlnjstrgmgs dlikjaigmgs ilstl dgtlrjgc plrtlikld gas rlsplktjvas tjtucgrls.

    Mjstrj`ujaLskacg [uplrjar ml PlmlsPug Cgura Dcclr, 775 sgcg 772;000:2-:25 Pja ml Hgiljra, PHfttp8//lsr.rip.`rjieaBlsr.rip.`r

    Mgmas Jitlrigkjaigjs ml Kgtgcanga ig Ru`cjkga (KJR)

    K;66-6

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    7/210

    jjj

    [udrja

    Lskacg [uplrjar ml Plmls

    G dltamacanjg mg L[P jx

    [a`rl a kursa x

    G quld sl mlstjig x

    Kaivlils utjcjzgmgs ilstl cjvra xj

    Rlrdjssls ml usa xj

    [a`rl a gutar xjj

    7. Jitramua

    Grqujtlturg Hgvg LL 7

    LH@

    Kgjxgs ml tlxta ml dctjpcgs cjifgs ;6

    Kgjxgs ml tlxta ml slifg ;:

    Lxldpca ml kgjxgs ml tlxta =2

    Ptucas =2

    Kgdpas akuctas =7

    Kgjxgs ml [lcla =0

    Lxlrkkjas

    =>

    =. H[E Kadpailitls vjsugjs

    @atls l cjios

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    9/210

    v

    Cjio 3f8cjio9 50

    Cjio Lxtlria8 3f8autputCjio9 50

    Lxldpca kad `atls l cjios 5;

    ]lxtas 5=

    ]lxtas sjdpcls 5=

    ]lxtas eardgtgmas 52

    Dlisgnlis >;

    Plpltja >

    Jikcusa ml pnjigs >>

    ]ldpcgtls >6

    Kaivlrsarls 62

    Kaivlrsa ml idlras 67

    Kaivlrsa ml mgtgs au fargs 60

    Grdgzligr ud a`hlta ld ud D@ ld vlz ml udg str jin 6=

    Dlisgnld ml lrra ml kaivlrsa 6>

    Ugcjmgmarls 66

    @lgi Ugcjmgtjai :2

    Ugcjmgmar Rlrsaigcjzgma :7

    Lvlitas :0UgculKfginlLvlit :=

    Gtrj`uta jddlmjgtl :5

    http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-
  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    10/210

    vj

    5. H[E Jitlrigkjaigcjzga, GHGV l Rrjdlegkls

    Jitlrigkjaigcjzga ::

    Grqujvas ml dlisgnlis ::

    Dgignlm @lgi ml jitlrigkjaigcjzga 722

    VF]DC kad Jitlrigkjaigcjzga 727

    GHGV 720

    Lvlitas 720

    Kadpailitls 72=

    Gtugcjzga 72=

    Dtama Jivakgma 72. Fj`lrigtl

    Jitramua 70

    Armliga 756

    Plstrjls 756

    Kad`jiga ml Plstrjls8 GIM l AP 7>2

    Rrahlls 7>7

    H[E l Fj`lrigtl 7>7

    72.Hgvg LL

    Hgvg LL 7>5

    ]rgisgls 760KD] 76;

    @D] 76;

    wl` [lrvjkls 76=

    [AGR 76

    LH@ ;.0

    H[P ;=

    Kgptuca7-Jitramua

    Hgvg LL [lrvlr

    Gppcjkgtjai Kcjlit Kaitgjilr

    Gppcjkgtjai Kcjlit ^l` @rawslr

    Kcjlit Dgkfjil

    [lrvclt ^l` Rgnl

    Litlrprjsl @lgi Litlrprjsl @lgi

    ^l`Kaitgjilr

    LH@Kaitgjilr

    Mgtg`gsl

    \d Kaitljilr udg jitlregkl litrl ud kadpailitl l udg euikjaigcjmgml ml `gjxa ivlc mg

    pcgtgeardg, qul a supartg. Rar lxldpca, [lrvclts l slu trgtgdlita ig pcgtgeardg Hgvg.

    qLxjstld `gsjkgdlitl majs tjpas ml Kaitljilrs87 [lrvclt Kaitljilr8

    0 Kaitljilr wl`?

    0 \sgma pgrg lxlkua ml gpcjkgls wl`?

    0 Jdpcldlitgd sadlitl gs tlkiacanjgs wl` ([lrvclts, H[R, H[E, LC l H[]C).7 LH@ Kaitljilr8

    0 Kaitljilrs usgmas pgrg lxlkua ml kadpailitls LH@.

    A slrvjmar usgma ilssl dgtlrjgc a Argkcl NcgssEjsf =, qul ud [lrvjmar Hgvg LL kadpclta,

    kad [lrvclt Kaitljilr l LH@ Kaitljilr. Lcl ldpgkatgma ig jistgcga ma Ilt`lgis l h

    kainurgma ml eardg gutadtjkg. A NcgssEjsf g jdpcldlitga ml rlelrikjg ma Hgvg LL.

    qArgkcl NcgssEjsf =7 Jdpcldlitga ml Plelrikjg8 fttps8//ncgsssf.hgvg.ilt/

    7 [lrvjmar ml gpcjkga8 jdpcldlitg tamg g lsplkjkga Hgvg LL.7 Rgrg jijkj-ca ld cjifg ml kadgima8

    0 Jr gt8 3Mjrltrja ma NCG[[EJ[F9/ ji0 Lxlkutgr8./gsgmdji stgrt-madgji --vlr`asl madgji7

    7 Lstgr mjspaivlc ld8 fttp8//cakgcfast86262

    G nurg 7.; gprlslitg a pgjilc gmdjijstrgtjva ma NcgssEjsf, qul passuj mjvlrsgs kainurgls,

    vjsta slr udg jdpcldlitga kadpcltg mg lsplkjkga Hgvg LL.

    Ejnurg 7.0[lrvjmar Hgvg LL

    l Kaitljilrs.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    24/210

    6

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Rgrg jijkjgr a NcgssEjsf ld cjifg ml kadgima, kad a pradpt au sflcc, mldas jr gt a

    mjrltrja ml jistgcga, su`mjrltrja `ji, l lxlkutgr a slnujitl kadgima8

    ./gsgmdji stgrt-madgji --vlr`asl madgji7

    A slrvjmar lstgr mjspaivlc ia igvlngmar ia limlrla8 fttp8//cakgcfast86262. Ga slr rlqujsjtgmg,

    udg tlcg jijkjgc slr gprlslitgmg kad ud cjio pgrg a Gmdjijstrgtjai Kaisacl (a pgjilc gmdjijs-

    trgtjva ma NcgssEjsf, kada dastrgma ig nurg 7.;. Ia dliu Gpcjkgls, pamld slr vjsugcjzgmgs

    tamgs gs gpcjkgls jistgcgmgs au jdpcgitgmgs qul lsta slima slrvjmgs plca madija. \d `ata

    Jdpcgitgr mjspaij`jcjzgma l kaislnul-sl egzlr g jdpcgitga (mlpcay) ml udg iavg gpcjkga

    par lssg apa, dlsda ia tlima gklssa ga mjrltrja ml jistgcga ma slrvjmar.

    Rgrg jdpcgitga ml udg iavg gpcjkga, ilklssrja slu grqujva ml ldpgkatgdlita kad

    lxtlisa .wgr (ml wl` GPkfjvl). Rgrg gklssgr g gpcjkga rlkd-jistgcgmg, usgdas a limlrla

    fttp8//cakgcfast86262/Flcca^arcm, aiml Flcca^arcm a iadl ma grqujva .wgr jistgcgma.

    qAutras slrv jmarls kadpgtvljs kad Hgvg LL sa87 Gpgkfl ]adkgt [lrvclt Kaitgjilr

    0 6.2.x (Hgvg >) [lrvclt ;.7 / H[R 0.; / LC ;.2?

    0 >.2.x (Hgvg 5) [lrvclt ;.2 / H[R 0.0 / LC 0.0.

    7 Argkcl Ncgsssf Gppcjkgtjai [lrvlr (wl` l LH@)0 ;.7.x Hgvg LL 5.

    7 PlmFgt H`ass

    0 Litlrprjsl 5.0 Hgvg LL 5.

    Rgmrls ml Rrahlta Erait Kaitracclr l DUK

    Erait Kaitracclr ud pgmra ml prahlta usgma ld gpcjkgls wl`, usgma pgrg earilklr ud

    paita klitrgc ml litrgmg pgrg tamgs gs rlqujsjls qul sa eljtgs pgrg g gpcjkga.

    \dg nrgiml vgitgnld ia slu usa a kaitracl klitrgcjzgma ml igvlnga, gklssa, plrdjssls,

    can ltk., egzlima kad qul kainurgls lxtlrigs au dlsda g pranrgdga ia qul

    mjcumg ga caina ml dujtgs pnjigs, tarigima g dgiutlia ma saetwgrl dgjs pramutjvg.

    Ejnurg 7.;Rgjilc Gmdjijstrgtjvama NcgssEjsf.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    25/210

    :

    Kgptuca7-Jitramua

    Rgrg qul a Erait Kaitracclr slhg rlgcdlitl lkjlitl, ilklssrja qul lcl slhg mlslivacvjma ml

    eardg lixutg, g`strgjima sadlitl gs aplrgls nlirjkgs g tamas (au g dgjarjg) mas lcl-

    dlitas. Rar lxldpca8 vlrjkga sl ud usurja lst cangma, pgrg gklssgr mltlrdjigmg pnjig.

    Dujtas ergdlwaros ml dlrkgma usgd a pgmra Erait Kaitracclr ld slu mlslivacvjdlita l

    h mjspaij`jcjzgd lssl kadpailitl ml eardg gutadtjkg, `gstgima pravlr sug kainurga.

    Rar lxldpca, a [truts prav a Gktjai[lrvclt , l a H[E prav a Egkls[lrvclt.

    A pgmra ml prahlta DUK (Damlc-Ujlw-Kaitracclr) usgma pgrg slpgrgr a mlslivacvjdlita mg

    gpcjkga ld pgrtls `ld mlijmgs, egkjcjtgima a mlslivacvjdlita, g dgiutlia l lxtlisa.

    Damlca (au damlc) sl rlelrl gas kadpailitls ma saetwgrl qul cjmgd kad g rlprlslitga

    ml mgmas (cjnga kad `gika ml mgmas) l cnjkg ml ilnkja. G Ujsa (au vjlw) egz g jitlregkl

    kad a usurja. G Kaitracgmarg (au kaitracclr) rlspaisvlc par trgiseardgr gs rlqujsjls

    ma usurja, nlrgmgs ig vjsa, pgrg gls ml cnjkg ml ilnkja au dgijpucga ml mgmas, l

    tgd`d kaitracgr g igvlnga litrl vjsls, kaieardl a uxa mg gpcjkga.

    Rlrkl`l-sl qul as pgmrls Erait Kaitracclr l DUK sl kadpcldlitgd ia mlslivacvjdlita

    ml udg gpcjkga wl`, slima qul g kgdgmg ml kaitracl ma damlca DUK paml slr jdpcl-

    dlitgmg ml vrjgs eardgs, jikcusjvl usgima-sl Erait Kaitracclr.

    Grqujtlturg H[E

    A H[E likaitrg-sl ld plrdgilitl lvacua. Litrl as gvgias dgjs rlklitls, pamldas mlstgkgr8

    q7 Jitlnrga kad F]DC

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    26/210

    72

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Kaitljilr

    F]]RPlqulst

    F]]RPlspaisl

    Jitlrga litrl ud kcjlitll udg gpcjkga ^l`

    Fttp[lrvcltPlspaisl Hgvg @lgis

    Fttp[lrvcltPlsqulst Kadpailitls ^l`([lrvclts/HR[)

    Kcjlitl^l`

    Ilssl damlca, tamgs gs tgrlegs mlvld slr lsplkjkgmgs plca pranrgdgmar mlitra mas kad-

    pailitls. Rar lxldpca, as mgmas livjgmas par ud earducrja mlvld slr, ud g ud, a`tjmas

    ma a`hlta ml rlqujsja (Fttp[lrvcltPlqulst) l prllikfjmas ld vgrjvljs ma kadpailitl

    au gtrj`utas ml @lgis. G igvlnga litrl tlcgs tgd`d mlvl slr eljtg ml eardg dgiugc,

    gtrgvs ml rlmjrlkjaigdlitas (earwgrm au rlmjrlkt).

    G nurg 7.< gprlslitg g grqujtlturg ml udg gpcjkga usgima H[E. Ilssl damlca a prprja

    ergdlwaro h prav vrjgs tgrlegs ml eardg gutadtjkg, v jsta qul vrjas kadpailitls sa

    gutadgtjkgdlitl jistgcgmas. \d lxldpca a Egkls [lrvclt, pgrtl jitlnrgitl ma H[E l qul

    egz a pgplc ml kaitracgmar ig grqujtlturg DUK.

    Lssl [lrvclt lst pranrgdgma pgrg, ml eardg gutadtjkg, rlkl`lr a rlsuctgma ml dtamas

    ma damlca kada udg [trjin l usgr slu vgcar kada iadl ml tlcg pgrg gaiml a sjstldg mlvl

    slr rlmjrlkjaigma. Jssa kfgdgma ml igvlnga jdpckjtg.

    Autrg tgrleg gutadgtjkgdlitl eljtg a prllikfjdlita mas mgmas pravlijlitls ml eardu-

    crjas mjrltgdlitl ld gtrj`utas ml kadpailitls (kfgdgmas Dgignlm @lgis). Lssls mgmas

    sa tgd`d, gutadgtjkgdlitl, kaivlrtjmas (lxldpca, strjin pgrg jitljra) l vgcjmgmas.

    G nurg 7.5 dastrg g grqujtlturg H[E kad dgjs mltgcfls, gprlslitgima as kadpailitls qul

    jitlrgnld pgrg g lxlkua ml udg gpcjkga.

    Kaitljilr

    Earducrja

    Plqulst

    Plspaisl

    Egkls[lrvclt

    Dgignlm @lgis

    KadpailitlKadpailitl

    Kadpailitl

    @M

    EG[L[

    VF]DCEgklclts

    Ejnurg 7.=GrqujtlturgGpcjkga wl`8h[R/[lrvclts.

    Ejnurg 7.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    27/210

    77

    Kgptuca7-Jitramua

    Damlca

    Kaitljilr

    Earducrja

    Plqulst

    Plspaisl

    Egkls[lrvclt

    Dgignlm @lgis

    KadpailitlKadpailitl

    KadpailitlKaivlrsar

    Ugcjmgmar

    @M

    EG[L[

    VF]DCEgklclts

    PLIMLPLP

    Ld rlcga s gpcjkgls trgmjkjaigjs usgima [lrvclts/H[R, plrkl`l-sl qul a H[R passuj

    dujta dgjs euikjaigcjmgmls ld`utjmgs, qul tarigd a mlslivacvjdlita dgjs lkjlitl, kada

    par lxldpca8

    7 Plkuplrga ml mgmas mg rlqujsja8 liqugita ld udg gpcjkga trgmjkjaigc mlvl-slleltugr vrjgs kfgdgmgs g rlqulst.nltRgrgdltlr(), ld H[E as mgmas sa gutadgtjkg-

    dlitl gtrj`umas g gtrj`utas ml ud Dgignlm @lgi?

    7 Kaivlrsa gutadtjkg ml mgmas mg rlqujsja8 g kfgdgmg g rlqulst.nltRgrgdltlr()

    sldprl rltarig udg [trjin, qul mlvl slr kaivlrtjmg pgrg a tjpa karrlta mlitra mg gpcj-kga. Ld H[E lssg kaivlrsa eljtg ml eardg gutadtjkg?

    7 Igvlnga jdpckjtg8 ld udg gpcjkga trgmjkjaigc mlvl-sl leltugr earwgrm au rlmjrlktpgrg sl igvlngr litrl H[Rs l [lrvclts. Ld H[E, usgima-sl igvlnga jdpckjtg. A rltaria

    ml ud dtama ma Dgignlm @lgi h jimjkg pgrg gaiml g gpcjkga mlvl slr rlmjrlkjaigmg,

    sld qul ilifud kmjna slhg ilklssrja.

    qGpcjkga ]rgmjkjaigc x H[E7 H[E passuj dujtgs euikjaigcjmgmls jdpckjtgs, par lxldpca8

    0 Plkuplrga ml mgmas mg rlqujsja?

    0 Kaivlrsa gutadtjkg ml mgmas mg rlqujsja?0 Igvlnga jdpckjtg.

    As kadpailitls grqujtlturgjs ml udg gpcjkga wl` usgima H[E sa8

    q7 Egkls[lrvclt8 slrvclt prjikjpgc, qul rlkl`l tamgs gs rlqujsjls ma H[E. RgmraEraitKaitracclr?

    7 Plimlrlr8 kadpailitl rlspaisvlc par trgmuzjr udg litrgmg ml kadpailitl ldrlprlslitga jitlrig l tgd`d par lxj`jr ud kadpailitl?

    7 VF]DC8 grqujva qul mlskrlvl kada gs pnjigs slra rlimlrjzgmgs, usgima Egklclts?

    7 Kaivlrsar8 kadpailitls usgmas pgrg kaivlrtlr lcldlitas ml [trjin pgrg A`hlta (ig

    rlqujsja) l ml A`hlta pgrg [trjin (ig rlspastg)?

    Ejnurg 7.5Grqujtlturg

    Gpcjkga wl` H[E.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    28/210

    70

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    q7 Ugcjmgmar8 kadpailitls usgmas pgrg vgcjmgr sl ud kadpailitl passuj ud vgcar vcjma?7 Dgignlm @lgi8 `lgi qul lxlkutg g cnjkg ma ilnkja l kaitracg g igvlnga

    litrl pnjigs?

    7 Damlca8 lgis ml rlprlslitga ml mgmas. Lxldpca8 litjmgmls dgplgmgs usgimaelrrgdlitgs pgrg plrsjstikjg ml mgmas.

    G nurg 7.5 gprlslitg g lstruturg ml mjrltrjas ml udg gpcjkga H[E (likgpsucgmg mlitra ml

    ud grqujva .wgr).

    gpp

    Rnjigs F]DC, VF]DC, K[[, H[

    wl`.xdc

    egkls-kain.xdc

    `lgis.xdc

    kcgssls

    Grqujvas.kcgss

    cj`

    @j`cjatlkgs

    ^L@-JIE

    Kainurga gpp wl`

    Kainurga H[E, vgzja ia usa ml Giatgls

    Gtjvga ma KMJ, grqujva vgzja

    Mjrltrja kaitlima [lrvclts,kcgssls, `lgis, MGAs, ltk

    Mjrltrja kaitlima as HGP[mgs `j`cjatlkgs

    Rnjigs F]DC, VF]DC, K[[, H[,paml-sl krjgr su`mjrltrjas

    Rrjdljra prahlta

    Rgrg sl jijkjgr ud prahlta usgima a H[E, `gstg slclkjaigr, ia igc mg krjga ma prahlta, a

    ergdlwaro Hgvg[lrvlr Egkls. Ilstg slssa slr krjgma ud prahlta sjdpcls, sadlitl kad g

    pnjig mleguct krjgmg plca Ilt`lgis. As pgssas sa8

    7. Jijkjgr a Ilt`lgis?

    0. Lskacflr Dliu Grqujva | Iava Rrahlta?

    ;. Lskacflr Kgtlnarjg Hgvg l` l Rrahlta Gpcjkga l`?

    =. Rrlssjaigr Rrxjda?

    . Lskacflr a [lrvjmar NcgssEjsf [lrvlr?

    6. Rrlssjaigr Rrxjda?

    :. Lskacflr a Ergdlwaro Hgvg[lrvlr Egkls?

    72. Rrlssjaigr Ejigcjzgr?

    77. Lxlkutgr a Rrahlta.

    Ejnurg 7.>Lstruturg ml udgGpcjkga H[E.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    29/210

    7;

    Kgptuca7-Jitramua

    Kadpgrga [lrvclts l H[E

    G slnujr, slra gprlslitgmgs mugs jdpcldlitgls ml ud sjstldg sjdpcls, qul rlkl`l

    ud idlra l ud tlxta litrgmas plca usurja pgrg ld slnujmg gprlslitgr a qugmrgma ma

    idlra l a tlxta ld kgjxg-gctg (cltrgs dgjskucgs). A a`hltjva kadpgrgr gs mugs prjikjpgjs

    tlkiacanjgs usgmgs ia mlslivacvjdlita ml sjstldgs8 slrvclts/H[R l H[E.

    Gpcjkga [lrvclts

    \dg gpcjkga usgima [lrvclts eardgmg par pnjigs ld H[R (usgima gs `j`cjatlkgs ml tgns

    H[]C/LC), qul jitlrgnld kad a usurja, l [lrv clts pgrg leltugr a praklssgdlita mlssgs

    pnjigs. Gplsgr ml sl pamlr egzlr tama a praklssgdlita ld pnjigs H[R, jssa ia rlka-

    dlimgma, pajs kad a pgssgr ma tldpa a sjstldg paml krlsklr l g dgiutlia mgs pnjigs

    gkg`g sl tarigima jivjvlc. [l a pranrgdgmar qujslr usgr DUK l Erait Kaitracclr, lcl mlvl

    jdpcldlitgr dgiugcdlitl.

    G slnujr, a kmjna jimlx.hsp ml ud sjstldg sjdpcls.

    3eard gktjai4Rraklssgr dltfam4past9

    3tg`cl9

    3tr9

    3tm9]lxta Rraklssgma83/tm9

    3tm93k8aut vgcul4${tlxta} /93/tm9

    3/tr9

    3tr9

    3tm9Idlra Rraklssgma83/tm9

    3tm93k8aut vgcul4${iudlra} /93/tm9

    3/tr9

    3tr9

    3tm9]lxta83/tm9 3tm93jiput typl4tlxt igdl4tlxta vgcul4${tlxta} /9

    3k8je tlst4${iat ldpty tlxtaPlqulrjma}9

    3spgi stycl4kacar8 rlm9

    3k8aut vgcul4${tlxtaPlqulrjma} /9

    3/spgi9

    3/k8je9

    3/tm9

    3/tr9

    3tr9

    3tm9Idlra83/tm9

    3tm93jiput typl4tlxt igdl4iudlra vgcul4${iudlra} /9 3k8je tlst4${iat ldpty iudlraPlqulrjma}9

    3spgi stycl4kacar8 rlm9

    3k8aut vgcul4${iudlraPlqulrjma} /9

    3/spgi9

    3/k8je9

    3/tm9

    3/tr9

    3tr9

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    30/210

    7=

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    3tm93jiput typl4su`djt vgcul4Rraklssgr /93/tm9

    3tm93/tm9

    3/tr9

    3/tg`cl9

    3/eard9

    G slnujr a kmjna [lrcvlt Rraklssgr.hgvg ma sjstldg.

    B^l`[lrvclt(igdl 4 Rraklssgr, urcRgttlris 4 {/Rraklssgr})

    pu`cjk kcgss Rraklssgr lxtlims Fttp[lrvclt {

    pratlktlm vajm praklssPlqulst(Fttp[lrvcltPlqulst rlqulst,

    Fttp[lrvcltPlspaisl rlspaisl)

    tfraws [lrvcltLxklptjai, JALxklptjai {

    [trjin tlxta 4 rlqulst.nltRgrgdltlr(tlxta)?

    [trjin iudlra 4 rlqulst.nltRgrgdltlr(iudlra)?

    je (tlxta 44 iucc || .lqugcs(tlxta.trjd())) {

    rlqulst.sltGttrj`utl(tlxtaPlqulrjma,

    ]lxta a`rjngtrja)?

    PlqulstMjspgtkflr rm 4 nlt[lrvcltKaitlxt().

    nltPlqulstMjspgtkflr(/jimlx.hsp)?

    rm.earwgrm(rlqulst, rlspaisl)?

    }

    je (iudlra 44 iucc || .lqugcs(iudlra.trjd())) {

    rlqulst.sltGttrj`utl(iudlraPlqulrjma,

    Idlra a`rjngtrja)?

    PlqulstMjspgtkflr rm 4 nlt[lrvcltKaitlxt().

    nltPlqulstMjspgtkflr(/jimlx.hsp)?

    rm.earwgrm(rlqulst, rlspaisl)? }

    jit ir 4 2?

    try {

    ir 4 Jitlnlr.pgrslJit(iudlra)?

    }

    kgtkf (Iud`lrEardgtLxklptjai l) {

    rlqulst.sltGttrj utl(iudlraPlqulrjma, Idlra jivcjma)?

    PlqulstMjspgtkflr rm 4 nlt[lrvcltKaitlxt().

    nltPlqulstMjspgtkflr(/jimlx.hsp)?

    rm.earwgrm(rlqulst, rlspaisl)?

    } ////// Leltjva praklssgdlita mas mgmas

    ir 4 ir * ir?

    tlxta 4 tlxta.ta\pplrKgsl()?

    /////

    rlqulst.sltGttrj utl(tlxta, tlxta)?

    rlqulst.sltGttrj`utl(iudlra, [trjin.vgculAe(ir))?

    PlqulstMjspgtkflr rm 4 nlt[lrvcltKaitlxt().

    nltPlqulstMjspgtkflr(/jimlx.hsp)?

    rm.earwgrm(rlqulst, rlspaisl)?

    }

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    31/210

    7

    Kgptuca0-Hgvg[lrvlrEgklsJitramu

    a

    a`hltjvas

    kaikljtas

    0Hgvg [lrvlr Egkls Jitramua

    Kaiflklr as lcldlitas mg grqujtlturg ma H[E l a kjkca ml vjmg ml slus kadpailitls.

    Jihla ml Mlplimikjg? Jivlrsa ml Kaitracl? KMJ? Dgignlm @lgis? RAHA? Gls?

    Lskapas? Plqujsjls? Kadpailitls? Igvlnga.

    Kaieardl vjsta ig slssa gitlrjar, H[E ( Hgvg [lrvlr Egkls) ud mas prjikjpgjs ergdlwaros

    mjspaivljs ia dlrkgma pgrg mlslivacvjdlita ld Hgvg pgrg wl`. Gtugcdlitl, pgr tl jitl-

    nrgitl mg lsplkjkga Hgvg LL (g pgrtjr mg vlrsa 5) l, partgita, tamas as slrvjmarls Hgvg LL

    klrtjkgmas a supartgd.

    H[E trgz pgrg a mlslivacvlmar gs egkjcjmgmls ma mlslivacvjdlita usgima as pgmrls ml

    prahlta Erait Kaitracclr l DUK (Damlc-Ujlw-Kaitracclr). Lssls majs pgmrls sa rlspais-

    vljs par tamg g egkjcjmgml l gnjcjmgml ia mlslivacvjdlita ld H[E. Gcd mjssa, a supartl g

    vrjgs aplrgls, lxtlisls l kustadjzgls tarigd a H[E udg apa gctgdlitl rlkadli-

    mvlc pgrg prahltas wl` ld Hgvg.

    A mlslivacvjdlita `gslgma ld kadpailitls autra `lilekja qul sl a`td ma usa ml

    H[E. Mlslivacvlr usgima ud ergdlwaro qul supartg kadpailitjzga l lvlitas egvarlkl g

    dgiutlij`jcjmgml l lxtlisj`jcjmgml ma sjstldg. Ld gpcjkgls karpargtjvgs, aiml a vacudl

    ml euikjaigcjmgmls ld nlrgc nrgiml l aiml sl egz ilklssrja ud gd`jlitl qul supartl

    gnrlnga ml autras rlqujsjtas, as ergdlwaros td ud pgplc klitrgc ig kaistrua ml

    sjstldgs lxvljs.

    Autra paita rlclvgitl a egta ml qul dujtgs euikjaigcjmgmls ilklssrjgs g sjstldgs kar-

    pargtjvas, tgjs kada plrsjstikjg, trgisgls l vgcjmgls, h lsta praitgs, pamlima slr

    usgmgs l plrsaigcjzgmgs kaieardl g ilklssjmgml ma kcjlitl.

    Jihla ml Mlplimikjg l Jivlrsa ml Kaitracl

    A damlca ml pranrgdga usgma ld gpcjkgls Hgvg LL lvacuju dujta mlsml slu cgigdlita.

    Fahl ld mjg sl egz dujta pauka usa ml grqujvas VDC pgrg kainurga ml gpcjkgls l

    mlskrjtarls ml jdpcgitga. A gmvlita mgs giatgls (kada pgmra ia Hgvg

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    34/210

    76

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Autra damlca ml pranrgdga qul trauxl nrgiml gnjcjmgml ia mlslivacvjdlita eaj g Jihla

    ml Mlplimikjgs, qul paml slr mlskrjta kada8 slhg ud kadpailitl, kfgdgma G, qul

    mlpliml (passuj kada gtrj`utas, par lxldpca) ml @ l K. Rgrg qul G euikjail, ilklssrja tlr

    udg jistikjg ml @ l udg jistikjg ml K, kaieardl jcustrg g nurg 0.7.

    G kaislnul @ l Kpgrg pamlr lxlkutgr

    @

    K

    G

    \d kmjna passvlc pgrg mlskrlvlr lssl pra`cldg paml slr vjs ta g slnujr8

    pu`cjk kcgss KadpailitlG {

    prjvgtl Kadpailitl@ `? prjvgtl KadpailitlK k?

    pu`cjk vajm aplrgkga() {

    ` 4 ilw Kadpailitl@()?

    k 4 ilw KadpailitlK()?

    // leltug aplrga qul mlpliml ml @ l K

    `.gcnudgKajsg()?

    k.autrgKajsg()?

    }

    }

    Rlrkl`l-sl qul g krjga mas kadpailitls @ l K lst slima eljtg gtrgvs mg jistgikjga

    (ilw), dgs ia sl tld ngrgitjg ml qul lstg g eardg karrltg ml a`t- cas, ild sl udg

    eardg sukjlitl. Dujtas kadpailitls, pgrg slrld krjgmas, mlvld slr nlrjmas plca slrvjmar

    au mlvld vjr prlvjgdlitl kainurgmas, a qul egz kad qul g jistgikjga ia slhg su-

    kjlitl. a kgsa ml eaitls ml mgmas, nlrlikjgmgs plcas slrvjmarls ml gpcjkga.

    Gcd mjssa, gcd mg mlplimikjg ld sj (kadpailitl G prlkjsgr ml @ l K pgrg euikjaigr),

    elrl-sl ud nrgvl prjikpja qul a ml `gjxa gkapcgdlita, egzlima kad qul G sgj`g lxgtg-

    dlitl kada krjgr (au a`tlr) @ l K, kad tamgs gs sugs pgrt jkucgrjmgmls.

    \dg sacua pgrg lssl pra`cldg jivlrtlr a kaitracl (JaK Jivlrsjai ae Kaitrac). Js ta ,

    ld vlz mg rlspaisg`jcjmgml ld likaitrgr as kadpailitls @ l K slr ma kadpailitl qulmlpliml mlcls (ia kgsa G), egz-sl kad qul lssgs mlplimikjgs slhgd prllikfjmgs ml eardg

    gutadtjkg. Lssl a prjikpja ml Faccywaam8 Ia ias cjnul, is cjngdas pgrg vak!. Lssg

    rlsacua ml mlplimikjgs mlvl gkaitlklr ld tldpa ml lxlkua l as kadpailitls,

    gnarg, lsta mlsgkapcgmas.

    Ejnurg 0.7Mlplimikjgs.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    35/210

    7:

    Kgptuca0-Hgvg[lrvlrEgklsJitramu

    a

    qJivlrsa ml Kaitracl JaK87 Rrjikpja ml Faccywaam8 Ia ias cjnul, is cjngrldas.?

    7 Livacvl mlplimikjg ml kadpailitls?

    7 Akarrl ld tldpa ml lxlkua?

    7 Ld vlz ml a a`hlta mlplimlitl kaislnujr gs rlelrikjgs, likaitrgr ud dlja ml

    prllikf-cgs ml eardg mlsgkapcgmg?7 Kadpailitl ia prlkjsg sg`lr mltgcfls ml kada krjgr gs mlplimikjgs.

    G jivlrsa ml kaitracl paml gkaitlklr ml vrjgs eardgs, kaieardl vlrldas g slnujr.

    G Rrakurg par Mlplimikjg, aiml a kadpailitl jdpcldlitg udg dgiljrg nlirjkg ml

    sl a`tlr gs mlplimikjgs, paml slr ml majs tjpas8 Mlplimlik y Rucc (MR) l Kaitlxtugcjzlm

    Mlplimliky Caaoup (KMC).

    Mlplimliky Rucc (MR)

    Aiml gs mlplimikjgs sa a`tjmgs gtrgvs ml ud rlnjstra klitrgc, kada ud rlpasjtrja ia

    slrvjmar, par lxldpca8

    pu`cjk kcgss ]lstl {

    pu`cjk vajm tlstgr() {

    Plnjstry rlnjstra 4 nltPlnjstry()?

    JitlregklMlplimlikjg J 4

    rlnjstra.nltJistgikl(mlplimlikjg)?

    }

    }

    Kaitlxtugcjzlm Mlplimliky Caaoup (KMC)

    A kadpailitl jdpcldlitg udg jitlregkl lsplkkg, jimjkgima ga kaitjilr qul udg

    mlplimikjg mlvl slr a`tjmg gtrgvs mg kfgdgmg ml ud dtama lsplkka (mg jitlregkl)

    par lxldpca8

    pu`cjk jitlregkl DgignlmKadpailit {

    pu`cjk vajm plreardCaaoup(Kaitljilr kaitljilr)?

    }

    pu`cjk kcgss ]lstl jdpcldlits DgignlmKadpailit {

    prjvgtl Mlplimlikjg mlp?

    pu`cjk vajm plreardCaaoup(Kaitljilr kaitljilr) {

    tfjs.mlp 4 (Mlplimlikjg)kaitljilr.

    nltMlplimliky(djifgMlplimlikjg)? }

    }

    H g Jihla ml Mlplimikjgs, aiml a kadpailitl ia sl prlakupg kad gs mlplimikjgs,

    lssgs prlkjsgd slr jihltgmgs ml gcnudg eardg. [l eljtg ml eardg karrltg, kaislnuld-sl

    dmucas pcunvljs l lxtlisvljs ig gpcjkga. Ia lxldpca g slnujr as kadpailitls ` l k

    sa usgmas sld sl prlakupgr kad sug krjga au a`tlia.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    36/210

    02

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    pu`cjk kcgss KadpailitlG {

    prjvgtl Kadpailitl@ `?

    prjvgtl KadpailitlK k?

    pu`cjk vajm aplrgkga() {

    // leltug aplrga qul mlpliml ml @ l K

    // @ l K h lxjstld `.gcnudgKajsg()?

    k.autrgKajsg()?

    }

    }

    q]rs tjpas ml Jihla ml Mlplimikjg (Mlplimliky Jihlktjai MJ) 87 Ujg Kaistrutar8 pgssg-sl as rlkursas kada pgrdltra ia kaistrutar mg kcgssl qul

    ilklssjtg mlcls (sa jihltgmgs plca kaitjilr)?

    7 Ujg gtrj`uta8 gtrgvs ma dtama slt ml gcnud gtrj`uta mg kcgssl, gssjd a kaitljilrpaml jihltgr gs mlplimikjgs?

    7 Ujg Jitlregkl8 a kadpailitl jdpcldlitg udg jitlregkl jimjkgima qul a kaitjilrmlvl jihltgr udg mlplimikjg.

    Gt g vlrsa Hgvg LL < lrg passvlc, ml eardg gutadtjkg, sl egzlr jihla ml rlkursas ld

    udg gpcjkga8 lH@s, Mgtg[aurkls, Rlrsjstlikl \ijts ltk. G pgr tjr mg vlrsa Hgvg LL 5, eaj

    jitramuzjma a KMJ (Kaitlxts gim Mlplimliky Jihlktjai), qul udg lsplkjkga pgrg

    kaitracl ml jihla ml mlplimikjgs ml eardg nlrgc (ia s ml rlkursas), ml eardg pgmraij-

    zgmg. A KMJ mlijma plcg H[P 0::.

    qKMJ Jihla ml Mlplimikjg l Kaitlxtas87 Kaitlxtas8 g kgpgkjmgml ml cjngr ud kadpailitl g ud kjkca ml vjmg, `ld kada g

    kadpartgdlitas ml lstgma ilssl kjkca ml vjmg?

    7 Jihla ml Mlplimikjgs8 kgpgkjmgml ml jihltgr jistikjgs ml kadpailitls, tjpgmgs,ml eardg pgmraijzgmg.

    A KMJ trgtg jihla ml mlplimikjgs ml eardg nlrgc, aiml qugcqulr kadpailitl paml slr

    jihltgma. A usa mg giatga BJihlkt egkjcjtg g clnj`jcjmgml ma kmjna l g sug lxj`jcjmgml,

    mljxgima mlkjsls ml a qul mlvl slr jihltgma pgrg a kaitjilr.

    Rgrg qul a KMJ slhg fg`jcjtgma ld slu prahlta, mlvl-sl krjgr a grqujva vgzja `lgis.xdc. [ g

    prlslig mlssl grqujva h jimjkjg ga kaitjilr qul a KMJ eaj gtjvgma l tamgs gs sugs egkjcj-

    mgmls lstgra mjspaivljs.

    qHgvg LL

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    37/210

    07

    Kgptuca0-Hgvg[lrvlrEgklsJitramu

    a

    VF]DC l Dgignlm @lgis

    As @lgis Nlrlikjgmas (ma jincs8 Dgignlm @lgis8 D@) sa kadpailitls euimgdlitgjs

    mlitra mg grqujtlturg ma H[E. [a lcls qul earilkld mgmas qul slra lxj`jmas igs pnjigs,

    rlkl`ld as mgmas livjgmas ld rlqujsjls l lxlkutgd tgrlegs rlelrlitls g gls ma usurja.

    As D@s sa kcgssls Hgvg qul ia flrmgd ild jdpcldlitgd ilifud t jpa ml `j`cjatlkg, par-

    tgita kaiflkjmgs kada RAHA (Rcgji-Acm Hgvg A`hlkts). Rgrg mlijr udg kcgssl kada ud D@,mlvl-sl giat-cg kad BIgdlm (pgkatl hgvgx.jihlkt.Igdlm), jimjkgima qul lstgr mjspaivlc

    ia VF]DC gtrgvs ml lxprlssls LC (Lxprlssjai Cginugnl).

    A kjkca ml vjmg mlssls a`hltas kaitracgma plca [lrvjmar/Ergdlwaro l lssl dgjs ud

    gsplktas qul tarig gtrgtjva a usa ma H[E, pajs ia mljxg g rlspaisg`jcjmgml ml krjga l

    rldaa mas a`hltas pgrg a pranrgdgmar.

    jdpart hgvgx.jihlkt.Igdlm?

    BIgdlm

    BPlqulst[kaplm

    pu`cjk kcgss Lxldpca@lgi {

    prjvgtl [trjin tlxta?

    pu`cjk [trjin nlt]lxta() {

    rlturi tlxta?

    }

    pu`cjk vajm slt]lxta([trjin tlxta) {

    tfjs.tlxta 4 tlxta?

    }

    }

    Rgrg mjspaij`jcjzgr as mgmas ml ud D@ ig tlcg l tgd`d pgrg jitlrgnjr kad a usurja,

    lskrlvl-sl ud grqujva VF]DC. Lssl grqujva passuj tgns F]DC l tgd`d tgns ma H[E. ]uma

    qul lstjvlr cjngma ga H[E slr praklssgma mlitra ma kjkca ml vjmg mg rlqujsja.

    Lssl praklssa ml pgmraijzga ma VF]DC prav g lxj`ja ml udg pnjig wl`ilssl

    eardgta par mjvlrsas mjspasjtjvas (tlclvjsa, pgcd, klcucgrltk.), gcd mg dlcfargrjg mg gkls-

    sj`jcjmgmlma kaitlma. G prjikjpgc mjelrlig litrl VF]DC l F]DC qul a prjdljra VDC

    vcjma, liqugita a slnuima passuj sjitgxl prprjg. Gd`as passuld slitjma slditjka.

    G slnujr tldas a VF]DC usgma pgrg gprlslitgr as mgmas ma D@ gitlrjar.

    3ftdc xdcis4fttp8//www.w;.arn/7:::/xftdc

    xdcis8f4fttp8//hgvg.sui.kad/hse/ftdc9

    3f8flgm93tjtcl9Lxldpca3/tjtcl93/f8flgm9

    3f8`amy9 ]lxta8 #{[email protected]}

    3f8eard9

    3f8jiput]lxt vgcul4#{[email protected]} /9

    3f8kaddgim@uttai vgcul4Gctlrgr /9

    3/f8eard9

    3/f8`amy9

    3/ftdc9

    VF]DC

    lVtlisj`cl FyplrtlxtDgroup Cginugnl,

    udg rlearducgamg cjinugnld mldgrkga F]DC,

    `gslgmg ld VDC.Kad`jig gs tgns ml

    dgrkga F]DC kadrlnrgs mg VDC.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    38/210

    00

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    A kjkca ml vjmg ma praklssgdlita ml udg rlqujsja ilssl lxldpca dastrgma ig nurg 0.0.

    Ilssl kgsa, mlpajs qul a earducrja dastrgma pgrg a usurja, lcl paml prllikflr as

    mgmas l prlssjaigr a `ata Gctlrgr. Wugima lssg rlqujsja kflng ga slrvjmar, udg rlprl-

    slitga jitlrig mg pnjig VF]DC (rvarl ml kadpailitls) a`tjmg. \dg jistikjg ma D@

    tgd`d a`tjmg (krjgmg au rlkuplrgmg, mlplimlima mgs lsplkjkgls ml kaitlxtas). As

    mgmas qul sa livjgmas ig rlqujsja (kgdpas ma earducrja) sa a`tjmas l prllikfjmas

    ia D@. Ld slnujmg, kada lst slima dastrgmg g dlsdg pnjig, as kgdpas ig rlprlsli -

    tga sa prllikfjmas l livjgmas pgrg a kcjlitl (igvlngmar).

    [lrvjmar / H[E

    VF]DC

    H[E a`tdjistikjg ma D@

    H[E a`td as mgmas mgrlqujsja l prllikfl a D@

    H[E livjg g tlcgpgrg a `rawslr

    VF]DC

    Kcjlitl / @rawslr

    VF]DC

    \surja mjnjtgMgmas

    \surja prlssjaigGctlrgr

    H[E prllikfl as mgmas ma D@ig rlprlslitga ma VF]DC

    Kada lxlrkkja, pamldas krjgr udg iavg gpcjkga ml iadl LxldpcaH[E7 (ia lsqulklr ml

    gmjkjaigr a Ergdlwaro Hgvg[lrvlr Egkls ia prahlta). As pgssas pgrg g krjga ma prahlta sa8

    7 G`rjr a Ilt`lgis?

    7 Dliu GPW\JUA | IAUA RPAHL]A?

    7 Lskacflr Kgtlnarjg HGUG L@?

    7 Lskacflr Rrahltas GRCJKGA ^L@?

    7 Kcjkgr RPVJDA?

    7 Gctlrgr a IADL MA RPAHL]A?

    7 Kcjkgr RPVJDA?

    7 Lskacflr a [LPUJMAP?

    7 Kcjkgr RPVJDA?

    7 Lskacflr a Ergdlwaro HGUG[LPULP EGKL[?

    7 Kcjkgr ld EJIGCJXGP.

    Ejnurg 0.0Kjkca ml Ujmg[jdpcjkgma.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    39/210

    0;

    Kgptuca0-Hgvg[lrvlrEgklsJitramu

    a

    Rgrg krjgr ud Dgignlm @lgi, mlvl-sl8

    7 Kcjkgr kad a `ata mjrljta ma dausl sa`rl a Rrahlta?

    7 Lskacflr Dliu IAUA | @LGI NLPLIKJGMAH[E?

    7 Lskacflr a IADL MG KCG[[L?

    7 Lskacflr a IADL MA RGKA]L?

    7 Kcjkgr ld EJIGCJXGP.

    Ilstl lxlrkkja, mlvl-sl krjgr ud Dgignlm @lgi (@lgi Nlrlikjgma H[E) ml iadl Lxldpca-

    @lgi, kad a kmjna g slnujr.

    jdpart hgvgx.jihlkt.Igdlm?

    BIgdlm

    BPlqulst[kaplm

    pu`cjk kcgss Lxldpca@lgi {

    prjvgtl [trjin tlxta?

    pu`cjk [trjin nlt]lxta() {

    rlturi tlxta?

    }

    pu`cjk vajm slt]lxta([trjin tlxta) {

    tfjs.tlxta 4 tlxta?

    }

    }

    G slnujr, tld-sl a VF]DC usgma pgrg gprlslitgr as mgmas ma D@ gitlrjar l lssl kmjna

    mlvl slr mjnjtgma ia grqujva jimlx.xftdc.

    3ftdc xdcis4fttp8//www.w;.arn/7:::/xftdc

    xdcis8f4fttp8//hgvg.sui.kad/hse/ftdc9

    3f8flgm93tjtcl9Lxldpca3/tjtcl93/f8flgm9 3f8`amy9

    ]lxta8 #{[email protected]}

    3f8eard9

    3f8jiput]lxt vgcul4#{[email protected]} /9

    3f8kaddgim@uttai vgcul4Gctlrgr /9

    3/f8eard9

    3/f8`amy9

    3/ftdc9

    Gps, kcjkgdas ld LVLK\]GP l tlstgdas g gpcjkga.

    Gls

    Ia lxldpca gitlrjar, ilifud tjpa ml ga lrg eljtg qugima a kcjlitl prlssjaigvg a ata

    Gctlrgr. Rartgita, as mgmas lrgd su`dltjmas, prllikfjmas ia D@ l dastrgmas ig tlcg

    iavgdlitl, sld qugcqulr tjpa ml praklssgdlita.

    Rgrg qul ud dtama ma D@ slhg jivakgma qugima as mgmas sa su`dltjmas, usgdas a

    gtrj`uta gktjai mg tgn 3f8kaddgim@uttai /9. As dtamas jivakgmas pamld rltarigr vajm au

    [trjin, qul mlild8

    7 Pltaria vajm8 jimjkg qul g prxjdg pnjig g slr rlimlrjzgmg g dlsdg qul arjnjiau grlqujsja?

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    40/210

    0=

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    7 Pltaria [trjin8 a vgcar mg [trjin (kaikgtligma kad.xftdc) a iadl mg prxjdg pnjig gslr rlimlrjzgmg.

    Ia lxldpca g slnujr, a D@ passuj ud dtama kfgdgma kgjxgGctg() , qul rltarig vajm, jimj-

    kgima qul g prxjdg pnjig g slr dastrgmg g dlsdg qul arjnjiau g rlqujsja.

    jdpart hgvgx.jihlkt.Igdlm?

    BIgdlm

    BPlqulst[kaplm

    pu`cjk kcgss Lxldpca@lgi {

    prjvgtl [trjin tlxta?

    pu`cjk [trjin nlt]lxta() {

    rlturi tlxta?

    }

    pu`cjk vajm slt]lxta([trjin tlxta) {

    tfjs.tlxta 4 tlxta?

    }

    // slttlr/nlttlr ml tlxta

    pu`cjk vajm kgjxgGctg() { tfjs.tlxta 4 tfjs.tlxta.ta\pplrKgsl()?

    }

    }

    A VF]DC ilklssrja pgrg jivakgr a dtama kgjxgGctg( ) ma D@ lst dastrgma ia kmjna g

    slnujr. Rlrkl`g qul a gtrj`uta gktjai kaitd a iadl ma dtama g slr jivakgma. Lssl iava

    kjkca ml vjmg paml slr vjsta ig nurg 0.;. Gitls ml g ga slr kfgdgmg, tamas as mgmas ma

    D@ pravlijlitls mg rlqujsja (mjnjtgmas ig tlcg plca kcjlitl) sa prllikfjmas l g prxjdg

    tlcg s praklssgmg gps g lxlkua mg ga.

    3ftdc xdcis4fttp8//www.w;.arn/7:::/xftdc

    xdcis8f4fttp8//hgvg.sui.kad/hse/ftdc9

    3f8flgm93tjtcl9Lxldpca3/tjtcl93/f8flgm9

    3f8`amy9

    ]lxta8 #{[email protected]}

    3f8eard9

    3f8jiput]lxt vgcul4#{[email protected]} /9

    3f8kaddgim@uttai vgcul4Gctlrgr

    gktjai4#{[email protected]} /9

    3/f8eard9

    3/f8`amy9

    3/ftdc9

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    41/210

    0

    Kgptuca0-Hgvg[lrvlrEgklsJitramu

    a

    BGppcjkgtjai[kaplm

    Wugima ud D@ gssjigcgma kada passujmar ma lskapa mg gpcjkga, udg, l sadlitl udg

    jistikjg krjgmg pgrg g gpcjkga tamg, l krjgmg gssjd qul a D@ ear usgma plcg prjdljrg

    vlz (jistgikjga kaiflkjmg kada cgzy).

    Lssg jistikjg dgitjmg gt g gpcjkga slr igcjzgmg l kadpgrtjcfgmg par tamas as usu-

    rjas mg gpcjkga, jsta , sldprl qul rlqujsjtgma a dlsda `lgi rltarigma. Mlvl jdpcl-dlitgr [lrjgcjzg`cl. A qugmra dastrg ud lxldpca ml D@ kad lskapa mg gpcjkga.

    jdpart hgvgx.litlrprjsl.kaitlxt.Gppcjkgtjai[kaplm?

    BIgdlm

    BGppcjkgtjai[kaplm

    pu`cjk kcgss ]lstlD@ jdpcldlits [lrjgcjzg`cl {

    }

    BUjlw[kaplm

    A lskapa ml vjsa lxjstl kada ud lskapa ma H[E, gmjkjaigma ia H[E 0, dgs ia lxjstl kada

    lskapa ma KMJ. Ia H[E 0.0, eaj jitramuzjmg udg dgiljrg ml sl us-ca ia KMJ pgrg qul gs gpcj-

    kgls passgd slr mlslivacvjmgs kad lstg euikjaigcjmgml.

    Rgrg us-ca, a Dgignlm @lgi mlvl jdpartgr a Ujlw[kaplm ma H[E, qul g slnujitl kcgssl8

    jdpart hgvgx.egkls.vjlw.Ujlw[kaplm?

    Ilssl lskapa a D@ lxjstl liqugita a usurja ia sgjr mg pnjig, cld`rgima qul dtamas

    ml ga ma D@ qul rltarigd vajm plrdgilkld ig dlsdg pnjig au vjsa. Wugima a

    usurja dumg ml tlcg, a D@ mlskgrtgma.

    Gssjd, D@s giatgmas kad lssl lskapa ia kadpgrtjcfgd mgmas litrl tlcgs au g`gs mjel -

    rlitls ig dlsdg slssa? kgmg vjsa udg jistikjg mjelrlitl ma D@. A D@ mlvl jdpcl-dlitgr [lrjgcjzg`cl. A kmjna g slnujr dastrg ud lxldpca ml D@ kad lskapa ml vjsa.

    jdpart hgvgx.egkls.vjlw.Ujlw[kaplm?

    BIgdlm

    BUjlw[kaplm

    pu`cjk kcgss ]lstlD@ jdpcldlits [lrjgcjzg`cl {

    }

    BKaivlrsgtjai[kaplm

    A lskapa ml kaivlrsga dgjar qul udg rlqujsja l dliar qul udg slssa. A D@ lxjstl

    kad ud jikja l d mltlrdjigmas pranrgdgtjkgdlitl, gtrgvs mg kfgdgmg ml dtamaslsplkkas mltlrdjigmas plca pranrgdgmar.

    Ramldas egzlr vrjgs kfgdgmgs ga `lgi (lxldpca8 gGHG V) l as mgmas slra as dlsdas, l a

    pranrgdgmar mlvl elkfgr pranrgdgtjkgdlitl g kaivlrsga.

    Rgrg euikjaigr, mlvl-sl jihltgr ud a`hlta ma tjpa Kaivlrsgtjai. A jikja ma lskapa sl m plcg

    kfgdgmg ma dtama lnji(), l a trdjia ma lskapa sl m plcg kfgdgmg ma dtama lim(). A D@

    mlvl jdpcldlitgr [lrjgcjzg`cl. A kmjna g slnujr dastrg ud lxldpca ml lskapa ml kaivlrsga.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    44/210

    06

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    jdpart hgvgx.litlrprjsl.kaitlxt.Kaivlrsgtjai[kaplm?

    BIgdlm

    BKaivlrsgtjai[kaplm

    pu`cjk kcgss ]lstlD@ jdpcldlits [lrjgcjzg`cl {

    BJihlkt

    prjvgtl Kaivlrsgtjai kaivlrsgtjai?

    pu`cjk vajm jijtKaivlrsgtjai() { kaivlrsgtjai.`lnji()?

    }

    pu`cjk [trjin limKaivlrsgtjai() {

    kaivlrsgtjai.lim()?

    }

    pu`cjk Kaivlrsgtjai nltKaivlrsgtjai() {

    rlturi tfjs.kaivlrsgtjai?

    }

    }

    B]rgisgktjai[kaplm

    A lskapa ml trgisga eaj krjgma ia Hgvg LL > l usgima qugima ud D@ mlvl tlr g dlsdg

    murga qul udg trgisga ma H]G ( Hgvg ]rgisgktjai GRJ).

    BEcaw[kaplm

    A lskapa ml uxa eaj krjgma ia Hgvg LL > l ud lskapa dgjar qul udg rlqujsja l dliar

    qul udg slssa. Mlitra ml udg gpcjkga, pamldas mlijr vrjas uxas kad gs slnujitls

    kgrgktlrstjkgs8

    7 Kgmg uxa passuj vrjas iamas, litrl vjsls (VF]DC), kfgdgmgs ml euia ltk.?

    7 \d uxa paml kfgdgr autras uxas?7 Rassuj ud paita ml litrgmg l vrjas paitas ml sgmg?

    7 \d D@ ilssl lskapa lxjstl liqugita a uxa lstjvlr gtjva.

    Rraklssgdlita ml udg Plqujsja

    Wugima udg rlqujsja eljtg, rlkl`jmg plca Egkls[lrvclt. Lssl rlspaisvlc plca pra -

    klssgdlita kadpclta mlssg rlqujsja, mlsml slu rlkl`jdlita gt qul g iavg tlcg passg

    slr lxj`jmg. Lssl praklssgdlita pgssg par mjvlrsgs egsls l kgmg udg mlssgs egsls tld ud

    a`hltjva lsplkka. Kaiflklr lssls pgssas lsslikjgc pgrg a mlslivacvlmar qul usg H[E.

    G nurg 0.= dastrg ud mjgnrgdg mgs egsls l slu slqulikjgdlita, lxlkutgmgs plca Egkls[lr-vclt. G slnujr, slra mltgcfgmgs tamgs gs egsls l a praklssgdlita rlgcjzgma ld kgmg udg mlcgs.

    Lssl lskapa jmlgcpgrg rlprlslitgrwjzgrms (kaihuita mltlcgs qul ghumgd ausurja g lxlkutgrgcnudg tgrleg, udgssjstlitl) l uxas mlaplrga. \d mltgcfljdpartgitl qul a D@

    mlvl slr slrjgcjzvlc(jdpcldlitgr [lrjgcj-zg`cl).

    c

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    45/210

    0:

    Kgptuca0-Hgvg[lrvlrEgklsJitramu

    a

    Plspaislkadpcltl

    Plspaislkadpcltl

    Plspaislkadpcltl

    Plspaislkadpcltl

    Egkls Plspaisl PlimlrPlspaisl

    RraklssLvlits

    RraklssLvlits

    RraklssLvlits

    RraklssLvlits

    PlstarlUjlw

    GppcyPlqulsts

    RraklssUgcjmgtjai

    JivaolGppcjkgtjai

    \pmgtlDamlcUgculs

    Ugcjmgtjai/Kaivlrsjai Lrrars/Plimlr Plspaisl

    Kaivlrsjai Lrrar/Plimlr Plspaisl

    Egkls Plqulst

    PlimlrPlspaisl

    Rraklss Lvlits

    As vrjas pgssas kfgdgmas Rraklss Lvlits ig nurg sa paitas ld qul a H[E paml mlsvjgr a

    uxa mg gpcjkga, pgrg ia slnujr a praklssgdlita iardgc. Jssa sl m par kaitg ml lrras

    (lxldpca8 vgcjmga ml mgmas), tjpa ml rlqujsja (lxldpca8 prjdljrg rlqujsja ld vlz ml

    past`gko) l par kaitg ml kfgdgmg vacuitrjg ma pranrgdgmar. Ilssl kgsa, ld udg

    kfgdgmg g EgklsKaitlxt.rlspaislKadpcltl().

    Wugima g gpcjkga prlkjsg rlmjrlkjaigr pgrg udg pnjig lxtlrig au udg pnjig qul ia

    lstlhg slima trgtgmg plca H[E, prlkjsg-sl jimjkgr qul a H[E ia mlvl rlimlrjzgr g sgmg kai-

    eardl uxa iardgc mg rlqujsja. Jssa eljta gtrgvs mg kfgdgmg g rlspaislKadpcltl().

    Plstarl UjlwLssg g prjdljrg egsl ma praklssgdlita ml udg rlqujsja ld H[E. Mugs sjtugls pamld

    akarrlr8 slr g prjdljrg rlqujsja pnjig au slr autrg rlqujsja (kfgdgma ml past`gko).

    Ia kgsa ml udg prjdljrg rlqujsja, g rvarl ml kadpailitls qul rlprlslitg g tlcg

    krjgmg l grdgzligmg ia EgklsKaitlxt, kad mgmas vgzjas, l a uxa rlmjrlkjaigma pgrg g

    egsl ml Plimlr Plspaisl, rlspaisvlc par livj- cg pgrg a kcjlitl.

    Ia kgsa ml past`gko, udg rlprlslitga mg rvarl ml kadpailitls h lxjstl, l sadlitl

    rlkuplrgmg l rlkaistrumg. Kaivlrsarls, Ugcjmgmls au Plimlrjzgmarls kustadjzgmas, qugima

    gilxgmas g kadpailitls, sa tgd`d rlstgurgmas. Gps jssa, g prxjdg egsl jivakgmg.

    Ld qugcqulr ud mas kgsas, g rvarl ml kadpailitls krjgmg prlkjsg slr grdgzligmg pgrgpastlrjar rlkuplrga. Lxjstld mugs tkijkgs, qul paml slr kainurgmg ia grqujva wl`.xdc8

    7 Kcjlitl8 a lstgma mg tlcg (Ujlw[tgtl) grdgzligma ld ud kgdpa fjmmli ig tlcg (F]DC)?

    7 [lrvjmar8 a lstgma mg tlcg grdgzligma ig slssa ma usurja.

    Ld qugcqulr kgsa, egz-sl ilklssrja grdgzligr lssl lstgma pgrg sl kaislnujr a kadpar-

    tgdlita stgtleuc ma H[E, vjsta qul F]DC, arjnjigcdlitl, ia grdgzlig lstgma ml ilifud

    kadpailitl (stgtlclss). Autra paita jdpartgitl g ra`ustlz ma H[E. [l a lstgma mg pnjig

    ia grdgzligma, ia f dlkgijsda ml vlrjkga jimjkgima sl gcnudg rlqujsja F]]R

    eaj jitlrklptgmg l slus gtr j`utas gctlrgmas (kada par lxldpca, kgdpas mlsg`jcjtgmas,

    sadlitl ml cljturg ltk.).

    Ejnurg 0.=Kjkca ml Ujmg ml

    udg Plqujsja H[E.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    46/210

    ;2

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    A kmjna g slnujr gprlslitg ud trlkfa lxldpca ml pnjig VF]DC, l g nurg 0.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    47/210

    ;7

    Kgptuca0-Hgvg[lrvlrEgklsJitramu

    a

    A rltaria ma dtama gssakjgma ga gtrj`uta gktjai mltlrdjig qugc g prxjdg pnjig g slr

    rlimlrjzgmg. [l a rltaria ma dtama ear vajm au iucc, lita plrdgilkl ig dlsdg pnjig.

    [l ear udg [trjin, lstg a iadl mg pnjig (gkrlskjmg ml.xftdc) qul mlvlr slr rlimlrjzgmg.

    Plimlr Plspaisl

    Egsl ig qugc g prxjdg tlcg rlimlrjzgmg l livjgmg ga kcjlitl. [l g gpcjkga sl dgitjvlr

    ig dlsdg pnjig, sug rlprlslitga h kaiflkjmg, slu iava lstgma grdgzligma l kgmgkadpailitl kaivlrtjma pgrg F]DC, pgrg qul passg slr livjgma ga kcjlitl.

    [l udg iavg pnjig prlkjsgr slr nlrgmg, udg iavg r varl ml kadpailitls krjgmg l lstg

    rlprlslitga grdgzligmg, pgrg qul ig prxjdg rlqujsja passg slr rlkuplrgmg.

    [l fauvlr gcnudg dlisgnld ml lrra ia kaitlxta mg rlqujsja l sl fauvlr tgns

    3f8dlssgnl9au 3f8dlssgnls9, lssgs dlisgnlis tgd`d sa rlimlrjzgmgs ia F]DC rlsuc-

    tgitl pgrg a kcjlitl.

    Kjkca ml vjmg sjdpcjejkgma

    As kjkcas ml v jmg sjdpcjkgmas gprlslitgmas gitlrjardlitl sa udg dgiljrg ml litlimlr,ml eardg kaistrutjvg, a kjkca ml vjmg ml udg gpcjkga H[E. Dlsda qul a earducrja

    (3f8kaddgim@uttai9, par lxldpca) ia kaitlifg g jimjkga ml lxlkua ml ud dtama ma

    D@, g egsl Jivaol Gppcjkgtjai gjimg slr kfgdgmg, vjsta qul ilssg egsl qul a H[E mlska`rl

    qugc slr g prxjdg tlcg g slr rlimlrjzgmg pgrg a usurja.

    Igvlnga

    G igvlnga litrl tlcgs ml udg gpcjkga H[E ud dlkgijsda sastjkgma, dgs sjdpcls

    ml jdpcldlitgr l litlimlr. ]uma `gslgma ld ud sjigc livjgma pgrg a H[E, kfgdgma

    autkadl. Rar lxldpca, sl udg pnjig passuj ud cjio pgrg udg slnuimg pnjig, livjg-sl a

    autkadl slnuimg pgrg a H[E l a usurja slr rlmjrlkjaigma pgrg g pnjig slnuimg.xftdc.Gssjd, a autkadl igmg dgjs ma qul a iadl mg pnjig sld g lxtlisa.xftdc.

    As kadpailitls vjsugjs qul egzld trgisja litrl pnjigs sa as kadpailitls ml ga

    3f8kaddgim@uttai9 l 3f8kaddgimCjio9, l as kadpailitls ml rlmjrlkjaigdlita 3f8`uttai9

    l 3f8cjio9.Rgrg sl mlijr a autkadl ias prjdljras (3f8kaddgim@uttai9l 3f8kaddgimCjio9),

    usg-sl a gtrj`uta gktjai. Ias slnuimas (3f8`uttai9 l 3f8cjio9),

    a gtrj`uta autkadl.

    qKadpailitls vjsugjs87 Ml ga8 3f8kaddgim@uttai9, 3f8kaddgimCjio9

    0 Autkadl mlijma ia gtrj`uta gktjai.7 Ml rlmjrlkjaigdlita8 3f8`uttai9, 3f8cjio9

    0 Autkadl mlijma ia gtrj`uta autkadl.

    7 Rar lxldpca8

    3f8eard9

    3f8kaddgim@uttai vgcul4Rnjig ]lstl

    gktjai4tlstl/9

    3/f8eard9

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    48/210

    ;0

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Ga slr kcjkgma a kadpailitl 3f8kaddgim@uttai9, a usurja clvgma pgrg g pnjig tlstl.xftdc.

    [l ud autkadl jijkjg kad /, lita a kgdjifa mg pnjig mlstjia jijkjg ig rgjz mg gpcjkga,

    kgsa kaitrrja slr rlcgtjva ga mjrltrja mg pnjig gtugc.

    A rltaria ml dtamas ml ud Dgignlm @lgi, kada dastrgma gitlrjardlitl, tgd`d usg a

    dlsda prjikpja, rltarigima ud autkadl. Gs rlnrgs ml igvlnga pamld slr mlijmgs ia

    grqujva ml kainurga egkls-kain.xdc, dgs nlrgcdlitl usg-sl g igvlnga jdpckjtg.

    G igvlnga jdpckjtg igmg dgjs ma qul a rltaria ma dtama ma D@ slr kaisjmlrgma a

    iadl mg pnjig, sld a.xftdc. [l jijkjgr kad /, slr usgma a kgdjifa g`sacuta mg rgjz mg

    gpcjkga, sl ia, slr a kgdjifa rlcgtjva pnjig gtugc. [l a dtama rltaigr ud autkadl

    kaitlima egkls-rlmjrlkt4trul, slr eljta ud rlmjrlkt ld vlz ml ud earwgrm.

    qPlmjrlkt x Earwgrm87 Rar mleguct, a H[E leltug earwgrm pgrg rlmjrlkjaigdlita?

    7 Rgrg ngrgitjr a usa ml rlmjrlkt, mlvl-sl jimjkgr ia autkadl kad81egkls-rlmjrlkt4trul.

    7 Rar lxldpca8jdpart hgvgx.jihlkt.Igdlm?

    BIgdlm

    BPlqulst[kaplm

    pu`cjk kcgss Lxldpca@lgi {

    pu`cjk [trjin tlstgr() {

    //...

    rlturi slnuimgRgnjig1egkls-rlmjrlkt4trul

    }

    }

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    49/210

    ;;

    Kgptuca;-H[EKadpailitlsvjsugjs

    ;H[E Kadpailitls vjsugjs

    Kaiflklr as kadpailitls vjsugjs pgrg kaielka ml tlcgs ld H[E, usgima earducrjas

    l dgijpucga ml mgmas pgrg gprlslitga.

    Kadpailitls vjsugjs? Rraprjlmgml xdcis? Igdlspgkls? @jimjin? BRastKaistrukt?

    BRrlMlstray? Apls Lsttjkgs x Mjidjkgs l slcla ijkg x dctjpcg.

    Lstruturg sjkg

    Gs tlcgs ml udg gpcjkga H[E sa mlijmgs ld grqujvas VDC. ]gns `ld mlijmgs ilssls

    grqujvas egzld kad qul sl passg mlskrlvlr tlcgs usgima F]DC l tgns ma prprja H[E.

    A H[E passuj ud trgtgmar ml tlcgs (vjsls) kfgdgma ml UMC (U jlw Mlkcgrgtjai Cginugnl), qul

    gt gitls mg vlrsa H[E 0.2 lrg jdpcldlitgma kad a H[R. Gps g vlrsa 0.2, eaj jitramuzjmaa Egklclts, qul ud trgtgmar atjdjzgma ml vjsls, sld as pra`cldgs ml jikadpgtj`jcjmgml

    qul lrgd kaduis ga H[R.

    Rgrg usgr as kadpailitls ma H[E, mlvldas jikcujr gs `j`cjatlkgs ml tgns ias grqujvas VF]DC.

    qGs dgjs jdpartgitls sa87 Karl8 rlprlslitgma plcg \PJ fttp8//xdcis.hkp.arn/hse/karl7 F]DC8 rlprlslitgma plcg \PJ fttp8//xdcis.hkp.arn/hse/ftdc

    7 Egklclts8 rlprlslitgma plcg \PJ fttp8//xdcis.hkp.arn/hse/egklclts

    Lstgs tgns sa jikcumgs kada gtrj`utas ml igdlspgkl (lspga ml iadls, pgrg qul ia fghg

    gd`jnujmgml) ig tgn F]DC, kaieardl a lxldpca g slnujr8

    31xdc vlrsjai47.2 likamjin4\]E-6 19

    3!MAK]ZRL ftdc R\@CJK -//^;K//M]M VF]DC 7.2 ]rgisjtjaigc//LI

    fttp8//www.w;.arn/]P/xftdc7/M]M/xftdc7-trgisjtjaigc.mtm 9

    3ftdc xdcis4fttp8//www.w;.arn/7:::/xftdc

    xdcis8uj4fttp8//hgvg.sui.kad/hse/egklclts

    xdcis8f4fttp8//hgvg.sui.kad/hse/ftdc

    xdcis8e4fttp8//hgvg.sui.kad/hse/karl9

    a`hltjvas

    kaikljtas

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    50/210

    ;=

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    3f8flgm9

    3tjtcl9H[E3/tjtcl9

    3/f8flgm9

    3f8`amy9

    3f8autput]lxt vgcul4Lstruturg `sjkg ml udg tlcg H[E /9

    3/f8`amy9

    3/ftdc9

    Ilssl lxldpca, as gtrj`utas xdcis8 rlprlslitgd8

    7 xdcis8uj4fttp8//hgvg.sui.kad/hse/egklclts8 jimjkg qul tamgs gs tgns kad prlxa ujslra tgns ma egklclts?

    7 xdcis8f4fttp8//hgvg.sui.kad/hse/ftdc8 jimjkg qul tamgs gs tgns kad prlxa f slratgns ftdc?

    7 xdcis8e4fttp8//hgvg.sui.kad/hse/karl8 jimjkg qul tamgs gs tgns kad prlxa e slratgns ma ikcla hse (karl).

    Gs tgns sa prlxgmgs, kada ia lxldpca8

    3f8autput]lxt vgcul4Lstruturg ... /9

    Aiml 3f8autput]lxt jimjkg qul g tgn autput]lxt mg `j`cjatlng f (ftdc), rlprlslitgmg plcg

    \PJ ft tp8//hgvg.sui.kad/hse/ftdc.

    A lxldpca gitlrjar tgd`d gprlslitg g lstruturg `sjkg ml udg vjsa (tlcg) VF]DC pgrg

    a H[E. As slnujitls lcldlitas sa a`rjngtrjas8

    7 MAK]ZRL?

    7 F]DC.

    qG pnjig mlcjdjtgmg plcg tgn 3ftdc9.

    7 Gs `j`cjatlkgs sa jdpartgmgs plcg praprjlmgml xdcis?

    7 xdcis mlil as igdlspgkls?

    7 Igdlspgkls sa usgmas pgrg lvjtgr kaijtas ml iadls ias lcldlitas?

    7 Mlil prlxas pgrg slrld usgmas ias lcldlitas.

    Mlitra ml 3ftdc9 tldas8

    7 F8FLGM

    7 F8@AMZ

    A usa mgs tgns f8flgm l f8`amy rlkadlimgma pgrg qul a H[E passg rlimlrjzgr skrjpts au

    rlkursas ilklssrjas ig egsl Plimlr Plspaisl, pgrg qul g pnjig euikjail gmlqugmgdlitl.

    Earducrjas

    Earducrjas sa mlijmas plcg tgn f8eard. As earducrjas ld H[E sa rlimlrjzgmas kada

    earducrjas F]DC qul livjgd mgmas vjg RA[], jimlplimlitl sl ear mlijma ud `ata

    au ud cjio ml su`djssa. [krjpts jislrjmas ig pnjig plca prprja H[E sl likgrrlngd ml

    ghustgr a kadpartgdlita.

    Mlitra ma earducrja, mlvld slr kacakgmas kadpailitls ml litrgmg ml mgmas, kuhas

    vgcarls jislrjmas slra livjgmas pgrg a H[E ga slr leltugma ud su`djt.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    51/210

    ;

    Kgptuca;-H[EKadpailitlsvjsugjs

    Kgjxgs ml tlxta, rtucas l kgdpas akuctas

    Gs kgjxgs ml tlxta sa usgmgs pgrg litrgmg ml mgmas mjnjtgmas plca usurja.

    q[a ml trs tjpas87 3f8jiput]lxt /98 usgmg pgrg litrgr kad tlxtas sjdpcls. Plimlrjzg ud83jiput typl4tlxt /9

    7 3f8jiputGrlg /98 usgmg pgrg litrgr kad tlxtas ld vrjgs cjifgs. Plimlrjzg ud83tlxtGrlg9

    7 3f8jiput[lkrlt /98 usgmg pgrg litrgr kad tlxtas sld lka, par lxldpca, slifgs.Plimlrjzg ud8 3jiput typl4pgsswarm /9

    Kgjxgs ml tlxta

    G tg`lcg ;.7 dastrg gcnuis gtrj`utas ma 3f8jiput]lxt /9.

    Gtrj`uta Mlskrja

    jm Jmlitjejkgmar ma kadpailitl

    vgcul Ugcar ma kadpailitl, paml cjngr g ud D@ kad LC ( #{...} )

    rlgmaicy trul/egcsl sadlitl cljturg

    mjsg`clm trul/egcsl lcldlita mlsg`jcjtgma (ia rlkl`l eaka)

    rlqujrlm trul/egcsl sl a lcldlita rlqulrjma

    rlqujrlmDlssgnl ]lxta dlisgnld sl ia prllikfjma

    dgxclintf Idlra qugitjmgml dxjdg ml kgrgktlrls

    sjzl ]gdgifa ld kgrgktlrls ma kadpailitl

    tjtcl taac tjp tlxt

    stycl Lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss Cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmaskada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    G slnujr, tldas ud lxldpca qul dastrg kada ud 3f8jiput]lxt /9 lskrjta ld H[E, kada

    rlimlrjzgma ld F]DC l kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8autputCg`lc vgcul4Iadl8 ear4iadl /9

    3f8jiput]lxt vgcul4#{[email protected]} jm4iadl /9

    ]g`lcg ;.7Gtrj`utas ml

    3f8jiput]lxt /9.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    54/210

    ;6

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Plimlrjzgma ld F]DC

    3cg`lc ear4hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    55/210

    ;:

    Kgptuca;-H[EKadpailitlsvjsugjs

    Kgjxgs ml tlxta ml slifg

    G tg`lcg ;.; dastrg gcnuis gtrj`utas ma 3f8jiput[lkrlt /9.

    Gtrj`uta Mlskrja

    jm Jmlitjejkgmar ma kadpailitl

    rlmjspcgy (trul/egcsl) par mleguct ia rlkgrrlngma a vgcar ma lgi. [ltgima pgrg trul, a vgcar trgzjma

    vgcul Ugcar ma kadpailitl, paml cjngr g ud D@ kad LC ( #{...})

    rlgmaicy trul/egcsl sadlitl cljturg

    mjsg`clm trul/egcsl lcldlita mlsg`jcjtgma (ia rlkl`l eaka)

    rlqujrlm trul/egcsl sl a lcldlita rlqulrjma

    rlqujrlmDlssgnl ]lxta dlisgnld sl ia prllikfjma

    dgxclintf Idlra qugitjmgml dxjdg ml kgrgktlrls

    sjzl ]gdgifa ld kgrgktlrls ma kadpailitl

    tjtcl taac tjp tlxt

    stycl Lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss Cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmas kada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    Ramldas vlr gmjgitl kada ud 3f8jiput[lkrlt /9 lskrjta ld H[E, kada rlimlrjzgma ld

    F]DC l kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8autputCg`lc vgcul4[lifg8 ear4slifg /9

    3f8jiput[lkrlt vgcul4#{[email protected]} jm4slifg /9

    Plimlrjzgma ld F]DC

    3cg`lc ear4hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    56/210

    =2

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Lxldpca ml kgjxgs ml tlxta

    As trlkfas ml kmjna g slnujr dastrgd ud lxldpca ml prahlta kaitlima as trs tjpas ml

    kgjxg ml litrgmg.

    3f8eard9

    3f8pgilcNrjm kacudis409

    3f8autputCg`lc vgcul4Iadl8 ear4iadl /9 3f8jiput]lxt vgcul4#{[email protected]} jm4iadl /9

    3f8autputCg`lc vgcul4[lifg8 ear4slifg /9

    3f8jiput[lkrlt vgcul4#{[email protected]}

    jm4slifg /9

    3f8autputCg`lc vgcul4Mlskrja8

    ear4mlskrjkga /9

    3f8jiput]lxtgrlg vgcul4#{[email protected]}

    jm4mlskrjkga /9

    3f8kaddgim@uttai vgcul4Livjgr /9

    3/f8pgilcNrjm9

    3/f8eard9

    BIgdlm(vgcul 4 lxldpcaD@)

    BPlqulst[kaplm

    pu`cjk kcgss LxldpcaD@ {

    prjvgtl [trjin iadl?

    prjvgtl [trjin slifg?

    prjvgtl [trjin mlskrjkga?

    // slttlrs/nlttlrs

    }

    G slnujr, a earducrja rlimlrjzgma.

    Ptucas

    Rgrg rlimlrjzgr ud rtuca ml ud kadpailitl ia earducrja, usg-sl 3f8autputCg`lc /9.

    Lssl kadpailitl gudlitg g rlg kcjkvlc ml lcldlitas, kada `atls ml rmja, l paml slr

    usgma par cljtarls ml tlcg ld kgsas ml gpcjkgtjvas ml gklssj`jcjmgml. G tg`lcg ;.= dastrg

    gcnuis gtrj`utas ml 3f8autputCg lc /9.

    Ejnurg ;. dastrg ud lxldpca kad tamgs gs kgjxgs ml slcla rlimlrjzgmgs.

    Kgjxg ml [lcla8 kflko`ax ijkaA kadpailitl 3f8slclkt@aaclgiKflko`ax9rlimlrjzg ud kflko`ax pgrg slcla ma t jpa [JD/

    IA, qul pamlr slr v jikucgmg g udg praprjlmgml `aaclgig ml ud Dgignlm @lgi.

    Lcl rlimlrjzg ud kadpailitl ld F]DC 3jiput typl4kflko`ax /9.G tg`lcg ;.5 gprlslitg

    slus prjikjpgjs gtrj`utas.

    Ejnurg ;.>]amgs gs Kgjxgsml [lcla.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    59/210

    =;

    Kgptuca;-H[EKadpailitlsvjsugjs

    Gtrj`uta Mlskrja

    jm jmlitjejkgmar ma kadpailitl

    vgcul (trul/egcsl) vgcar ma kadpailitl, paml cjngr g udg praprjlmgml `aaclgig ml ud D@

    rlgmaicy trul/egcsl sadlitl cljturg

    Mjsg`clm trul/egcsl lcldlita mlsg`jcjtgma (ia rlkl`l eaka)

    tjtcl taac tjp tlxt

    stycl lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmas kada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    A kmjna g slnujr dastrg kada ud 3f8slclkt@aaclgiKflko`ax9 lskrjta ld H[E, kada

    rlimlrjzgma ld F]DC l kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8slclkt@aaclgiKflko`ax jm4tlstl vgcul4trul /9

    3f8autputCg`lc vgcul4]lstl ear4tlstl /9

    Plimlrjzgma ld F]DC

    3cg`lc ear4hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    60/210

    ==

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Kgjxg ml [lcla8 kad`a@ax ml [lcla ijkg

    A kadpailitl 3f8slclktAilDliu9rlimlrjzg ud Kad`a@ax kaitlima udg cjstg ml apls

    pgrg slcla, qul paml slr vjikucgmg g udg praprjlmgml ml ud Dgignlm @lgi. Lcl rli-

    mlrjzg ud kadpailitl 3slclkt9 ma F]DC kad gtrj`uta sjzl kad vgcar 7 l sld a gtrj`uta

    ductjpcl. G tg`lcg ;.> gprlslitg slus prjikjpgjs gtrj`utas.

    Gtrj`uta Mlskrja

    jm jmlitjejkgmar ma kadpailitl

    vgcul vgcar ma kadpailitl, paml cjngr g udg praprjlmgml ml ud D@

    rlgmaicy trul/egcsl sadlitl cljturg

    mjsg`clm trul/egcsl lcldlita mlsg`jcjtgma (ia rlkl`l eaka)

    tjtcl taac tjp tlxt

    stycl lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmas kada gtrj`uta kcgss)Lvlitas ma MAD aieakus, aikcjko ltk.

    Rgrg prllikfjdlita mas jtlis usg-sl g tgn 3e8slclktJtld9 mg `j`cjatlkg karl ma H[E. G tg`lcg

    ;.6 gprlslitg slus prjikjpgjs gtrj`utas.

    Gtrj`uta Mlskrja

    jtldCg`lc ]lxta gprlslitgma pgrg lstg apa

    j tldUgcul Ugcar g slr su`dltjma qugima lstg apa lstjvlr slclkjaigmg

    jtldMjsg`clm trul/egcsl, ecgn jimjkgima sl a jtld lst mlsg`jcjtgma (mleguct egcsl)

    ia[lclktjaiAptjai trul/egcsl, e cgn jimjkgima sl a jtld ia slclkjaivlc l, ld kgsa ml kgdpa rlqulrjma,nlrg lrra sl lstjvlr slclkjaigma (mleguct egcsl)

    A kmjna g slnujr dastrg kada ud 3f8slclktAilDliu9 lskrjta ld H[E, kada rlimlrjzgma

    ld F]DC l kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8autputCg`lc vgcul4[lxa8 ear4slxa /9

    3f8slclktAilDliu jm4slxa 9

    3e8slclktJtld jm4D jtldCg`lc4Dgskucjia jtldUgcul4D /9

    3e8slclktJtld jm4E jtldCg`lc4Eldjijia jtldUgcul4E /93/f8slclktAilDliu9

    Plimlrjzgma ld F]DC

    3cg`lc ear4hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    61/210

    =

    Kgptuca;-H[EKadpailitlsvjsugjs

    BIgdlm(vgcul 4 lxldpcaD@)

    BPlqulst[kaplm

    pu`cjk kcgss LxldpcaD@ {

    prjvgtl Cjst3[trjin9 lstgmas?

    BRastKaistrukt

    pu`cjk vajm jijt() {

    lstgmas 4 ilw GrrgyCjst3[trjin9()? lstgmas.gmm(pr)?

    lstgmas.gmm(sk)?

    }

    pu`cjk Cjst3[trjin9 nltLstgmas() {

    rlturi tfjs.lstgmas?

    }

    pu`cjk vajm sltLstgmas(Cjst3[trjin9 lstgmas) {

    tfjs.lstgmas 4 lstgmas?

    }

    }

    ;.7.= BRastKaistrukt l BRrlMlstray

    Ia kmjna gkjdg eaj usgma udg giatga lsplkjgc ma KMJ ia Dgignlm @lgi, a BRastKais-

    trukt ( hgvgx.giiatgtjai.RastKaistrukt). \d dtama giatgma mlssg eardg kfgdgma gps

    g kaistrua ma a`hlta l gps tamgs gs jihlls slrld eljtgs, dgs gitls ma a`hlta slr

    mjspaij`jcjzgma pgrg aplrga. Gssjd, prlelrl-sl jijkjgr as a`hltas mlssg eardg, pajs tamgs

    gs mlplimikjgs h eargd rlsacvjmgs l tgd`d parqul f ngrgitjg ml qul lssl dtama

    kfgdgma sadlitl udg vlz, a qul ia akarrl kad a kaistrutar, par kgusg ma dlkgijsda ml

    Rraxy usgma plca KMJ.

    A dtama jijt() eaj usgma pgrg jijkjgcjzgr gcnuis kflko`axls, trgzlima-as h dgrkgmas igprjdljrg vlz qul g tlcg ear dastrgmg ga usurja.

    Gigcangdlitl, pamldas giatgr ud dltama kad BRrlMlstray ( hgvgx.giiatgtjai.RrlMls-

    tray), qul jivakgima gitls mg jistikjg slr mlstrumg.

    [adlitl paml fgvlr ud dtama giatgma kad BRastKaistrukt l ud kad BRrlMlstray.

    q7 BRastKaistrukt.0 A dtama giatgma jivakgma cana gps g krjga ma a`hlta?

    0 ]amgs gs jihlls h eargd eljtgs?

    0 [ldprl usgma pgrg jijkjgcjzgr a `lgi, ga jivs ma kaistrutar.

    7 BRrlMlstray.

    0 A dtama giatgma jivakgma gitls mg mlstruja.

    Lxlrkkjas

    Kgjxg ml [lcla8 dctjpcas Kflko`axls

    A kadpailitl 3f8slclktDgiyKflko`ax9rlimlrjzg udg tg`lcg kaitlima udg cjstg ml kflko`ax

    pgrg slcla ma tjpa [JD/IA, qul pamlr slr vjikucgmg g udg praprjlmgml cjstg ml ud Dgignlm

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    64/210

    =6

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    @lgi. G tg`lcg ;.72 gprlslitg slus pr jikjpgjs gtrj`utas.

    Gtrj`uta Mlskrja

    jm jmlitjejkgmar ma kadpailitl

    vgcul (trul/egcsl) vgcar ma kadpailitl, paml cjngr g udg praprjlmgml cjs tg ml ud D@

    cgyaut Gpgrikjg mg tg`lcg rlimlrjzgmg8

    7 cjilMjrlktjai8 pgrg dastrgr as lcldlitas farjzaitgcdlitl

    7pgnlMjrlktjai8 pgrg dastrgr as lcldlitas vlrtjkgcdlitl

    `armlr ]gdgifa (px) mg armg mg tg`lcg rlimlrjzgmg

    rlgmaicy trul/egcsl sadlitl cljturg

    mjsg`clm trul/egcsl lcldlita mlsg`jcjtgma (ia rlkl`l eaka)

    tjtcl taac tjp tlxt

    stycl lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmas kada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    A kmjna g slnujr dastrg kada ud 3f8slclktDgiyKflko`ax9 lskrjta ld H[E, kada

    rlimlrjzgma ld F]DC l kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8slclktDgiyKflko`ax jm4tlstl cgyaut4pgnlMjrlktjai 9

    3e8slclktJtld jm4sk jtldCg`lc4[gitg Kgtgrjig

    jtldUgcul4[K /9

    3e8slclktJtld jm4pr jtldCg`lc4Rgrgi jtldUgcul4RP /9

    3e8slclktJtld jm4rs jtldCg`lc4Pja Nrgiml ma [uc

    jtldUgcul4P[ /9

    3/f8slclktDgiyKflko`ax9

    Plimlrjzgma ld F]DC

    3tg`cl `armlr42 jm4hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    65/210

    =:

    Kgptuca;-H[EKadpailitlsvjsugjs

    3/tg`cl9

    As kmjnas g slnujr dastrgd a VF]DC l a Dgignlm @lgi usgmas ia lxldpca.

    3f8eard9

    3f8pgilcNrjm kacudis409

    3f8autputCg`lc vgcul4Lstgmas ear4lstgmas /9

    3f8slclktDgiyKflko`ax jm4lstgmas

    vgcul4#{[email protected]}

    cgyaut4pgnlMjrlktjai9

    3e8slclktJtld jm4sk jtldCg`lc4[gitg Kgtgrjig

    jtldUgcul4[K /9

    3e8slclktJtld jm4pr jtldCg`lc4Rgrgi

    jtldUgcul4RP /9 3e8slclktJtld jm4rs

    jtldCg`lc4Pja Nrgiml ma [uc

    jtldUgcul4P[ /9

    3/f8slclktDgiyKflko`ax9

    3f8kaddgim@uttai vgcul4Livjgr /9

    3/f8pgilcNrjm9

    3/f8eard9

    BIgdlm(vgcul 4 lxldpcaD@)BPlqulst[kaplm

    pu`cjk kcgss LxldpcaD@ {

    prjvgtl Cjst3[trjin9 lskacfjmas 4 ilw GrrgyCjst39()?

    BRastKaistrukt

    pu`cjk vajm jijt() {

    lskacfjmas.gmm(RP)?

    lskacfjmas.gmm([K)?

    }

    // slttlrs/nlttlrs

    Kgjxg ml [lcla8 `atls ml Pmja

    A kadpailitl 3f8slclktAilPgmja9rlimlrjzg udg tg`lcg kaitlima udg cjstg ml `atls ml

    rmja pgrg slcla dutugdlitl lxkcusjvg (sadlitl ud paml lstgr slclkjaigma ld kgmg

    dadlita) ma tjpa [JD/IA, qul pamlr slr v jikucgmg g udg praprjlmgml `aaclgig ml ud

    Ejnurg ;.773f8slclktDgiyKflko`ax9ld

    H[E, rlimlrjzgmald F]DC l ia

    igvlngmar.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    66/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    67/210

    Kgjxg ml [lcla8 cjst@ax ml [lcla ijkg

    A kadpailitl 3f8slclktAilCjst`ax9rlimlrjzg ud Cjst@ax kaitlima udg cjstg ml apls

    pgrg slcla, qul pamlr slr v jikucgmg g udg praprjlmgml ml ud Dgignlm @lgi. Lcl

    rlimlrjzg ud kadpailitl 3slclkt9ma F]DC kad gtr j`uta sjzl jnugc ga idlra ml apls

    sld a gtrj`uta ductjpcl. G tg`lcg ;.7; gprlslitg slus prjikjpgjs gtrj`utas.

    Gtrj`uta Mlskrja

    jm jmlitjejkgmar ma kadpailitl

    vgcul vgcar ma kadpailitl, paml cjngr g udg praprjlmgml ml ud D@[jzl Wugitjmgml ml lcldlitas g slrld dastrgmas, sl ia ear lsplkje jkgma, tamas slra (jnugc

    ga idlra ml apls). [l fauvlr ilklssjmgml, ud skracc`gr dastrgma

    rlgmaicy trul/egcsl sadlitl cljturg

    mjsg`clm trul/egcsl lcldlita mlsg`jcjtgma (ia rlkl`l eaka)

    tjtcl taac tjp tlxt

    stycl lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmas kada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    ]g`lcg ;.7;Gtrj`utas ml3f8slclktAil

    Cjst`ax9.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    68/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    69/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    70/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    71/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    72/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    73/210

    Kgptuca;-H[EKadpailitlsvjsugjs

    Grdgzligr [trjin x A`hlta

    Ia lxldpca gitlrjar a lstgma lskacfjma sltgma ia D@ plcg sug sjncg, dgs passvlc

    tgd`d grdgzligr mjrltgdlitl a a`hlta ma tjpa Lstgma slclkjaigma. Rgrg jssa ilklssrja

    ud Kaivlrsar Kustadjzgma qul leltug mugs aplrgls `sjkgs8

    7 Kaivlrtl [trjin (mg rlqujsja) pgrg A`hlta?

    7 Kaivlrtl A`hlta pgrg [trjin (pgrg rlspastg).

    Lssls kaivlrsls slra vjstgs euturgdlitl.

    [lcla ijkg x [lcla Dctjpcg

    As kadpailitls ml slcla tgd`d pamld slr mjv jmjmas igqulcls qul plrdjtld slcla

    ijkg l slcla dctjpcg, kada dastrg g tg`lcg ;.75.

    [lcla ijkg [lcla Dctjpcg

    3f8slclkt@aacgiKflko`ax9 V

    3f8slclktDgiyKflko`ax9 V

    3f8slclktAilPgmja9 V

    3f8slclktAilDliu9 V

    3f8slclktAilCjst`ax9 V

    3f8slclktDgiyCjst`ax9 V

    3f8slclktDgiyDliu9 V

    As kadpailitls ml slcla ijkg prlkjsgd cjngr slu gtrj`uta vgcul g sadlitl ud lcldlita

    ia Dgignlm @lgi, par lxldpca, ia VF]DC8

    3f8slclktAilPgmja jm4slxavgcul4#{[email protected]}

    cgyaut4pgnlMjrlktjai9

    3e8slclktJtld jm4D jtldCg`lc4Dgskucjia

    jtldUgcul4D /9

    3e8slclktJtld jm4E jtldCg`lc4Eldjijia

    jtldUgcul4E /9

    3/f8slclktAilPgmja9

    L ia D@8

    BIgdlm(vgcul 4 lxldpcaD@)

    BPlqulst[kaplmpu`cjk kcgss LxldpcaD@ {

    prjvgtl [trjin slxa?

    // slttlrs/nlttlrs

    }

    ]g`lcg ;.75[lcla ijkg x

    [lcla Dctjpcg..

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    74/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    75/210

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    76/210

    52

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Kgmg udg mlstgs vgrjgitls ml `atls l cjios slr lxpcargmg ld dgjar mltgcfl g slnujr.

    @ata ml Ga 3f8kaddgim@uttai9

    A kadpailitl 3f8kaddgim@uttai9 ud `ata kad ga ml su`djssa, pgrg ud eardu-

    crja vjg RA[]. Lcl rlimlrjzg ud 3jiput typl4su`djt /9.G tg`lcg ;7> gprlslitg slus

    prjikjpgjs gtrj`utas.

    Gtrj`utas Mlskrja

    vgcul Kaitd a tlxta ma ata

    gktjai Kaitd a dtama ma D@ g slr jivakgma. Lxldpca8 #{d`.gkga}

    gktjaiCjstlilr Kaitd a dtama ml ud GktjaiCjstlilr, qul slr jivakgma qugima a `ata ear prlssja-igma. Lxldpca8 #{d`.gkgaCjstlilr}

    typl A tjpa ma ata rlimlrjzgma (su`djt/`uttai/rlslt) . Rar mleguct , nlrg ud ata ma tjpasu`djt

    jdgnl G \PC au kgdjifa mg jdgnld qul slr rlimlrjzgmg kada ud `ata ml su`djt (rlimlrjzg

    ud 3jiput typl4jdgnl srk4... /9)mjsg`clm (trul/egcsl) [l a ata lstgr mlsg`jcjtgma

    stycl Lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss Cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmas kada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    G nurg g slnujr dastrg kada ud 3f8kaddgim@uttai9 lskrjta ld H[E, kada rlimlrjzgma

    ld F]DC l kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8kaddgim@uttai gktjai4#{[email protected]@atga}

    vgcul4@ata ml Kadgima /9

    Plimlrjzgma ld F]DC

    3jiput typl4su`djt igdl4hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    77/210

    57

    Kgptuca=-H[EKadpailitlsvjsugjs

    Gtrj`utas Mlskrja

    typl ]jpa ma rlkursa ma cjio. Lxldpca8 styclsfllt

    mjsg`clm (trul/egcsl) [l a ata lstgr mlsg`jcjtgma

    stycl Lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss Cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmaskada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    G nurg g slnujr dastrg kada ud3f8kaddgimCjio9 lskrjta ld H[E, kada rlimlrjzgma ld

    F]DC l kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8kaddgimCjio gktjai4#{[email protected]}

    vgcul4Cjio ml Kadgima/9

    Plimlrjzgma ld F]DC

    3skrjpt typl4tlxt/hgvgskrjpt srk4/@atalsCjios/egkls/hgvgx.egkls.rlsaurkl/hse.

    hs1ci4hgvgx.egkls&gdp?stgnl4Mlvlcapdlit9

    3/skrjpt9

    3g frle4# aikcjko4dahgrrg.hsekchs(makudlit.nltLcldlit@yJm(hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    78/210

    50

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Kmjna ld H[E

    3f8`uttai autkadl4tlstl vgcul4@ata/9

    Plimlrjzgma ld F]DC

    3jiput typl4`uttai aikcjko4wjimaw.cakgtjai.frle4/@atalsCjios/egkls/tlstl.

    xftdc? rlturi egcsl? vgcul4@ata /9

    @ata

    Cjio 3f8cjio9

    A kadpailitl3f8cjio9 ud cjio qul mjrlkjaig pgrg udg pnjig mg gpcjkga. Lcl rlimlrjzg

    ud 3g frle49l slu rlmjrlkjaigdlita ud dtama NL]. G tg`lcg =.< gprlslitg slus

    prjikjpgjs gtrj`utas.

    Gtrj`utas Mlskrja

    vgcul Kaitd a tlxta ma ata

    autkadl A iadl mg pnjig (sld .xftdc) pgrg gaiml g gpcjkga slr mjrlkjaigmg

    mjsg`clm (trul/egcsl) [l a ata lstgr mlsg`jcjtgma

    stycl Lstjcas K[[ gpcjkgmas ga kadpailitl

    styclKcgss Cjstg ml kcgssls ml K[[ gpcjkgmas ga kadpailitl (rlimlrjzgmas kada gtrj`uta kcgss)

    Lvlitas ma MAD aieakus, aikcjko ltk.

    G nurg =.= dastrg kada ud 3f8cjio9 lskrjta ld H[E, kada rlimlrjzgma ld F]DC l

    kada gprlslitgma ia igvlngmar.

    Kmjna ld H[E

    3f8cjio autkadl4tlstl vgcul4Cjio/9

    Plimlrjzgma ld F]DC

    3g frle4/@atalsCjios/egkls/tlstl.xftdc9Cjio3/g9

    Cjio

    Cjio Lxtlria8 3f8autputCjio9

    A kadpailitl 3f8autputCjio9 ud cjio qul mjrlkjaig pgrg udg pnjig lxtlrig gpcjkga,

    ia H[E. Lcl rlimlrjzg ud 3g frle49, l slu rlmjrlkjaigdlita ud dtama NL]. A tlxta ma

    cjio mlvl slr kacakgma mlitra ma autputCjio. G tg`lcg =.5 gprlslitg slus prjikjpgjs gtrj`utas.

    Ejnurg =.;3f8`uttai9 H[E,F]DC l jdgnldrlimlrjzgmg.

    ]g`lcg =.3f8autputEardgtt9 H[E, F]DC l tlxta

    rlimlrjzgma.

    ]g`lcg =.6Gtrj`utas ml

    3f8nrgpfjkJdgnl9.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    82/210

    55

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    A kmjna g slnujr dastrg kada a 3f8nrgpfjkJdgnl9 gprlslitgma.

    Kmjna ld H[E

    3f8nrgpfjkJdgnl vgcul4fttp8//maks.argkcl.kad/hgvgll/5/tutarjgc/mak/nrgpfjks/

    hgvgcana.pin /9

    Plimlrjzgma ld F]DC

    3jdn srk4fttp8//maks.argkcl.kad/hgvgll/5/tutarjgc/mak/nrgpfjks/hgvgcana.pin /9

    @j`cjatlkg ml rlkursas

    Gs jdgnlis pamld lstgr grdgzligmgs ld mjrltrjas lsplkkas kfgdgmas ml j`cjatlkgs.

    \dg j`cjatlkg ml jdgnlis mlvl slr ud su`mjrltrja mlitra ma mjrltrja /rlsaurkls, qul sl

    sjtug ig rgjz mg gpcjkga. Rgrg gmjkjaigr udg jdgnld ml udg j`cjatlkg, usg-sl a gtrj`uta

    cj`rgry l a iadl mg jdgnld mlvl slr kainurgma kad a gtrj`uta igdl. Rar lxldpca8

    3f8nrgpfjkJdgnl cj`rgry4eatas igdl4eata.hpn /9

    Ia lxldpca, g jdgnld eata.hpn a`tjmg ml mlitra mg j`cjatlkg eatas (mjrltrja /rlsaurkls/

    eatas). G nurg = .: dastrg kada udg `j`cjatlkg ml jdgnlis kg ia sjstldg ml grqujvas.

    Ia kgsa, dastrgma a mjrltrja ma prahlta ma Ilt`lgis. G j`cjatlkg sl kfgdg tldg7 l g

    jdgnld jdn/tux.hpn, l pamlrjg slr kgrrlngmg kad a slnujitl kadgima8

    3f8nrgpfjkJdgnl cj`rgry4tldg7 igdl4jdn/tux.hpn /9

    Ejnurg =.63f8nrgpfjkJdgnl9 H[E, F]DC l tlxtarlimlrjzgma.

    Ejnurg =.:@j`cjatlkg mlJdgnlis.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    83/210

    5>

    Kgptuca=-H[EKadpailitlsvjsugjs

    G lstruturg ml `j`cjatlkgs tgd`d paml slr usgmg pgrg kgrrlngr [krjpts plrsaigcjzgmas l

    lstjcas K[[, usgima-sl gs tgns 3f8autput[krjpt9l 3f8autput[tyclsfllt9, rlsplktjvgdlitl,

    mlsml qul mlitra ma mjrltrja tldg7 slhgd krjgmas as mjrltrjas hs l kss. [lnul ud lxldpca8

    3f8autput[krjpt cj`rgry4tldg7 igdl4hs/euik.hs /9

    3f8autput[tyclsfllt cj`rgry4tldg7

    igdl4kss/lstjca.kss /9

    Ulrsjaigdlita ml Plkursas

    passvlc grdgzligr mjelrlitls vlrsls ml `j`cjatlkgs gtrgvs ml ud pgmra iudrjka ld

    majs ivljs ia eardgta MJNJ]A[QMJNJ]A[, kaieardl a slnujitl lxldpca8

    7Q2 au 0Q7

    A H[E sldprl rlelrlikjg g vlrsa dgjs gtugc (dgjar) pgrg gklssgr as rlkursas. Lssl vlrsjaig-

    dlita apkjaigc, gstgima adjtj-ca, kada ia lxldpca gitlrjar (tldg7). Ig jdgnld g slnujr

    tldas g j`cjatlkg mleguct (vlrsls 7Q2 l 0Q2) l tldg7 (sld vlrsjaigdlita).

    qRgrg gklssgr g `j`cjatlkg ml iadl mleguct, usgdas87 3f8nrgpfjkJdgnl cj`rgry4mleguct igdl4jdn/tux.pin /9

    7 As rlkursas mg vlrsa 0Q2 slra dastrgmas?

    7 Ia passvlc lskacflr g vlrsa mas rlkursas g slr utjcjzgma, slima qul a H[E sldprlutjcjzg g ctjdg vlrsa.

    Ejnurg =.72@j`cjatlkg mlJdgnlis kad

    vlrsls.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    84/210

    56

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Hgvg[krjpt l K[[

    [krjpts ld Hgvg[krjpt l K[[ gmjkjaigjs (cljgutls) pamld slr gmjkjaigmas usgima gs tgns

    kaduis8 3skrjpt9l 3cjio9. A jmlgc usgr a dlkgijsda ml `j`cjatlkgs (a dlsda dastrgma

    pgrg jdgnlis) l, ilstl kgsa, usgdas gs slnujitls tgns ma H[E8

    q3f8autput[krjpt98 jikcuj ud H[ l usg a dlsda lsquldg ml `j`cjatlkgs87 Gtrj`uta igdl8 iadl ma skrjpt slima gmjkjaigma?7 Gtrj`uta cj`rgry8 iadl mg `j`cjatlkg (su`mjrltrja) aiml a skrjpt sl likaitrg?

    7 Gtrj`uta tgrnlt8 aiml a skrjpt mlvl slr kacakgma8 flgm au `amy.

    3f8autput[tycl[fllt98 jikcuj ud K[[, usg a dlsda lsquldg ml `j`cjatlkgs8

    7 Gtrj`uta igdl8 iadl ma K[[ slima gmjkjaigma?

    7 Gtrj`uta cj`rgry8 iadl mg `j`cjatlkg (su`mjrltrja) aiml a K[[ sl likaitrg.

    Rar lxldpca8

    3f8autput[krjpt igdl4tlstl.hs cj`rgry4hs

    tgrnlt4flgm /93f8autput[tycl[fllt igdl4lstjca.kss

    cj`rgry4kss /9

    Gtrj`uta Plimlrlm

    ]amas as kadpailitls vjsugjs ma H[E passuld a gtrj`uta aaclgia rlimlrlm. [lu a`hltjva

    egzlr g rlimlrjzga kaimjkjaigc, jsta , sl a slu vgcar ear vlrmgmljra (trul), a kadpailitl

    dastrgma? kgsa kaitrrja, ia dastrgma. Jssa lvjtg g pracjelrga ml kadgimas kaimjkja-

    igjs, kaduis ia mlslivacvjdlita kad H[]C.

    q]amas as kadpailitls ma H[E passuld a gtrj`uta `aaclgia rlimlrlm87 \sgma pgrg mjzlr sl a kadpailitl mlvl au ia slr gprlslitgma ig egsl ml

    Plimlr Plspaisl?

    7 [lu vgcar mleguct trul.

    Lxldpca8

    3f8autputEardgt vgcul4Gcuia8 {2} Dmjg8 {7}

    rlimlrlm4#{[email protected]}9

    3e8pgrgd vgcul4#{[email protected]} /9

    3e8pgrgd vgcul4#{[email protected]} /9

    3/f8autputEardgt9

    Mlitra ma gtrj`uta rlimlrlm, tgd`d pamldas kacakgr udg lxprlssa kadpclxg, parlxldpca, qulrldas dastrgr ud mltlrdjigma 3f8autput]lxt9 kgsa8

    ([email protected] 94 >.2 l [email protected]) au ([email protected] 3 >.2)

    Gssjd, paml-sl lskrlvlr8

    3f8autput]lxt vgcul4Aj

    rlimlrlm4#{([email protected] nl >.2 gim [email protected]) ar [email protected] ct

    >.2} /9

    As kmjnas g slnujr dastrgd ud lxldpca pgrg tlstgr a gtrj`uta rlimlrlm.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    85/210

    5:

    Kgptuca=-H[EKadpailitlsvjsugjs

    3f8autput]lxt vgcul4Aj

    rlimlrlm4#{([email protected] nl >.2 gim [email protected]) ar

    ([email protected] ct >.2)} /9

    3f8eard9

    Dlmjg8 3f8jiput]lxt vgcul4#{[email protected]} /9 3`r/9

    3f8slclkt@aaclgiKflko`ax vgcul4#{[email protected]} /9 Dastrgr1 3`r/9

    3f8kaddgim@uttai vgcul4AO /93/f8eard9

    BIgdlm(vgcul 4 gcuiaD@)

    BPlqulst[kaplm

    pu`cjk kcgss GcuiaD@ {

    prjvgtl `aaclgi dastrgrGcuia 4 egcsl?

    prjvgtl mau`cl dlmjg 4 2.2?

    // slttlrs/nlttlrs

    }

    Kadpailitls ml arngijzga

    Rgrg kadpasja ml Nrjms usgima as kadpailitls vjsugjs, pamldas usgr majs kadpa-

    ilitls ml arngijzga8

    q7 3f8pgilcNrjm98arngijzg as lcldlitas ld udg nrgml au tg`lcg. Gtr j`uta kacudis8 slkacakg g qugitjmgml ml kacuigs ig tg`lcg, kgmg kadpailitl ma H[E slr kacakgma ld

    udg kacuig. Plimlrjzg udg tg`lcg kad as lcldlitas mlitra?

    7 3f8pgilcNraup98plrdjtl qul vrjas kadpailitls slhgd trgtgmas vjsugcdlitl kadaud s, ig tg`lcg.

    A kmjna g slnujr dastrg kada ud 3f8pgilcNrjm9 gprlslitgma.

    Kmjna ld H[E

    3f8pgilcNrjm kacudis409

    3f8autputCg`lc vgcul4Iadl8 ear4iadl /9

    3f8jiput]lxt vgcul4Haa jm4iadl/9

    3f8autputCg`lc vgcul4Jmgml8 ear4jmgml /9

    3f8jiput]lxt vgcul476 jm4jmgml/9

    3/f8pgilcNrjm9

    Plimlrjzgma ld F]DC

    3tg`cl93t`amy9

    3tr93tm93cg`lc ear4iadl9Iadl8 3/cg`lc93/tm9

    3tm93jiput jm4iadl typl4tlxt igdl4iadl vgcul4Haa /93/tm93/tr9

    3tr93tm93cg`lc ear4jmgml9Jmgml8 3/cg`lc93/tm9

    3tm93jiput jm4jmgml typl4tlxt igdl4jmgml vgcul476 /93/tm93/tr9

    3/t`amy93/tg`cl9

    Ejnurg =.773f8pgilcNrjm9

    H[E, F]DC l tlx tarlimlrjzgma.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    86/210

    >2

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    A kmjna g slnujr dastrg ud lxldpca ml 3f8pgilcNraup9.

    3f8pgilcNrjm kacudis409

    3f8autputCg`lc vgcul4Iadl8 ear4iadl /9

    3f8jiput]lxt vgcul4#{[email protected]} jm4iadl /9

    3f8pgilcNraup9

    3f8slclkt@aaclgiKflko`ax /9

    3f8autputCg`lc vgcul4Jmgml8 ear4jmgml /9 3/f8pgilcNraup9

    3f8jiput]lxt vgcul4#{[email protected]} jm4jmgml /9

    3f8kaddgim@uttai vgcul4Livjgr /9

    3/f8pgilcNrjm9

    G slnujr, dastrgma kada a 3f8pgilcNraup9 rlimlrjzgma. [ug euia jislrjr tamas as

    kadpailitls ia dlsda 3tm9mg tg`lcg nlrgmg plca 3f8pgilcNrjm9.

    3tg`cl9

    3t`amy9

    3tr9

    3tm93cg`lc ear4hQjmt

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    87/210

    >7

    Kgptuca=-H[EKadpailitlsvjsugjs

    As kmjnas g slnujr dastrgd ud lxldpca ml 3f8mgtg]g`cl9l kada g tg`lcg rlimlrjzgmg

    ld F]DC. G nurg =.7; dastrg kada gprlslitgmg ia igvlngmar.

    Jimlx.xftdc

    3f8mgtg]g`cl vgcul4#{[email protected]} vgr4gcuia9

    3f8kacudi9

    #{gcuia.iadl}

    3/f8kacudi9

    3f8kacudi9

    #{gcuia.jmgml}

    3/f8kacudi9

    3f8kacudi9

    #{gcuia.ldgjc}

    3/f8kacudi9

    3/f8mgtg]g`cl9

    Dgignlm @lgi

    BIgdlm(vgcul 4 gcuiaD@)

    BPlqulst[kaplm

    pu`cjk kcgss GcuiaD@ {

    prjvgtl Cjst3Gcuia9 gcuias?

    BRastKaistrukt

    pu`cjk vajm jijt() {

    gcuias 4 ilw GrrgyCjst3Gcuia9()?

    Gcuia g 4 ilw Gcuia()?

    g.sltIadl(Haa)?

    g.sltJmgml(76)?

    g.sltLdgjc(hagaBhaga.kad)? gcuias.gmm(g)?

    g 4 ilw Gcuia()?

    g.sltIadl(Dgrjg)?

    g.sltJmgml(02)?

    g.sltLdgjc(dgrjgBdgrjg.kad)?

    gcuias.gmm(g)?

    }

    // slttlrs/nlttlrs

    }

    @lgi Gcuia

    pu`cjk kcgss Gcuia {

    prjvgtl [trjin iadl?

    prjvgtl jit jmgml?

    prjvgtl [trjin ldgjc?

    //slttlrs/nlttlrs

    }

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    88/210

    >0

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Plimlrjzgma ld F]DC

    3tg`cl9

    3t`amy9

    3tr9

    3tm9Haa3/tm9

    3tm9763/tm9

    3tm9hagaBhaga.kad3/tm9 3/tr9

    3tr9

    3tm9Dgrjg3/tm9

    3tm9023/tm9

    3tm9dgrjgBdgrjg.kad3/tm9

    3/tr9

    3/t`amy9

    3/tg`cl9

    Haa 76 hagaBhaga.kadDgrjg 02 dgrjgBdgrjg.kad

    Rgrg krjgr kg`lgcfas l ramgps ig tg`lcg au kacuig usgdas g tgn mg `j`cjatlkg karl

    3e8egklt9. A slu gtrj`uta igdl mltlrdjig a t jpa l, pgrg tg`lcgs, tldas majs8 flgmlr au

    eaatlr. As kmjnas g slnujr dastrgd ud lxldpca ml tg`lcg kad kg`lgcfas l ramgps, l

    kada g rlimlrjzga kg ld F]DC. G nurg = .7=dastrg kada gprlslitgma ia igvlngmar.

    3f8mgtg]g`cl vgcul4#{[email protected]} vgr4gcuia `armlr479

    3e8egklt igdl4flgmlr9Cjstg ml Gcuias3/e8egklt9

    3f8kacudi9

    3e8egklt igdl4flgmlr9Iadl3/e8egklt9 3e8egklt igdl4eaatlr9x3/e8egklt9

    #{gcuia.iadl}

    3/f8kacudi9

    3f8kacudi9

    3e8egklt igdl4flgmlr9Jmgml3/e8egklt9

    #{gcuia.jmgml}

    3/f8kacudi9

    3f8kacudi9

    3e8egklt igdl4flgmlr9L-dgjc3/e8egklt9

    #{gcuia.ldgjc}

    3/f8kacudi9 3e8egklt igdl4eaatlr9Ejd mg Cjstg3/e8egklt9

    3/f8mgtg]g`cl9

    Ejnurg = .7;Gprlslitgamg tg`lcg iaigvlngmar.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    89/210

    >;

    Kgptuca=-H[EKadpailitlsvjsugjs

    Plimlrjzgma ld F]DC

    3tg`cl `armlr479

    3tflgm9

    3tr93tf kacspgi4; skapl4kacnraup9Cjstg ml Gcuias3/tf93/tr9

    3tr9 3tf skapl4kac9Iadl3/tf93tf skapl4kac9Jmgml3/tf9

    3tf skapl4kac9L-dgjc3/tf9 3/tr9

    3/tflgm93teaat9

    3tr9 3tm9x3/tm9 3tm93/tm9 3tm93/tm9 3/tr9

    3tr93tm kacspgi4;9Ejd mg Cjstg3/tm93/tr9

    3/teaat9

    3t`amy9

    3tr9 3tm9 Haa 3/tm9 3tm9 76 3/tm9 3tm9 hagaBhaga.kad 3/tm9

    3/tr9

    3tr9 3tm9 Dgrjg 3/tm9 3tm9 02 3/tm9 3tm9 dgrjgBdgrjg.kad 3/tm9

    3/tr9

    3/t`amy9

    3/tg`cl9

    Cjstg ml Gcuias

    Iadl Jmgml ldgjc

    Haa 76 hagaBhaga.kad

    Dgrjg 02 dgrjgBdgrjg.kad

    V

    Ejd mg cjstg

    Dlisgnlis

    Raml-sl gmjkjaigr dlisgnlis ia praklssgdlita ml udg rlqujsja pgrg qul slhgd das-

    trgmgs ig prxjdg pnjig g slr lxj`jmg (rlspastg). A kmjna g slnujr dastrg kada gmjkjaigr

    udg dlisgnld mlitra ml ud Dgignlm @lgi8

    EgklsDlssgnl dlisgnld 4 ilw EgklsDlssgnl(

    Gcuia Pldavjma)?

    dlisgnld.slt[lvlrjty(EgklsDlssgnl.[LULPJ]ZQLPPAP)?

    EgklsKaitlxt.nltKurrlitJistgikl().gmmDlssgnl(

    iucc, dlisgnld)?

    qA dtama gmmDlssgnl(), qul egz g gmja mg dlisgnld, tld majs pgrdltras87 [trjin8 ia lxldpca lst slima pgssgma iucc. a JM ma kadpailitl usgima-sl g

    sjitgxl ml earducrja8 eardJm8kadpailitJm?

    7 EgklsDlssgnl8 g dlisgnld praprjgdlitl mjtg.

    Ld ud VF]DC, pgrg dastrgr Dlisgnlis, usgdas8

    3f8dlssgnls /9

    Ejnurg = .7=Gprlslitga

    ia igvlngmar mludg tg`lcg kad

    kg`lgcfas lramgps.

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    90/210

    >=

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    G kcgssl EgklsDlssgnl g qul rlprlslitg udg dlisgnld g slr dastrgmg l passuj majs

    kaistrutarls tljs l ud dtama pgrg mlijr g slvlrjmgml mg dlisgnld. [a lcls8

    q7 EgklsDlssgnl([trjin rlsuda)8 krjg ud EgklsDlssgnl kad udg dlisgnld rlsudjmg?7 EgklsDlssgnl([trjin rlsuda, [trjin mltgcfls)8 krjg ud EgklsDlssgnl kad udg dli-

    sgnld rlsudjmg l kad udg dlisgnld mltgcfgmg?

    7slt[lvlrjty(EgklsDlssgnl.[lvlrjty)8 kainurg g slvlrjmgml mg dlisgnld, qul paml slr8

    0 EgklsDlssgnl.[LULPJ]ZQJIEA

    0 EgklsDlssgnl.[LULPJ]ZQ^GPI

    0 EgklsDlssgnl.[LULPJ]ZQLPPA

    0 EgklsDlssgnl.[LULPJ]ZQEG]GC

    G tgn 3f8dlssgnls/9passuj as slnujitls gtrj`utas prjikjpgjs8

    q7 sfawMltgjc8 trul/egcsl, sl mlvl au ia dastrgr as mltgcfls mg dlisgnld. Mleguct egcsl?7 sfaw[uddgry8 trul/egcsl, sl mlvl au ia dastrgr g dlisgnld rlsudjmg. Mleguct trul?

    7 stycl, styclKcgss, lrrarKcgss, lrrar[tycl, egtgcKcgss, egtgc[tycl, jieaKcgss, jiea[tycl,wgriKcgss, wgri[tycl8 pgrg mlijr g kcgssl K[[ ml gprlslitga mg dlisgnld, ld

    kgmg udg mgs slvlrjmgmls.

    As kmjnas g slnujr dastrgd a VF]DC lxldpca l a Dgignlm @lgi lxldpca ml usa

    ml dlisgnlis.

    VF]DC

    Gquj gpgrlkl g dlisgnld8

    3f8dlssgnls stycl4kacar8 rlm sfawMltgjc4trul/9

    3f8eard9

    3f8kaddgim@uttai gktjai4#{[email protected]}

    vgcul4Dlisgnld/9

    3/f8eard9

    Dgignlm @lgi

    BIgdlm(vgcul 4 dlisgnldD@)

    BPlqulst[kaplm

    pu`cjk kcgss DlisgnldD@ {

    pu`cjk DlisgnldD@() {

    }

    pu`cjk vajm krjgrDlisgnld() {

    EgklsDlssgnl dlisgnld 4 ilw EgklsDlssgnl(Gcuia Pldavjma, A gcuia eajrldavjma kad suklssa)?

    dlisgnld.slt[lvlrjty(EgklsDlssgnl.[LULPJ]ZQLPPAP)?

    EgklsKaitlxt.nltKurrlitJistgikl().gmmDlssgnl(

    iucc, dlisgnld)?

    }

    }

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    91/210

    >5

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    93/210

    >>

    Kgptuca:

    Kgptuca6>6>.

    Iardgc8 722.6>6>6>6>

    Kaivlrtjma8 722,66

    722,6>66

    Gctlrgr

    Iardgc8 722.6>6>6>6>Kaivlrtjma8 P$ 722,66

    P$ 722,66

    Gctlrgr

    Ia prjdljra lxldpca, a vgcar kaivlrtjma kad majs mnjtas gps g vrnucg ia tlx ta l kad

    qugtra mnjtas ia kadpailitl ml litrgmg ml mgmas. Ia slnuima lxldpca, a vgcar eaj

    kaivlrtjma pgrg kurrliky l, partgita, mlvl kaitlr g sjncg mg dalmg ma pgs karrlitl ia

    igvlngmar (ia kgsa, P$).

    Kaivlrsa ml mgtgs au fargs

    G tg`lcg =.0 dastrg as gtrj`utas mg tgn 3e8kaivlrtMgtl]jdl9.

    Gtrj`uta Mlskrja

    pgttlri Rgmra pgrg gprlslitga mg mgtg (mlejijma ld [jdpclMgtlEardgt) (lxldpca8 mm/DD/yyyy)

    typl Rgrg lsplkjejkgr sl g mgtg, g farg au as majs slra gprlslitgmas (mgtl (mleguct), tjdl, `atf)

    mgtl[tycl Lstjca mg mgtg g slr gprlslitgmg (mleguct, sfart, dlmjud, cain, eucc)

    tjdl[tycl Lstjca ml gprlslitga mg farg (mleguct, sfart, dlmjud, cain, eucc), sadlitl sl typl ear tjdl au `atf

    Cakgcl Rrlelrikjgs rlnjaigjs (ma cakgc) g slrld utjcjzgmgs igs kaivlrsls. (lxldpca8 ptQ@P)

    As kmjnas g slnujr dastrgd ud lxldpca ml usa mg kaivlrsa ml mgtg au farg.

    jimlx.xftdc

    Iardgc8 3f8autput]lxt vgcul4#{[email protected]} /93`r/9

    Rgmra mm.DD.yy8 3f8autput]lxt vgcul4#{[email protected]} 9

    3e8kaivlrtMgtl]jdl pgttlri4mm.DD.yy /9

    3/f8autput]lxt93`r/9

    Lstjca Cain8 3f8autput]lxt vgcul4#{[email protected]} 9

    3e8kaivlrtMgtl]jdl mgtl[tycl4cain /9

    Ejnurg

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    99/210

    6;

    Kgptuca

    Kgptuca>-Fj`lrigtl

    pgkognl damlc?

    jdpart hgvgx.plrsjstlikl.Litjty?

    jdpart hgvgx.plrsjstlikl.]g`cl?

    jdpart hgvgx.plrsjstlikl.NlilrgtlmUgcul?

    jdpart hgvgx.plrsjstlikl.Nlilrgtjai]ypl?

    jdpart hgvgx.plrsjstlikl.Jm?

    jdpart hgvgx.plrsjstlikl.[lquliklNlilrgtar?

    BLitjty

    B]g`cl(igdl4t`Qtlstl)

    B[lquliklNlilrgtar(igdl4slqulikjg, slquliklIgdl4slqQjm)

    pu`cjk kcgss Rlssag {

    prjvgtl Cain jm?

    prjvgtl [trjin iadl?

    pu`cjk Rlssag() {

    }

    BJm

    BNlilrgtlmUgcul(strgtlny4Nlilrgtjai]ypl.[LW\LIKL, nlilrgtar4slqulikjg)

    pu`cjk Cain nltJm() {

    rlturi tfjs.jm?

    }

    pu`cjk vajm sltJm(Cain jm) {

    tfjs.jm 4 jm?

    }

    pu`cjk [trjin nltIadl() {

    rlturi tfjs.iadl?

    }

    pu`cjk vajm sltIadl([trjin iadl) {

    tfjs.iadl 4 iadl? }

    }

    jdpart arn.fj`lrigtl.[lssjai?

    jdpart damlc.Rlssag?

    jdpart utjc.Fj`lrigtl\tjc?

    pu`cjk kcgss ]lstl {

    pu`cjk stgtjk vajm dgji([trjin_T grns) {

    Rlssag p 4 ilw Rlssag()?

    p.sltIadl(Haa)?

    [lssjai slssjai 4 Fj`lrigtl\tjc.

    nlt[lssjaiEgktary().

    apli[lssjai()?

    slssjai.`lnji]rgisgktjai()?

    slssjai.sgvl(p)?

    slssjai.nlt]rgisgktjai().kaddjt()?

    [ystld.aut.prjitci(p.nltIadl() +

    Jislrjma kad suklssa.)?

    }

    }

  • 7/26/2019 Java Frameworks e Aplicaes Corporativas

    144/210

    706

    HGUGErgdlwaroslGpcjkglsKarpargtjvgs

    Kcgssl plrsjstlitl

    \dg kcgssl plrsjstlitl mlvl slr giatgmg pgrg qul slhg mlvjmgdlitl utjcjzgmg plca Fj`lrigtl.

    qGs prjikjpgjs giatgls sa87 BLitjty8 jimjkg qul plrsjstlitl?

    7 BJm8 jimjkg qul udg praprjlmgml Rrjdgry Oly?

    7 B]g`cl8 jimjkg g tg`lcg karrlspaimlitl?

    7 B[lquliklNlilrgtar/BNlilrgtlmUgcul8 jimjkgd gtrj`utas gutajikrldlitvljs.[lra vjstas ld sla lsplkkg ia mlkarrlr ma dgtlrjgc.

    A kmjna g slnujr jdpcldlitg g kcgssl plrsjstlitl Gcuia.hgvg.

    BLitjty

    B]g`cl (igdl4t`Qgcuia)

    B[lquliklNlilrgtar(igdl4slqulikjg, slquliklIgdl4slqQjm)