Java Frameworks e Aplicações Corporativas
-
Upload
escola-superior-de-redes -
Category
Documents
-
view
233 -
download
0
Transcript of Java Frameworks e Aplicações Corporativas
-
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)