Oracle Application Server 10g Oracle Developer Suite 10g
of 44
/44
Embed Size (px)
Transcript of Oracle Application Server 10g Oracle Developer Suite 10g
Microsoft PowerPoint - TopLink_Overview.ppt
- Java !"#$%&'() *+,
Client
TopLink
Oracle Application Server TopLinkJava DB J2EE !"#$%&'DB ()*+,-./0123.4TopLink567893:;<=%>?78
[email protected]
- GHI.JKLMNO
5YZ [ P – \] R ^_
`a+ –(bcdeSQLPfghij klm7[n
Java 3DB OP7QR4JDBCST,UV W 7QR94XYZ [\567QR2]^._^
JDBCST,UV W7QR`abc'd6ef" JDBC,UV
[email protected]'3hi,UV W./03_7jk4lmn ()!" #"()CDE4o pq rse4jBNt uM -vw3#"AB x.0yef7z{4OPQR|}./0^
JDBC,UV W`~()CDEe7jk4XYZ 56 7/0._^ 9EJB pVpVBean4JDOJava Data Objectsx K [\x._^48fJava -gXYZ
4gXMx9f
8fXYZ 4,-KAB 4LBME x 27/0._^
6
TopLink
Java !"#$%&
- 5YZ [ P}6,-z
- GUI
TopLink¡¢<=XYZ [\4Java -gXM9£¤¥¦f $^JDBC,UV W789DBUL 356K"§ ¨©efj -9ª?4j -«¬j®¯DB°±e
789.²^
O³vw9TopLink´7Java uuMu3_7jk/µa ¶·¸3Te7/0_^¹ ´º3O³²Java a 56²34jJ2EE, pq»¦3+Tomcat<=·X¼-¶, pqa56
[email protected]
7
TopLink
- 1997"Java P
- 2002"'(\ -or !
TopLink2002½WebGain¾()tYa¿kÀu N¾.ª?j Java
ÁÂû¦3aÄ7½^4*+OÅÆ"
ÇÈu N9TopLink 10g9.0.4.ÉÊ9^
8
Agenda
TopLink89
Mapping Workbench Sessions Editor
• Mapping Workbench23"#O-RFG
• Sessions Editor23"#FG
U.V&7456
11
O-R
&'( )*+,-./01)*23 )*4 56789:+, ;<)*=>?/[email protected]%$8AB=>CD/)*EFGHI8+,DB
1JK1 )*89:+,LM88M8N1JKCDA !"#O [email protected]%V1$8 !"#1WU DBABXYZ/+,[1\]^1)*
EFGHI=>$[_`[email protected]%
FGHIDB+,p8qUYUrs^1t.$% u DB8v
wxy$aQ JavaEFGHIz?/+,{=_`[email protected]%
DB81 1<8L1<81 !W.a|a[
8AB p8}5DB8~[8q vw;<8
aMW.1a[[email protected]%[email protected]
[email protected]%
<project-name>OrderProject</project-name> .... <descriptors>
<database-mapping> <attribute-name>custId</attribute-name> <read-only>false</read-only> <field-name>CUSTOMER.CUST_ID</field-name> ....
13
TopLink ! "#XML$%&'()*+,-./012$34
Sessions Editor GUI567./849 :;XML XML<=>78? @A6!41BC XMLDECF$G
14
-
-
- !"#$%&'
- ()
TopLink./9HIJ6CK6LH @*Foundation LibraryCAPI./ 8MNOP49Foundation LibraryCAPI./F*QRGSTJDBCC U6KV2WX8YZTU6[\]^_T`T-*aBJavabcde8fgSTh
CT-
15
HIJ6a)TopLinkCqrstH @*uvw xy !z{YZ$|-FC}xy !*XML
491BCa)~Bl4
HIJ6z{9}xy !v8K6LCz{}kl$ *+CCDBR:;JDBCU67*SQLC,O-R012i9x y !CDBCK6LCT}xy !,e848 +,-HIJ6DBK6Lxy !8Sz{}kl
F$G9z{4xy ![>} @9 @CI6 h494
*HIJ6CL>,e8.(9w`BaC$|- ThC C-
[ ]
¨hijST
[ ]
FC2BCDE >H!a)C©H @nA6!,mT3¡HIJ6 ./4n6ª6}«81B$* >H!} ¬ >H!1BuB®8) >H!}K6Lkl¯
8n6ª6}°±,mT²\xy !*n6ª6}a)4 n6ª6}R67}³´µ¶·
16
}0¸6´./8z{
K<¹7!C<=>7º»sessions.xml¼l9XML<=>7 @½@¾"
¿9ÀÁ*ÂC,mºÃ(z{F$G
17
totalCost += ((Order)orders.get(i)).getCost(); }
Customer Order
&$678!)*+)(91!:(;..Order<=>?'%
MNexecuteQueryAB(,-O
//Customer !"#$% Customer c =
-678
19
Customer Order
SELECT t3.ID, t3.FIRST_NAME, t3.LAST_NAME, t3.STREET, t3.CITY,
t3.STATE, t3.ZIP FROM CUSTOMER t3, ORD t2, ORD_ITEMS t1, PRODUCT t0
WHERE ((t0.PRODUCT_NAME = ‘’) AND ((t2.CUST_ID = t3.ID) AND
((t1.ORD_ID = t2.ID) AND (t0.ID = t1.PRODUCT_ID))))
SQL
SQL
21
" #$%&'()* $+,-./ 012
340 !25/ 6789:;)$<= >&' [email protected]:;)$BC(D 'E0 !DBB)& -89:
;)$FGH $IJ K-L !
22
33()45 633()45 633()45 633()45 6
7777,1,1,1,1
,-./&,-./&,-./&,-./&
!"#
$%& '()*+,-./
@ABC 8934*+,DEF !"38GHI*./
8GHI?&E !" 89#:;<089JK*LDEM NODB38G*./DB3SQLP, 3 QRSTUVW3XY*-Z[
3SQLP,\]=^S?&./_`a3DBb8G=>c*EFMNd
BC0 3e*./
!" f2,[ 3dBCghi>*+jk*./3l;<@ABC
mT3 nop;Cqrst3uv+Ewxyop;C3Z;<@ABC
oCzBCf2{,*+,[|#}~3*./
Customer custCopy = (Customer)uow.readObject(Customer.class, /*&'()**/);
0562%78,9:;<=>&9?.+%@>ABC 1D=>@EreadAllObjects2FGHI+%&JKL
27,LLMNO;JK2
// custCopy.setAddress(newAddrs);
// !" # uow.commit();
R2
25
Agenda
TopLink
TopLink
TopLink
T im
Web !"# $%&'(TopLink )*'+ !,-./0-. 1 23/0-. 1 45678'(
,-./0-. 1 ! 9 :/ ; <=>[email protected]'BC DEFG<=;@A'H0 [email protected],ICJ2DB2&KLM FG NOP;Q6 R< [email protected] M8'(UU&R<VWXYZ[! OptimisiticLockExceptionV0\78'(BC DH0 D!Mapping WorkbenchQ6]^'+U2V&_`76 <=!TopLinkXabcde78'( KLfg'+D!h [email protected]^'+U2j&_8'klmR<[email protected](U Z[! qrs:t& [email protected]]^'+"vVWP8'(
,-./0-. NOP !,-./0-. 1 wxfgy&'( 9 z&{|'+ }&R<no&!klm~pVFGNOP;Q6 R<\[email protected]'+U2V&_8'(
3/0-. 1 ! 9 z& NOP;FOR UPDATE8Y! FOR UPDATE [email protected] @OM8'(
fg'+ PDB 9 VP8'( DB [email protected],-./0-. 1 V 0c! y2 8'(
27
;<=9> [email protected]?
Weak Identity Map
GC#$%&' ()* +,-. /0!12342#5 6 78& 9:15DB&;<=>[email protected]'C*DE.FG1HIJEK12
342+ELM6 !"
• Soft Cache Weak Identity Map#WXYD+
Weak Identity Map<Z[>\]UV^AB'C*D_`!1aB
b5"aB cWDOPUV!1"
Soft Cache Weak Identity MapaB OPENOP<Md^e"
Cache Identity Mapfg E/0G !"hij/b!1klMmno pV&;q4< Erl:MmstCache Identity Mapuv!1
e:w !"
28
01FGIRQ4I$STU+,-./5VGCIWX
+,-./^PQ
!I'CD,-.,-.JKLMNO(AB,[email protected]
HPT'XYZN[V,-.\]^!_`STYabcd ef!gh
i ! !?Mjk\])lmn-opPT'AB,-.,-.qrH
stNSPu @[email protected]([email protected]
z{|}~|'
NFhi [email protected]$%'
Customer
DB
Address
Address
4 <'()
“N + 1”
89:;<=>[email protected])ABC2DEF)G-=789:;<=
H >[email protected])A$5)6NJLMDNO
F)G-=/!">"[email protected])AQ$RS
OF)G-= T<U6 R#NVWXYVQ !" >34Z [ "O\)F]^[email protected])A>1?BC_ RB`$
TopLink>RS ab &c /X3de8.*+,fg$
31
[]
GHIJ=K LM+N*OPQR=S$ (TDUV2< SQL :V1WX%(TDU 1Y1Z[ \TU
\M?2
]^ P. 5K LM+N*OPQ _/5Q`N*OPS$
GHIJ=K LM+V2S$abcdeKUVf<6K LM+ZP+Vg0 hN?Zi \TUhIj2< SQL :V2WaK LM+N*OP
<hS$ 1Wj1Y1k l1YmZ[ \TU\M?2
TopLink [email protected]\ (uETopLink#$%&'()*+<= :
'()*+
V&PWXYZ[\Z&']
TopLink SDK
- XMLnoMUI9^p.;noq?Ilmrs
[ ]
}~VgV,-<=2<}~g }~V}~V
}~U+Zb
WorkbenchV2<=34
6589 UPV%6}~'@M*a789:+ 50}~jVN?
Zi \TUuM\<=kF a}~g6 OracleDB}~V2.
jOracleDB}~V2<=}~VuM\S$ 5DB}~¡a
INCREMENTj}~'@M*¢D£¤¥
- 9:;<=>? @-.
TopLink Web Client M¦U§P+2WebN?Zi \TU,-<6M¦U§V
EJB
JDeveloper 10g
- TopLink XYZ[@\
TopLinkJ2EE J2EE
JDBC !"#$%$&'()*+,,-./01JTA,-./0
::Bean;ABCDEF,8BEA WebLogic?6.1, 7.0, [email protected]"IBM
[email protected]%HIJK8OC4J CMP;ABCD5 LM
%
WX LM% KJDeveloper 10g YZ[\01PQ]^
_`/ADF?Application Development [email protected]=7ab!"
#$(TcCd)%
EJB + Struts + JSP : j]4C
BC4J + Struts + uiXML : kN.<l=m]kN.UI!etc.
TopLink
&456789:$;&"#<=>'[email protected]"(
[email protected]"(
39
BC4J
- UI
- HIJKLMN>OPQRS+TUJavaVWX! or EJB3
/0 1BC4JKBusiness Components for JavaL=MNO#PQ RC& ;[email protected]"( !"#&TU9VW)BC4J=TopLink&XYZ5
"[\9]O6^SF_#<=>`[email protected]"(
40
BC4J
- g_hGij k0>,HIBlLM @ABCmef
- a$b %& opqrstuvJKw_BC4J xyJK z{j_|}~EBC4J _IJK}Hm
- 9_PLMN>O_TopLink CMP EJBnHIS
>"X PBC4J:;(PTopLinkm}Hmn
TopLinkbcO-RdefgDhiG)j69klmneo*&pqdCr stuI23"#)Java/vw i&kuIxytz{=|}~_#<=>'[email protected]"(
<O6&X9kuIxytuI>9a)@$9& z 0C^7GxytuIG$S*&^[email protected]"(
BC4Jxytz{&uI=G+,'">)ABCe && UI*23"#kuIP1hBi'"(<O6&uI197G
& !\[email protected]"(
YZO-R:;(
4]%'s
? :V%&<<etc.
- :;( kuv
- ,">
MW: Mapping Workbench
SE: Sessions Editor
!"# $%&'140MB"( $)*&
10MB+,-./!&
44
OracleOracle Corporation Oracle Corporation
- Java !"#$%&'() *+,
Client
TopLink
Oracle Application Server TopLinkJava DB J2EE !"#$%&'DB ()*+,-./0123.4TopLink567893:;<=%>?78
[email protected]
- GHI.JKLMNO
5YZ [ P – \] R ^_
`a+ –(bcdeSQLPfghij klm7[n
Java 3DB OP7QR4JDBCST,UV W 7QR94XYZ [\567QR2]^._^
JDBCST,UV W7QR`abc'd6ef" JDBC,UV
[email protected]'3hi,UV W./03_7jk4lmn ()!" #"()CDE4o pq rse4jBNt uM -vw3#"AB x.0yef7z{4OPQR|}./0^
JDBC,UV W`~()CDEe7jk4XYZ 56 7/0._^ 9EJB pVpVBean4JDOJava Data Objectsx K [\x._^48fJava -gXYZ
4gXMx9f
8fXYZ 4,-KAB 4LBME x 27/0._^
6
TopLink
Java !"#$%&
- 5YZ [ P}6,-z
- GUI
TopLink¡¢<=XYZ [\4Java -gXM9£¤¥¦f $^JDBC,UV W789DBUL 356K"§ ¨©efj -9ª?4j -«¬j®¯DB°±e
789.²^
O³vw9TopLink´7Java uuMu3_7jk/µa ¶·¸3Te7/0_^¹ ´º3O³²Java a 56²34jJ2EE, pq»¦3+Tomcat<=·X¼-¶, pqa56
[email protected]
7
TopLink
- 1997"Java P
- 2002"'(\ -or !
TopLink2002½WebGain¾()tYa¿kÀu N¾.ª?j Java
ÁÂû¦3aÄ7½^4*+OÅÆ"
ÇÈu N9TopLink 10g9.0.4.ÉÊ9^
8
Agenda
TopLink89
Mapping Workbench Sessions Editor
• Mapping Workbench23"#O-RFG
• Sessions Editor23"#FG
U.V&7456
11
O-R
&'( )*+,-./01)*23 )*4 56789:+, ;<)*=>?/[email protected]%$8AB=>CD/)*EFGHI8+,DB
1JK1 )*89:+,LM88M8N1JKCDA !"#O [email protected]%V1$8 !"#1WU DBABXYZ/+,[1\]^1)*
EFGHI=>$[_`[email protected]%
FGHIDB+,p8qUYUrs^1t.$% u DB8v
wxy$aQ JavaEFGHIz?/+,{=_`[email protected]%
DB81 1<8L1<81 !W.a|a[
8AB p8}5DB8~[8q vw;<8
aMW.1a[[email protected]%[email protected]
[email protected]%
<project-name>OrderProject</project-name> .... <descriptors>
<database-mapping> <attribute-name>custId</attribute-name> <read-only>false</read-only> <field-name>CUSTOMER.CUST_ID</field-name> ....
13
TopLink ! "#XML$%&'()*+,-./012$34
Sessions Editor GUI567./849 :;XML XML<=>78? @A6!41BC XMLDECF$G
14
-
-
- !"#$%&'
- ()
TopLink./9HIJ6CK6LH @*Foundation LibraryCAPI./ 8MNOP49Foundation LibraryCAPI./F*QRGSTJDBCC U6KV2WX8YZTU6[\]^_T`T-*aBJavabcde8fgSTh
CT-
15
HIJ6a)TopLinkCqrstH @*uvw xy !z{YZ$|-FC}xy !*XML
491BCa)~Bl4
HIJ6z{9}xy !v8K6LCz{}kl$ *+CCDBR:;JDBCU67*SQLC,O-R012i9x y !CDBCK6LCT}xy !,e848 +,-HIJ6DBK6Lxy !8Sz{}kl
F$G9z{4xy ![>} @9 @CI6 h494
*HIJ6CL>,e8.(9w`BaC$|- ThC C-
[ ]
¨hijST
[ ]
FC2BCDE >H!a)C©H @nA6!,mT3¡HIJ6 ./4n6ª6}«81B$* >H!} ¬ >H!1BuB®8) >H!}K6Lkl¯
8n6ª6}°±,mT²\xy !*n6ª6}a)4 n6ª6}R67}³´µ¶·
16
}0¸6´./8z{
K<¹7!C<=>7º»sessions.xml¼l9XML<=>7 @½@¾"
¿9ÀÁ*ÂC,mºÃ(z{F$G
17
totalCost += ((Order)orders.get(i)).getCost(); }
Customer Order
&$678!)*+)(91!:(;..Order<=>?'%
MNexecuteQueryAB(,-O
//Customer !"#$% Customer c =
-678
19
Customer Order
SELECT t3.ID, t3.FIRST_NAME, t3.LAST_NAME, t3.STREET, t3.CITY,
t3.STATE, t3.ZIP FROM CUSTOMER t3, ORD t2, ORD_ITEMS t1, PRODUCT t0
WHERE ((t0.PRODUCT_NAME = ‘’) AND ((t2.CUST_ID = t3.ID) AND
((t1.ORD_ID = t2.ID) AND (t0.ID = t1.PRODUCT_ID))))
SQL
SQL
21
" #$%&'()* $+,-./ 012
340 !25/ 6789:;)$<= >&' [email protected]:;)$BC(D 'E0 !DBB)& -89:
;)$FGH $IJ K-L !
22
33()45 633()45 633()45 633()45 6
7777,1,1,1,1
,-./&,-./&,-./&,-./&
!"#
$%& '()*+,-./
@ABC 8934*+,DEF !"38GHI*./
8GHI?&E !" 89#:;<089JK*LDEM NODB38G*./DB3SQLP, 3 QRSTUVW3XY*-Z[
3SQLP,\]=^S?&./_`a3DBb8G=>c*EFMNd
BC0 3e*./
!" f2,[ 3dBCghi>*+jk*./3l;<@ABC
mT3 nop;Cqrst3uv+Ewxyop;C3Z;<@ABC
oCzBCf2{,*+,[|#}~3*./
Customer custCopy = (Customer)uow.readObject(Customer.class, /*&'()**/);
0562%78,9:;<=>&9?.+%@>ABC 1D=>@EreadAllObjects2FGHI+%&JKL
27,LLMNO;JK2
// custCopy.setAddress(newAddrs);
// !" # uow.commit();
R2
25
Agenda
TopLink
TopLink
TopLink
T im
Web !"# $%&'(TopLink )*'+ !,-./0-. 1 23/0-. 1 45678'(
,-./0-. 1 ! 9 :/ ; <=>[email protected]'BC DEFG<=;@A'H0 [email protected],ICJ2DB2&KLM FG NOP;Q6 R< [email protected] M8'(UU&R<VWXYZ[! OptimisiticLockExceptionV0\78'(BC DH0 D!Mapping WorkbenchQ6]^'+U2V&_`76 <=!TopLinkXabcde78'( KLfg'+D!h [email protected]^'+U2j&_8'klmR<[email protected](U Z[! qrs:t& [email protected]]^'+"vVWP8'(
,-./0-. NOP !,-./0-. 1 wxfgy&'( 9 z&{|'+ }&R<no&!klm~pVFGNOP;Q6 R<\[email protected]'+U2V&_8'(
3/0-. 1 ! 9 z& NOP;FOR UPDATE8Y! FOR UPDATE [email protected] @OM8'(
fg'+ PDB 9 VP8'( DB [email protected],-./0-. 1 V 0c! y2 8'(
27
;<=9> [email protected]?
Weak Identity Map
GC#$%&' ()* +,-. /0!12342#5 6 78& 9:15DB&;<=>[email protected]'C*DE.FG1HIJEK12
342+ELM6 !"
• Soft Cache Weak Identity Map#WXYD+
Weak Identity Map<Z[>\]UV^AB'C*D_`!1aB
b5"aB cWDOPUV!1"
Soft Cache Weak Identity MapaB OPENOP<Md^e"
Cache Identity Mapfg E/0G !"hij/b!1klMmno pV&;q4< Erl:MmstCache Identity Mapuv!1
e:w !"
28
01FGIRQ4I$STU+,-./5VGCIWX
+,-./^PQ
!I'CD,-.,-.JKLMNO(AB,[email protected]
HPT'XYZN[V,-.\]^!_`STYabcd ef!gh
i ! !?Mjk\])lmn-opPT'AB,-.,-.qrH
stNSPu @[email protected]([email protected]
z{|}~|'
NFhi [email protected]$%'
Customer
DB
Address
Address
4 <'()
“N + 1”
89:;<=>[email protected])ABC2DEF)G-=789:;<=
H >[email protected])A$5)6NJLMDNO
F)G-=/!">"[email protected])AQ$RS
OF)G-= T<U6 R#NVWXYVQ !" >34Z [ "O\)F]^[email protected])A>1?BC_ RB`$
TopLink>RS ab &c /X3de8.*+,fg$
31
[]
GHIJ=K LM+N*OPQR=S$ (TDUV2< SQL :V1WX%(TDU 1Y1Z[ \TU
\M?2
]^ P. 5K LM+N*OPQ _/5Q`N*OPS$
GHIJ=K LM+V2S$abcdeKUVf<6K LM+ZP+Vg0 hN?Zi \TUhIj2< SQL :V2WaK LM+N*OP
<hS$ 1Wj1Y1k l1YmZ[ \TU\M?2
TopLink [email protected]\ (uETopLink#$%&'()*+<= :
'()*+
V&PWXYZ[\Z&']
TopLink SDK
- XMLnoMUI9^p.;noq?Ilmrs
[ ]
}~VgV,-<=2<}~g }~V}~V
}~U+Zb
WorkbenchV2<=34
6589 UPV%6}~'@M*a789:+ 50}~jVN?
Zi \TUuM\<=kF a}~g6 OracleDB}~V2.
jOracleDB}~V2<=}~VuM\S$ 5DB}~¡a
INCREMENTj}~'@M*¢D£¤¥
- 9:;<=>? @-.
TopLink Web Client M¦U§P+2WebN?Zi \TU,-<6M¦U§V
EJB
JDeveloper 10g
- TopLink XYZ[@\
TopLinkJ2EE J2EE
JDBC !"#$%$&'()*+,,-./01JTA,-./0
::Bean;ABCDEF,8BEA WebLogic?6.1, 7.0, [email protected]"IBM
[email protected]%HIJK8OC4J CMP;ABCD5 LM
%
WX LM% KJDeveloper 10g YZ[\01PQ]^
_`/ADF?Application Development [email protected]=7ab!"
#$(TcCd)%
EJB + Struts + JSP : j]4C
BC4J + Struts + uiXML : kN.<l=m]kN.UI!etc.
TopLink
&456789:$;&"#<=>'[email protected]"(
[email protected]"(
39
BC4J
- UI
- HIJKLMN>OPQRS+TUJavaVWX! or EJB3
/0 1BC4JKBusiness Components for JavaL=MNO#PQ RC& ;[email protected]"( !"#&TU9VW)BC4J=TopLink&XYZ5
"[\9]O6^SF_#<=>`[email protected]"(
40
BC4J
- g_hGij k0>,HIBlLM @ABCmef
- a$b %& opqrstuvJKw_BC4J xyJK z{j_|}~EBC4J _IJK}Hm
- 9_PLMN>O_TopLink CMP EJBnHIS
>"X PBC4J:;(PTopLinkm}Hmn
TopLinkbcO-RdefgDhiG)j69klmneo*&pqdCr stuI23"#)Java/vw i&kuIxytz{=|}~_#<=>'[email protected]"(
<O6&X9kuIxytuI>9a)@$9& z 0C^7GxytuIG$S*&^[email protected]"(
BC4Jxytz{&uI=G+,'">)ABCe && UI*23"#kuIP1hBi'"(<O6&uI197G
& !\[email protected]"(
YZO-R:;(
4]%'s
? :V%&<<etc.
- :;( kuv
- ,">
MW: Mapping Workbench
SE: Sessions Editor
!"# $%&'140MB"( $)*&
10MB+,-./!&
44
OracleOracle Corporation Oracle Corporation