IBM Tivoli Directory Integrator5.2:kE8O
S152-0828-00
���
IBM Tivoli Directory Integrator5.2:kE8O
S152-0828-00
���
"b
Z9C>JO0d'VDz7.0,kDAZ 71 3D=< B, :yw;PD;cE"#
Z;f(2003 j 11 B)
C^)fJCZ IBM Tivoli Directory Integrator V5R2 0dyPDsL"Pfk^D,}GZBD^)fPmP5w#
© Copyright International Business Machines Corporation 2002"2003. All rights reserved.
0T
>D5|,\m IBM® Tivoli® Directory Integrator yhDE"#
>iDA_
>iG*53\m1MyPPK$'0|` IBM Tivoli Directory Integrator *6DC
'<8D#
vfo
kDA IBM Tivoli Directory Integrator bDhv47(D)vfoI\aTzPoz#
7(KyhDvfo.s,kN<Z_CJvfoD8>E"#
IBM Tivoli Directory Integrator bIBM Tivoli Directory Integrator bPDvfoP:
6IBM Tivoli Directory Integrator 5.2:Tv7
|,XZ IBM Tivoli Directory Integrator 5.2 DnBE"#
6IBM Tivoli Directory Integrator 5.2:kE8O7
IBM Tivoli Directory Integrator 5.2 Dr%LLMi\#
6IBM Tivoli Directory Integrator 5.2:\m18O7
|,20 IBM Tivoli Directory Integrator Dj{E"#|,ST0D IBM Tivoli
Directory Integrator f>(FDE"#|,PX IBM Tivoli Directory Integrator
DdCU>G<&\DE"#
6IBM Tivoli Directory Integrator 5.2:C'8O7
|,XZgN9C IBM Tivoli Directory Integrator 5.2 $_DE"#|,9C
IBM Tivoli Directory Integrator $_(ibmditk)hFbv=8rS|nP
(ibmdisrv)KP$HvCDbv=8D8>E"#9a)XZSZ"EnT
00i0w._/B~&mLr1D4(M\mDE"#|,4(;%M5J
/V'0 IBM Tivoli Directory Integrator 5.2 D>}#
6IBM Tivoli Directory Integrator 5.2:N<8O7
|, IBM Tivoli Directory Integrator 5.2 i0w._Dwvi~(SZ"B~
&mLr"bvw"e~HH)Dj8E"#
`XDvfo
BPvfoPa)Kk IBM Tivoli Directory Integrator `XDE":
v IBM Tivoli Directory Integrator 5.2 9C Sun Microsystems D JNDI M'z#kN
<;Z http://java.sun.com/products/jndi/1.2/javadoc/index.html D Sun Microsystems Web
>cOD Java™ Naming and Directory Interface™ 1.2.1 Specification TKbXZ JNDI
M'zDE"#
© Copyright IBM Corp. 2002"2003 iii
v 0Tivoli m~b1a)KwVwyD Tivoli vfo,HgW$i"}]m"]>"l
$iM"</#0Tivoli m~b1IZ;Z http://www.ibm.com/software/tivoli/library/
D Web >cqC#
v Tivoli Software Glossary |,m`k Tivoli m~`XD<uuoD(e#Tivoli Software
G l o s s a r y ; P " o f , I S T i v o l i m ~ b W e b 3 f
http://www.ibm.com/software/tivoli/library/ s`D Tivoli glossary 4SqC#
Z_CJvfo
>z7DvfoIZ_qC,PIF2D5q=(Portable Document Format,PDF)r
,D>jGoT(Hypertext Markup Language,HTML)q=,r_b=Vq=<P;
b)vfoITS Tivoli m~b:http://www.ibm.com/software/tivoli/library qC#
*ZbPiRz7vfo,k%wCb3fs`D Product manuals 4S#;s,Z
Tivoli software information center 3fR="%wz7D{F#
E"4z7i/Z;p,dP|(TvD~"208O"C'8O"\m18O"R
gPX*D0,9|(*"_N<s+#
":*7#}7r! PDF q=Dvfo,k!q Adobe Acrobat0r!10Z(%w
D~->r!)DJO=Es!4!r#
(z&\
(z&\C4ozmeP2DC'(HgP/;crS&;QDC')I&9Cm~
z7#9Cbvz71,zIT9C(z<u}=M/@gf#20K>z7.s,
z9IT9C|L(x;Csj)4Yw<NC'gfODyP&\#
*5m~'V
Z*5 IBM Tivoli m~ support 4bvJb.0,kN< IBM System Management M
Tivoli software Web >c,>c;C:
http://www.ibm.com/software/sysmgmt/products/support/
g{z9h*d|oz,k9C6IBM m~'V8O7PhvD=(ZBP Web >c
*5m~'V:
http://techsupport.services.ibm.com/guides/handbook.html
C8Oa)TBE":
v qC'VD"aMJq*s
v g0EkMgSJ~X7,b)!vZzyZDzRrXx
v Z*5M''V0zXkU/D;5PE"
iv IBM Tivoli Directory Integrator 5.2:kE8O
?<
0T . . . . . . . . . . . . . . . . iii>iDA_ . . . . . . . . . . . . . . . iiivfo . . . . . . . . . . . . . . . . iii
IBM Tivoli Directory Integrator b . . . . . . iii`XDvfo . . . . . . . . . . . . . iiiZ_CJvfo . . . . . . . . . . . . iv
(z&\ . . . . . . . . . . . . . . . iv*5m~'V . . . . . . . . . . . . . . iv
Z 1 B ri . . . . . . . . . . . . . 1XZ>Va . . . . . . . . . . . . . . . 1E>`FoT . . . . . . . . . . . . . . 120 IBM Tivoli Directory Integrator . . . . . . 220LLD~ . . . . . . . . . . . . . . 2
Z 2 B Hr/Ybv . . . . . . . . . 3gNTt;7ss? . . . . . . . . . . . . 3/I4(E . . . . . . . . . . . . . . . 3e5a9 . . . . . . . . . . . . . . . . 5i0w._ . . . . . . . . . . . . . . . 6,Sw . . . . . . . . . . . . . . . . 7bvw . . . . . . . . . . . . . . . . 8B~&mLr . . . . . . . . . . . . . . 8
Z 3 B IBM Tivoli Directory Integrator 9
lY/I*" . . . . . . . . . . . . . . 94(;vBdCD~ . . . . . . . . . . . 104(i0w._ . . . . . . . . . . . . . 11mSdk,Sw . . . . . . . . . . . . . 15+tT3d=i0w._P . . . . . . . . . 22mSdv,Sw . . . . . . . . . . . . . 29KPi0w._ . . . . . . . . . . . . . 359C Hook . . . . . . . . . . . . . . . 38#=*; . . . . . . . . . . . . . . . 41mS*a,Sw . . . . . . . . . . . . . 43hC4Su~ . . . . . . . . . . . . . . 47B~&mLr . . . . . . . . . . . . . . 53nsD<< . . . . . . . . . . . . . . 67
=< A. index.html M OtherPage.html 69index.html . . . . . . . . . . . . . . . 69OtherPage.html . . . . . . . . . . . . . 69
=< B. yw . . . . . . . . . . . . 71Z}=i~yw . . . . . . . . . . . . . 72
Apache yw . . . . . . . . . . . . . 72Rhino yw . . . . . . . . . . . . . 73
Lj . . . . . . . . . . . . . . . . . 73
© Copyright IBM Corp. 2002"2003 v
vi IBM Tivoli Directory Integrator 5.2:kE8O
Z 1 B ri
XZ>Va
>ia)T;vr%53Dr%i\#;c;m,r%;JCZboI=!gdV,
r*J!T-<<;v4SJbDnC=(MGr/|#Q|Vb*8v|W\mD
,N,;s\mb)iI?V#VxN.,wvwF#bGzZbvU#Jb1>\
X9CD;V<I,|,y2ICZ\mg+>"gs5r+r6'DE";;#
IBM Tivoli Directory Integrator DhFM9(GyZbyD0a,4/IJbITV*
}vy>iI?V:
v (EPf0D53
v b)53dD}]w
v %"}]wDB~
Z IBM Tivoli Directory Integrator P,zITQT/IJbDbV-S=mb1Sd
Ibv=8#zITCVxD4!Mi$Tv?==9(T:Dbv=8,;NvS
;vwL#
bb6E/In?+dC|]W@FMf.#uAP1rf.2ITuYTr/*5
VDwv}]wDI>FcM7($w#H;z+C;VISR;%=D=(;vw
L;vwLX*"bv=8,G4MITf1rn?M+>\mK1(f(M]>)
xH#
IBM Tivoli Directory Integrator \myP,Sb/IDwV}]4"k.;%D<u8
Z,isX\m|GD API"+d"-iT0q=H8Z#IBM Tivoli Directory
Integrator D9c;G/PZ}]O,xGQzDS_a=KE"c,9z\;Q"b&
/PZ4P?N;;yhD*;"}KMd|5q_-O#
IBM Tivoli Directory Integrator 9z\;9(i~bM5q_-,zIT,$")9"
XCb)i~bM5q_-4bvBDQb#z{vi/Dwv*"n?<IT2m
IBM Tivoli Directory Integrator Jz,byD0,wvn?.d`%@",,1V<I
TZO=,aD/Iy!a9P#
ZzZn?;*<<G}]4M<u(RTc("T:Db1,bV=(IT|Om
X$@y*9CDJ4#b)/IJzMws,Z{vxg6'Z<IC,Sx9z
IT{C|G44(BDbv=8Mv?VPDbv=8#
>D5rzi\KbV=(,"a)K;)E"oznkmb IBM Tivoli Directory
Integrator DbV+HxVEEDr%T#
E>`FoT
IBM Tivoli Directory Integrator a)K;VEER1[D0Hi<Ydw173C4l
Y9(/Ibv=8Dr\#;x,tSEzI\MkmS|_6D}]YwM*;
_-T0}K}]MXF}]wP*D5qfr#yPb)<G(}Zbv=8P`
4E>4jID#
© Copyright IBM Corp. 2002"2003 1
r* IBM Tivoli Directory Integrator 9C0Bean E>`Fr\1,yTP\`VE>
`FoTI)z!q,|( JavaScript™"VBScript M PerlScript#
XZE>`FoTD|`E",kND6IBM Tivoli Directory Integrator 5.2:N<8
O7#
20 IBM Tivoli Directory IntegratorIBM Tivoli Directory Integrator G;vIlY?pDa?6/IPd~#k+3DPd
~;,,IBM Tivoli Directory Integrator D208VSMITjI,"RzIT"4*
<9("bTM?pbv=8#C53IZm`V=(OKP,|( Windows® M`V
UNIX® T0 Linux f>#
XZ20 IBM Tivoli Directory Integrator D|`E",kND6IBM Tivoli Directory
Integrator 5.2:\m18O7PD6IBM Tivoli Directory Integrator 205w7#
20LLD~
*9C>VaPD>},zh*LL}]D~(;},z2ITS>VaPDD>X
BzIb)D~)#
*CJb)>}D~,k*A20?<PD root_directory/examples ?<#
root_directory 820 IBM Tivoli Directory Integrator D?<#
2 IBM Tivoli Directory Integrator 5.2:kE8O
Z 2 B Hr/Ybv
gNTt;7ss?
p8G:;N';Z#b,yG{/sM/IM53?pn?DnQ=(#
I&DX|ZZ+JbVbIm`|!"|WZ\mD,NSx5M4SLH#2M
G5HS\ebv=8D;v?VEV,nCGSITZ;\r=\ZjID?V*
<#mkivG,C,NI@"6kzz#GyD0,1z&mbv=8Dd`iI
?V1,|MQ-Za)6JX(K#
1zQ<8&mD,Ntk.s,MIT(}Xc&my>(E%*(}]w>m)
4x;=r/|#VZzMITz3EDX*<5V|GK#
/I*"G9C IBM Tivoli Directory Integrator (};5PD0"T-bT-Dx1
\Z4jID,b9CC}LIK;vX4D"uA=wTD}L#b;v\ozz
"V|`PXT:D20DE",xR\;CzfETJb/T0|Ty!a9D0
lDmbDSn4*"T:D/Ibv=8#
*Z7TPTVODJbP;ve~DO6,;VG#;mD=(GQJbC;E<
N-v4#C&JM;E=TV_u]b;vwL<4F)vbv=8#byD70
;v\ozz1[XKbNqD6',9ITw*Z IBM Tivoli Directory Integrator P
5VNqD6<#
/I4(E
/IJb<k(EPX,rK(#IT8VI}vy>?V:
v xP(ED53Mh8
v b)53dD}]w
v %"}]wDB~
ITgBhv(E=8Db)iI*X:
}]4 |GG%`(ED}]J4b"53Mh8#}g:
v z<85Vrh(,$Ds5?<(Enterprise Directory)
v zD CRM &CLr
v *5yg053
v Pv+>h8Mh8yP_D Access }]b#
}]4zmV`1`D53MJ4b,Hg}]b(}g,DB2®"Oracle M
SQL Server)"?<(}g,iPlanet"IBM Directory Server"Domino™"
eDirectory M Active Directory)"?<~q(Exchange)"D~(}g,
XML"LDIF r SOAP D5)"-}Xbq=/DgSJ~r_Z?53Mb
?5qoiCZ;wE"JzM~qDNb}?DSZzF#
}]w
© Copyright IBM Corp. 2002"2003 3
}]wG8(ED_L0dZ],"R(#;hfI8r}]F/=rD}
7#
?u}]w<zm=vr|`53.dD;v(E#
+*CT0TZyPDNk_<Pbe,?vNk_<XkKb(EDZ]#
zI\#{}]4T;,D==m>|GD}]Z]#3v53I\TD>E
"m>g0Ek,|(CZ9Ek|WADF[EM2(E#xm;v53I
\T}V}]f"g0Ek#
g{b=v53*MK}]xP(E,G4MXkZT0P*;b)E"#K
b,3v}]4PDE"I\";j{,rKI\h*C4Td|}]4Dt
T49d#xR,}]wPI\;P?V}]kSU53`X#
rK}]w9Xk|,E"D3d"}KM*;,TQ|Zdk4PDOBD
*;*|Z?DX53PDOBD#
B~
B~IThv*8>N1;i}]4km;i}]4(EDiv#>}.;M
GZK&J453PmS"|Br>}1$#m;v>}GCJXF53lb
=3v?W(,}Z\^xrP9C#B~9ITyZUzr;vT1S*<
DF1w,}g,? 10 VS*<;N(E,r_Z\UDg9 12:00 *<(
E#|9ITGV/%"D;NTB~,HgZ;v53P2k;v?<re
4}]#
B~(#;s=}]4O,"Rk8(D;iiv"z1%"D}]w`X#
b)*XPD?;v<I IBM Tivoli Directory Integrator C|D}V`MDi~(S
Z"bvwMB~&mLr)4&m#
v ,SwMG,SMCJ}]4P}]Di~#}g,zIT9C JDBC ,SwA SQL
}]b,"ITr SQL }]b4k,x LDAP ,Sw9RG\;CJ?<#3)`
MD}]4;Q}]w*a9/DTs(G<"u?HH)f",xGw*VZw
4f"#=v>}G IP OD}]M=fD~#b1M*9C0bvw1K,|QV
Zw*;*a9/E"r_Qa9/E"*;*VZw#
v }]wG(}Q;vr`v0SZ1,Z;p5VD(X*1aQ0SZ1M0b
vw1X*p4)#
v ns,ITdCB~&mLr,9|l!y,SD53(}g?<r POP3/IMAP J
d)PD|D(*,;sQb)B~VIx8(Di0w._#
Z|nkXKbb)i~D$w-m.0,zh*\a;Bk*5VD}]w#gO
Dyv,0fQ-a=},xPbn$wD;v;mD=(G-v;E}]w<m#
P\`<m<(My=I)!q,+{ED5JN4M`M";PzTJbDmbG
4X*#k9C=r"2r"2]]rNNz26D<N,+k#V;B,"qXe
~"WAXjv?;n#by;4,1zZ8vBsi4b)<m1(r_d{Ki
41),T;\;wWb){EG24b<#;vdv}]4(DS3)Su<}]4
(DS1)qC}]#ZK}LP,}]w9SZ~v}]4(DS2)U/E"#Z IBM
Tivoli Directory Integrator P,bV}]w;F*i0w._#
4 IBM Tivoli Directory Integrator 5.2:kE8O
?vi0w._5V;v%rD}]w,mbb;c\X*#g{#{Z=vr`v
}]4.d5V+r,=,rXk9C%@Di0w._4&m?v=rOD}]
w#.yTbyvGr*?v=rOD}]Dq=MZ]T0T}]4PDYw\I
\<G;,D#
":IBM Tivoli Directory Integrator a)4(0ks-l&1E"bv=8(Hg Web
~q)yhD;P#
!\TZi0w._IT|,D,Sw}?;P^F,+i0w._Z|,c;Di
~ME>_-49i0w._!I\TwD,1,Xk|,!I\YD,Sw(}
g,Nk}]wD?v}]4;P;v,Sw)#vPD-rG9i0w._cZmb
M,$#,1|9aNI|r%"|lYM|_luTDbv=8#
IBM Tivoli Directory Integrator Dy>-mG;N&m;u}]w,Sxr/Jb/O,
rK,CRGS DS1 = DS3 D}]w*<#
wV53D}]i/==aP\sxp#
v }]b(#QE"f"Z_PL(}?VNDG<P#
v x?<r&mF*u?Dd?Ts#
v d|53IT9C{"r|/5T#
IBM Tivoli Directory Integrator QwVE"U/"f"Z;vin?sD;F*u?D
}]]wP,Sxr/Kb;Jb#x}]5>mV#fZI0u?1F\D;F*
tTDTsP#
m;vI\fZDJbGb)}]49C;,D`M4m>f"D5#IBM Tivoli
Directory Integrator ,yozzbvKb;Jb#xk}]wDyPZ]<;*;*;
Vk$(eDfr;BDq=(Java Ts)#rK,zD5qfrM*;_-M;X&
m`Me;JbK#+1}]<8dv1,IBM Tivoli Directory Integrator aQ|*;
XX(Z}]4D`X`M#
*KjI}]wDIS/,kG<dk}]4DtTGgN3d(2I\G^D)*
?j53tT#}g,DS3 I\gBy>:
First =DS1.FirstLast =DS1.LastFullName =DS1.First+" "+DS1.LastTitle =DS1.TitleMail =<compute_from_name>
*9>}#Vr%,k9C;v|,VN First"Last M Title RT:EVtD5D~
w* DS1#zDdv}]4(DS3)G;v XML D5#
VZzQ-\CX{vKzDbv=8,RGM44;B IBM Tivoli Directory Integrator
gN&m}]w#
e5a9
IBM Tivoli Directory Integrator De5a9IV*=?V:
v KD53a)s?V53&\#IBM Tivoli Directory Integrator DKD&mU>D~"
mslbMVIT0}]wDKPN}#(FDdCM5q_-2GZbo,$
D#
Z 2 B Hr/Ybv 5
v i~:pi!zk9CD}]53D<u8ZMq=#IBM Tivoli Directory Integrator
*za)}V`MDi~:
– ,Sw
– bvw
– B~&mLr
IZ?vi~<GCKD&\(b)&\&mng/IwXFM(FH$w)|p
4D,yTi~>mTIT!Iac#}g,g{zk5VT:Dbvw,;ha
)=v/},;vCZbM+kDVZwDa9,m;vCZQa9mS=+vD
VZw#g{zP84;B IBM Tivoli Directory Integrator D jar S?<,zMa
4=j<i~G`4ac,b9C|G\]W4(M)9#
bvKD/i~hF9C IBM Tivoli Directory Integrator \]W)9#b9b6Ez
IT(}!q`XDi~,;sQ|GEZJ1D;C4lY9(T:Dbv=8r
\#i~GIT%;D,"R;v1;a0l}]w(FD_-MdCDP*#bb
6EzIT9(lYvSM)9D/Ibv=8,x,1V;arWcy!a9DD
dxb=F5#
i0w._
<mPD}]w}7IT*;* IBM Tivoli Directory Integrator PDi0w._,|
D$w==kV5PD$5i0w._`F#
V5Di0w._Im`(CzwiI,d;b)zwZ&\M9lO<w;`,,
+G|GP;v2,DX*Xw,GMG|GIT,SZ;p,iIj{DS6O=
zvD,x7_#
^[zzyhD-DOG24(}g,c,"IV-"{5?~H),i0w._(
#<hFI5P;vr`v6Oh84S\|G#b)dO;&m,;sZOZ;
p#P1X>Si0w._Oi_1z7#Zzz_D)K,FI7;+]=HrE
Dz7dvh8#
g{zzK1qCKzzd|z7D)%,{GMp*i0w._,tBTkB)%
`XDzw#}7,SBh8,w{i0w._,;sVXB*<zz#IBM Tivoli
Directory Integrator i0w._D$w==kKj+`,#
IBM Tivoli Directory Integrator i0w._Swdk%*SUE",y]b)dk4P
Yw,;s(}dv%*MvI7#IBM Tivoli Directory Integrator i0w._;N&
m;n(}g,;u}]G<";v?<u?";v"am|HH)#4T,SDdk
4D}]tT[/Z Java f"x(;F* work Ts)P,ITmSE>4&mb)
E":i$}]Z]"FcBDtTM5"|DVPDtTM5,1=}]ITSi
0w._+M=;vr`vdv4#
IBM Tivoli Directory Integrator i0w._DdkMdv%*;F*,Sw,?v,S
w4S=;v}]f"w#,SwQ}]wkb?@g,Z;p,"R|G9GxP
}]*;M[/DX=#,1z9ITZdPEC5q"2+TMm]\m_-#
6 IBM Tivoli Directory Integrator 5.2:kE8O
,Sw
,Swk(Z;pD_Ie4i`F,,194S=X(D}]4#
?N!qdP;v_Ie4i"+|mS=i0w._1,<Xk4PTBYw:
1. !q,SwD`M#
2. *,Sw8(|Z}]wPDG+#bVG+;F*,Sw==,|f_ IBM Tivoli
Directory Integrator gN9CC,Sw:
v dk,Sw,|Zd}]4P|zriRE"#
v dv,Sw,|Zy,SD53rh8Pek"|Br>}}]#
":Xk+}]Sdk4P-v,;sFkdv?DX#b}G,SwyC$D#
zITf1|D,SwD`MM==T3&y!a9r_bv=8?jD|D#g{
zDF.PQ-<G=KbVI\T,G4i0w._Dd`?V(|(}]*;M
}K)<;a\=0l#b}GQ?v,Sw4w;vZPS(bvZPS+}]+
]=}]lO.PrS}]lOPi!;)}]"M=}]4)\X*D-ryZ#
?v,Sw=@",bv=8D)dM,$M==c#
(}90,Sw1!I\Tw,z9IT\=cX+|G+M=0,Swb1"XB
9C|G4|lX4(BDbv=8,uAk{K2mb),Sw#9C IBM Tivoli
Directory Integrator b&\9a9,SwD,$Mv?dC|=c,r*z;h|Bb
PD,Sw#e,Sbv#eIzvDyPi0w._MITLPb)v?#1z<
8C+T:Dbv=86k5JD$w1,z;h(8VS1dMITXBdC,S
wT,S=zz}]4x;GbT73PD}]4,"+bv=8S5iRF=V5
D?pP#
;\241rh*+B}]|,=}]wP,z;hQ`XD,SwmS=i0w.
_4I#
IBM Tivoli Directory Integrator *za);v,SwbCzSP!q,Sw,Hg
LDAP"JDBC"Microsoft® NT4 Domain"Lotus® Notes® M POP3/IMAP#g{R;=
T:*RD,Sw,zITLPVPD,Sw,=(G9C;VHxDE>oT(|
( JavaScript"VBScript M PerlScript)2GC,SwDNNryP/}#zuAIT4
(T:D,Sw,9CE>,Sw|0LrPDE>oT4(,r_9C Java r C/
C++ S74(#
;vgK,IBM Tivoli Directory Integrator 'Vs`}+d-iMzF,Hg
TCP/IP"FTP"HTTP M JMS (MQ),C(r;C)SSL rd|S\zF4#$E"
w#
XZE>oTT0gN4(T:DE>oTD|`E",kND6IBM Tivoli Directory
Integrator 5.2:N<8O7#
Z 2 B Hr/Ybv 7
bvw
4cGS IP KZdkDGa9/}](gD>D~rVZw),IBM Tivoli Directory
Integrator 2\(}+VZw+k;vr`vbvw4=cl]X&m|G#bvwGm
;V`MD IBM Tivoli Directory Integrator i~,53=xKm`Vbvw,|(
LDIF"DSML"XML"CSV ML($HDVN#"R}s,Sw;y,zIT)9M^
Db)bvw,2IT4(T:Dbvw#
LxZ 5 3OD>},B;=Gj6}]4#r*dk}]4G;vC:EVt5DD
>D~,yTk9Ck CSV bvwdTDD~53,Sw#kTdv2,y9CD~
53,Sw,;;}bN+!q XML bvwTcQD~q=/* XML D5#
":Q-Z UNIX =(O9C UNIX 76{<(4(K>VaPD>}#*9bv=
8@"Z=(,kZ76{P9C}1\( /)x;G41\( \),}g
examples/Tutorial/Tutorial1.cfg#bZ Windows M UNIX/Linux =(O<JC#
B~&mLr
B~&mLrGZ}V`MD IBM Tivoli Directory Integrator i~,a)C49(5
1/Ibv=8D&\#
k,Sw;y,B~&mLr2IT5P}]4G\,b9|G\;,S=;v53
r~q"H}B~(*#0JdB~&mLr1(|ITlb=B{"N1=o;v
POP3 r IMAP Jd)r0LDAP B~&mLr1(|IT6qT?<yvD|D)M
GdMD}S#1;vB~"z1,B~&mLrQB~D_e8Z"fp4,;s
y]zhCDu~/Ywfr4P_-"t/i0w._#
P1,Sw2ITC46qB~,k JMS ,Swr LDAP Changelog ,Sw;y,b
=_<ITdCIZH}B}]vVsYlwb)}]#+IZB~&mLrGZT
:D_LZYw,yT|GIC4r`vi0w._VIB~#bMa)K;V|e
zM|1[D=(4S`,D}]4}KM&m`V`MDB~#B~&mLr2I
TdC*0T/t/1,bb6Eg{zCdCD~t/~qw,b)B~&mLr
+"4;$n#byzM;X*i0w._Xp|{TCdC~qwD|nPN}K
PK#
H;Q-rzi\K IBM Tivoli Directory Integrator 9CDi~,VZzMIT9(
i0w._K#+zh*;vdkD~E\LxxP#zITZ IBM Tivoli Directory
Integrator D20?<DS?< examples\Tutorial BR=by;vD~D>},r_2
ITCD>`-w4(T:DbVD~#|,Dy>}]gBy>:
First;Last;TitleBill;Sanderman;Chief ScientistMick;Kamerun;CEOJill;Vox;CTORogerGregory;Highpeak;VP Product DevelopmentErnie;Hazzle;Chief EvangelistPeter;Belamy;Business Support Manager
KD~{* People.csv,;Z IBM Tivoli Directory Integrator 20?<D
examples/Tutorial D~PP#1|M;Ts,zMIT9C IBM Tivoli Directory Integrator
9(T:Dbv=8K#
8 IBM Tivoli Directory Integrator 5.2:kE8O
Z 3 B IBM Tivoli Directory Integrator
lY/I*"
IBM Tivoli Directory Integrator 5JOG=vLr:
Toolkit IDE
KLr*za)4("bTMwT/Ibv=8D<Ngf#Toolkit /I*"
73(Toolkit Integrated Development Environment)CZ4(KP1}ft/
DdCD~#Toolkit IDE DI4PD~;F* ibmditk#
KP1~qw
KP1~qw9CC Toolkit IDE 4(DdCD~(f"*_Ha9/D XML
D5)*/Ibv=8a)/&#KLrD~{* ibmdisrv,zITfb9C
Nb}?D~qw5}?pzDbv=8#IBM Tivoli Directory Integrator <
uTK;P?FT^F#
t/ Toolkit IDE#,L.srzT>wA;#SbozIT4(;vBdCD~,zI
TYHCJCD~#
":g{z4=DA;k>VaPDA;lU;,,G4zD53I\9CK;,D
T>hC#k4PTBYw4|DT>hC:
1. %wD~–>`-W!n#
2. %wb[!n(#
3. %wb[kPu!n(#
IBM Tivoli Directory Integrator 0ZDs!ITw{#g{>VaPDA;lUk
zT:4=D;;y,k"T|DzA;OD0Zs!#!qD~–>`-W!n
ar*;vT0r,ZKT0rZzIThCm`d|DC'gfN},Hgw
4%$_8GqI{,r_zGq#{ IBM Tivoli Directory Integrator Z0ZW
?9C04,81#
A;D%?GwK%M4%$_8#
© Copyright IBM Corp. 2002"2003 9
w$_8a)4(BdCD~"r*VPdCD~M#f10$wD|n,,19a
)8v<=4%#b)|n2ITZD~M0ZK%PR=,Zboz9IT"VC
4+dC#f=;vBD~{Dmf*!n#
4(;vBdCD~
IBM Tivoli Directory Integrator dCD~f"* XML D5#|GZ Toolkit IDE P
4(M,$,"C~qw4?p#?vdCD~|,~qwKPDi0w._MiI
b)i0w._D IBM Tivoli Directory Integrator i~#dCD~9#fU+M GUI
gfgqHC'W!n#
":dCD~9IT"<Z8vD~P,f"Z8v;CO#IBM Tivoli Directory
Integrator Zt/19Cz8(|,D URL MD~76/,iOddC#bb6E
zIT4(M,$IIm`~qwdC2mD+2hCMi~#z9IT(}Z
|G.dOEi~4;Nr*M&m8vdCD~#
10 IBM Tivoli Directory Integrator 5.2:kE8O
WNt/531,arzT>g0f<Ny>DUWA;#g{zVZ4(BdCD
~,IBM Tivoli Directory Integrator +/JzGqk4({* rs.xml D1!dCD~#
;*9C1!DdCD~{,k*CD~a)m;v{F#%w4(BDdCy4%
r9CD~–>B(K%!n4(;v{* Tutorial1 DdCD~(k"b,aT/*z
mS .xml )9{)#KD~Xk#fZ examples/Tutorial ?<P#
":IT+76{dk*20 IBM Tivoli Directory Integrator 18(D?<D76#
A;s`DwNS<;F*dC/@w,|*za);iD~P,biD~P|,z
Dbv=8Dwv=f#
%?jP AssemblyLines DD~P|,z4(Di0w._#MZCD~PDB=P
}vD~P,|Gf"zDi~b(;vD~Pf";V`MDi~)#b9z\;9
CdCMP*N}"}]*;T0d|5qfr4hCj<,Sw(}g LDAP"JDBC
M Notes HH),;s9C"XC|G44(BDbv=8#
Bf;PG#j8Xhv Toolkit IDE Dgf,xGhvK;Bb)dCA;D\e<
V:
v $_8BDA;Dd`?VI8v0qiI#0dC/@w1vVZs_,;}z
IT9Cw$_8PDP;T>dCwS<4%4~XMT>bv0q,r_%w
0dC/@w1T_Vt8%?D}74~XMT>#bv0qDR_G0j8E
"1xr,Cxra"zDdTT>zZ0dC/@w1P!qDnDj8E"#
v 0j8E"10qITT>`vj8DS<,?NZ0dC/@w1P!q;v;
,Dn<ar*;vBS<#b)0qI9C0ZK%CJ,r_9C?vS<%
?D!n(CJ(b!vZz*53hCDb[)#
v P10j8E"10q9|,nPm#g{z%w|,0j8E"10q9JOC
4T>b)nDj8E"#
v |DPmP*NbPVdDUd,=(GZwP.dD_gOF/sjbj(bj
a(}DdN448>ITgKYw),;s%wC_g"+dO/=B;C#
v ?v0*X1PmD%?G;P4%,|Ga)bV`MDTsICD;5PYw
(Z}]w0qP,4%8Z0,Sw1PmDBf)#wv0qDICYwPm<
;!`,,+#fP*<;y:!qPmPD;vu?,;s%w4%(PmS4
%1}b,K1z;h*H!qNNZ])#
v Z;vT>PmPDn1,zIT4 Shift r Ctrl |4;N!q8v*X#
v zITQnS0dC/@w1O=i0w._P,r_Zr*DdCD~dO/
n#
4(i0w._
zWHXk4(;vBDi0w._#R|%w AssemblyLine D~P#S/vDOB
D`XK%P,!qB(i0w._#+Ki0w._|{* CSVtoXML#
Z 3 B IBM Tivoli Directory Integrator 11
IT+i0w._|{*NNzkCD{F,+\X*D;cG*9CPzZG<b
v=8D|{<(#
":*i0w._r IBM Tivoli Directory Integrator i~(g,SwMB~&mLr)
|{19CXbV{MUq;GvCwb,r*Ts1zkS|na>{t/ IBM
Tivoli Directory Integrator Server 4KPbv=81ba<BvJb#Zi0w.
_P,bv=8PDi~Md|dCn<IZbv=8Pw*E>Ts9C,b
9zITZKP1|DN}MP*#bm>zkZE>P9C\}Cb)TsD
{F#
IBM Tivoli Directory Integrator VZ+Qzx=i0w._A;#k"b,KBA;+
nzH0UWDdC0q#
ZmS,Sw.0,klYX4;Bi0w._A;D<V:
12 IBM Tivoli Directory Integrator 5.2:kE8O
0j8E"1feD%?G;P!n(,?v!n(<k0dC/@w1Pr*Dn
PX(Z>}P,aT>Bi0w._D0j8E"1fe)#?v!n(DjbPP
;v4%P,dP|,CZXUKj8E"A;DXU4%#
":g{Cbj|!ZdC$_PD4%OavV$_a>#
}XU4%.b,K4%P9|,=vd|D4%:
KP KP10i0w._#
Z 3 B IBM Tivoli Directory Integrator 13
KPwT
IBM Tivoli Directory Integrator |,;v}]wwTLr,|9z\;4=h
4Pi0w._"[l1XF(S;v,Sw+]=m;v,Sw1i0w.
_P+MM*;D}]#
i0w._D0j8E"1A;s`DW+rG0,Sw1Pm,BD,SwmS=
}]wsMavVZbo#0,Sw1PmDB=T>0$wu?1#|9z\;P8
i4}]w,"<UrzT>}S,SD53AkD}]tT#b)PmDR_T>
10!qD,SwDj8E"#
ZKj8E"xrD%?Gi0w._!n(#b)!n(9zITCJC}]wD
wv=f:
b)!n(P:
Hook i0w._ Hook !n(9z\;ZTB1dhC*xPs5r*t/DE>:
v Z,Swu</.0(9z\;Zt/,SwD,S.0XBdC,Sw)
v Z,Swu</.s,+ZXF(+]xZ;v,Sw.0
v ns;v,SwjI.s
v 13vb?B~*si0w._U91
}]w 4(M,$,SwD;C#
dC... rza)Ci0w._Dn`dCN}#
wC/5X
ZbozIT*Ci0w._8(dkMdvN},TcZSb?}L(}
g,B~&mLr)wC|#
g{%wdC... !n(,za4=zIThCkZCi0w._P9CDN}(Hg,
E>oT),9IT^F|zN}(1*"MbTsM}]/ODi0w._1b;
c\PC)#
":;\zZi0w._P!q9CDVE>oT,IBM Tivoli Directory Integrator <
Jmz9CCd|oT`FDi~#zITZ JavaScript P`4T:Di0w._
_-,+;*zKP IBM Tivoli Directory Integrator D=('Vz!qDE>o
T,zT;I9CC VBScript 4(D,SwMyZ PerlScript DVvw#
,SwrD}B=G0,Sw1Pm4%8,C8a)m`C4&m,SwDYw:
b)4%4PTBYw:
14 IBM Tivoli Directory Integrator 5.2:kE8O
mS,Sw
+BD,SwmS=i0w._#9IT(}+$HdCD,SwS0dC/
@w1O=0,Sw1PmP4jIbn$w#
mSE>i~
+BD,SwmS=i0w._#0E>i~1G;vITEZi0w._P
DE>i#
>} Si0w._>}10!qDSZrE>i~#
X|{ 9z\;|D10!qDnD{F#
OF +!qD,SwrE>i~/i0w._D*<&OF;vc;#bV;Cw
{\X*,r*i0w._4T%rBD3rKPb)n#
BF +y!n/Pm)2&rBF/#
4F=b
4Fy!D,Sw,"+dEk,SwbP( Z0dC/@w1PD0SZ1
D~PDB=)#
mSdk,Sw
%wmST4(Z;v,Sw#
QC,Sw|{* InputPeople,;s%wjG*,SwDB-Pm#VZSPmP!
qD~53#e,by+T>53=xD,Sw,bSyP"aZ,Swb(Z
Connectors D~PP)PD,Sw#bi~T>Zb)B-Pm!nD%?#
bo*hCDns;vN}G,Sw==,|f_i0w._K,SwDG+#IBM
Tivoli Directory Integrator PyV,Sw==:
AddOnlybV==JCZ;r}]4mSBE"D,Sw,}g,4kD~"WN2k
}]br?<HH#
Delete Delete ==C,SwQw8(Du?/G<,;s>}|G#*Qw9CDX|
Z 3 B IBM Tivoli Directory Integrator 15
Vf6;F*4Su~#,Sw4PiRM|B12Xk*d8(4Su~,
r*b)==2*s,SwZ,SD53PiR%dD}]#
IteratorIterator ==,SwDKPa){v}]4(r}]4D;?V,}g}]bS
<r?<QwDa{/),;s;N5X;vu?TcZi0w._PxP&
m#Iterator ==D,Sw;F*|zw#;vi0w._IT|,`v|zw,
"Rb)|zw;vS;vX,xt/,2MG5,1Z;v|zw=o|D
}]/)21Z~v|zwVt/#
LookupK==C,SwiR"5Xk8(DQwu~%dDu?,2G+E"U/=
}]wPD==#
UpdateZ Update ==B,,Sw"TiR8(Du?rG<#g{,SwiRI&,
MC+]x|DE"^DVPDu?#g{;PR=,r,SwaD*mSC
E"#
Call/ReturnbGvG#XbD==,ZbV==BWHdv;vwC|(Hg;v SOAP
{"r JMS u?),;sH}&p#g{zk9C Web ~q,Sw,G4X
k+|h* Call/Return ==#
":";GyPD==TZyP,Sw<IC#}g,g{&mDGD>D~,M;
'V Lookup"Delete"Update M Call/Return(}Gz`4T:D,Swrv?V
PD,Sw)#
TZ;vi0w._IT5PD,SwD}?;P^F,xRz9IT4h*5PJ
1}?D,`M,Sw,uAIT+|G,S=,;v}]4#Z3)ivBbuA
GXhD#}g,Yhzk4(;vi0w._4dv;v}]4PDyPG<#W
HzhC;v|zw(}g,;v Iterator ==D,Sw)45Xzk>}DTs#;
smSm;v,Sw,+ddC*9C,;v53,+bN+dh* Delete ==#Z
G,i0w._MV/{vdk4,+u?"MxC4>}|GDZ~v,Sw#
P1z";#{C`v,S,1,=,;v}]4#49Zm~mI$?FJ4x(
r^FDivB2;I\#ZbVivB,zITZv/=0,Sw`M1B-Pm
DWKmSBD,Sw1f_ IBM Tivoli Directory Integrator XCVPD,S#Zb
ozIT"Vi0w._Pd|,SwD{F,|GD{FvV10fax;v at {
E()#
16 IBM Tivoli Directory Integrator 5.2:kE8O
|{K,Sw"(eK`MM==(kNDZ 15 3D:mSdk,Sw;)s,k%
w7(7OzD!q#KBD,SwvVZdC0qs`Di0w._,SwPm
P#k"b,10y!,SwDj8E"VZgNT>ZPmR_D0j8E"1T
>xrP#
Z 3 B IBM Tivoli Directory Integrator 17
g{zTsk|D,Sw`M,;h%wj8E"0q%?DLPT:4S(Z4,
B-PmDT_),;s!qm;v,Sw#
mS,Sws*vDZ;~BMGdCC,Sw#7#ZT>D,Swj8E"P!
qKdC!n((gO<y>)#K!n(kz},SED}]4t\X,Z;p,"
RTZ?V`MD,Sw|<;,#
zUUmSDD~53,Sw*szdkzk4kDD~D76#9C0D~761
VNT_D!q... 4%(zI\XkQ0qrT_v/,b!vZzDA;VfJ),
!q examples/Tutorial S?<PD People.csv D~#
18 IBM Tivoli Directory Integrator 5.2:kE8O
r*zVZ9CDGA"4Ga9/}]D,Sw`M,rK}76{.b,z9X
kdC;vbvw#WH!q0bvw1!n((Z,Swj8E"0qP0,S1
DT_),;s%wC!n(W?DLPT:rPD [parent] 4S#
Z 3 B IBM Tivoli Directory Integrator 19
*bvwhC,SwLPT0d|XTDm;V=(G9C0LP1T0r#%w,
Swj8E"0q%?D0LP14%ITwvKT0r#
":g{zDbPP$HdCDbvw,G4zITS0dC/@w1OvCbvw
"+dEZLPT:rPD [parent] 4SO#g{zlid|,SwD!n(,
Ma"b=,SwDyPwv=f<GITLPD#
r*0LP1T0rs,!q CSV Parser#
20 IBM Tivoli Directory Integrator 5.2:kE8O
1bvwM;s,!q#=!n(#k"b,zITqC=}]4Dn/4S#%w
,S4%#
%wC!n(%?D,S4%T7(,Sw\qCJ}]4#g{I&,za4={
"0Q(",S1#VZ%wB;v4%#z?N%wB;v4%<GZf_53A
!}]4PDB;vu?,Vv#="+X(Z}]4D}]`M*;*|GD`X
Java Ts(HgV{."UZ/1d"{}HH)#
Z 3 B IBM Tivoli Directory Integrator 21
S}]4lwD}]T>ZxqP,xPtT{"IBM Tivoli Directory Integrator *+
|G*;ID Java Ts`MT0|GZ}]4PD5J5#by;vIT7O,SD
53rD~Gn/D,xRz9IT1[XXF}ZA!D}]#g{ IBM Tivoli
Directory Integrator ;gzy8*;y>}]`M,k;**E#1z+b)tT3d
=}]w1,z<UITXhKP*#
+tT3d=i0w._P
tT3dGZ}]4M}]w.d4XF/E"DYw#zZO;=PQ-4=K IBM
Tivoli Directory Integrator gN;v*z"V#=,9+}]T/*;* Java Ts#G
4*249XkxPtT3dX?
!\ IBM Tivoli Directory Integrator Q-9}]I)z9CK,+53";P$kz
<8gN9Cb)}]#rKnpkzXk!qG)#{9CDtT#
3)tTI\XkFc"iO"4(r_*;I;,Z IBM Tivoli Directory Integrator
y!qDq=r`M#(#bG(}Z0tT3d1PxPE>`F4&mD#
*KbbZ IBM Tivoli Directory Integrator PGgNxPD,WHXkKb,Sw5
JOGI=?ViID(d5yPDi~<Gby):
v -<,Sw,|*@gNkX(}]4(E"bM4TC}]4Dl&
v (Ci0w._,Sw|0Lr,|C,Sw\;ek IBM Tivoli Directory Integrator
i0w._r\"ZdPxPYw#
+=r+v}]4DE";#tZ-<,SwZD;vY1>Xf"TsP#z}G
SK&+tT3d=i0w._P,r_Zdv,SwDivB,+tTyb3d=
}]dv4#
P;vf"wTs(;v{* work Du?Ts),|;{vi0w._C4+M}]
5(tT)#mb,?v,Sw<P;v{* conn D>Xu?Ts,|;CZ4P}
]CJYw#QtTFkrFv}]wF*3d,|*sZi0w._D work TsM
,SwD conn TsdF/}]5#
22 IBM Tivoli Directory Integrator 5.2:kE8O
H0a=},zITf1|D,SwX(Z}]4D?V,;h9C0LP14%r
%w,Swj8E"0q%?DLPT:4S4I(kNDZ 19 3)#+g{byvD
0,zI\9Xk|D0tT3d1T9i0w._PD5qfr(E>)Md|,
SwT\CJ|GyhDtT#
g{|D,Sw==,zD0tT3d12PI\\0l,r*dk==D,SwQ
tTS-<,Sw(ZzDE>P{* conn)D>Xf"w3d=CZf"M+Mi
0w._P}]DTs(work Ts)#dv,SwTm;v=r3dtT:S work =
conn#
ZzD>}P,InputPeople ,SwGdk==,yTzXkhC0dk3d1#
OfjP Work tTDrG0tT3d1$_8,|9z\;&m3dPDtT#3d
DR_xrrzT>,Sw"VDtTDPm#ZbozIT!q;vr`vtT,
;s+|GO=0tT3d1O#zIT(};vT>PmPDn14 Shift r Ctrl |
4;N!q8v*X#
":1z"Tbyv1,zD=(D Java GUI gfbD10f>I\avJb#g{
GGyD0,k"TO/tT"+|GEZ{* Work tTDPmjbD%?#
k"b,1zr0dk3d1mStT1,b)tTa,1Z Work tTPmMi0w
._D$wu?rPvV,CrMZi0w._,SwPmD}B=#
Z 3 B IBM Tivoli Directory Integrator 23
0$wu?1s;v0Z;yT>Z}]wP,rzT>4Ty,S53(r_z4
()DD)tT};3dx%,,19T>:p&m|GD,SwD{F#
1jIZ;v,SwDtT3ds,|4O%kTB`F:
24 IBM Tivoli Directory Integrator 5.2:kE8O
zVZQ-hCDG;vr%D"S,SwAi0w._D;T;3d#g{h*Y
T"4S)D3d,G4H0a0D Work tTrOfD4%MIT"SwCK#}
g:
B( bv4%CzV/mS;\SzDNNdk53qCDtT,r_I\h*y
]VPtTFcDtT#
>} S3d>};vr`vtT#
P;... ZT>IC,SwtTD0qMT>?vtTZ3dPD&mjiD0q.d
xPP;#
X|{...Cz|DtTD{F#
rOMrB}7
b)}79z\;|D,SwDKP3r#kG!,i0w._SPmn%K
D,Sw*<rBKP#
4F=b
g{zP;v4zDh*dCD,Sw,zMIT4bv4%Q|4F=,S
wb#
1zZdk3dP!qtT1,aT>CtTD3dj8E"#3dj8E"0qD
%?G;vjG*_6D4!r#zIT4=,;P!qjG,bmwz}*tT9
Z 3 B IBM Tivoli Directory Integrator 25
C0r%13d,}g,IBM Tivoli Directory Integrator i!}S,SD53AkD`
&tTD5#
+g{#{*;+kD}],rCd|==&mb)5,zMITC_6==Tb)
}]xPE>`F#!q_6==,MavV;vE>`-w0Z,Zbv0ZZz
ITmST:D_-#g{z;k#b IBM Tivoli Directory Integrator Zr%==B
*zvD$w,G4CrI\|,BfD JavaScript zk,N:
ret.value = conn.getAttribute("First");
":1 IBM Tivoli Directory Integrator 4Pr%3d1,|sOfEvDGy4Ft
T,+|Z>z Java P4F,x;(}!q0_63d11wCDE>`F}f
xP4F#g{z;*xPr%3dM;K,G4M;*!q0_63d1;r
%3dZC IBM Tivoli Directory Integrator &mf0D}]F/1'J|_#
26 IBM Tivoli Directory Integrator 5.2:kE8O
bPE>S-<,Sw(conn Ts)PD>Xf"w5X{* First DtT#
k4;a IBM Tivoli Directory Integrator E>`-w0Z,;*zh*`4E>|M
avV#ZK0ZP1,zPm`#{`-w&\(dPD3)Z`-w0ZO=D
PPw*4%vV)#
}7| Z`-w0ZP0sF/bj#g{z,194K Shift |,zMIT!qD
>#4 Ctrl |Ms"R}7|0sF/bj,?NF/;v%J#,14 ShiftM Ctrl d4!q{v%Jr{PDE>#
tP SD>PtPv!qDZ]#K&\Z`-w0ZO=DPPw*SspDZ
;v4%a),,19(} Ctrl+X |Ll]|a)#
4F 4F10D!qZ]#4FI&}%w4%PPTspDZ~v4%r4
Ctrl+C |4jI#
3y +D>3y=E>PbjD10;C#zIT%wTspDZ}v4%r4
Ctrl+V |#
7z XvO;N`-Yw#|GTspDZDv4%#
Xv XB&CU7zD|D#0Xv1Z4%PPvVZ7z4%DR_#
iR 9z\;ZE>PQwD>#zIT%wTspDZyv4%r4 Ctrl+F |#
YNiR
X4O;NQw#%w4%P)KD4%r4 Ctrl+G |#
Z 3 B IBM Tivoli Directory Integrator 27
P;T/;P
Z`-w0ZPr*MXUT/;P#
Cb?`-w`-:ex
g{zQ-Z0`-whC1!n(BCD~–>W!nywK;vb?`-
w,1z4bv4%1+t/Cb?`-w#E>`-:exDZ];+M=
b?`-w,1zjI$ws,zD$wa{5Xx IBM Tivoli Directory
Integrator#
"T(}mS{* FullName DtT4`FE>,byzMIT9CSdk4AkDd
|tTD5xPFc#%w0dk3d1%?DB(4%#
ZvVDT0rP,dk{F FullName "%w7(#
IBM Tivoli Directory Integrator T/"T9Cr%3dS{* FullName D}]4t
Tlw5#bP;(,r*dkD~P;Pa)KE"#zh*Z0tT3d1Pm
P!qKBu?,"!q_63d4!r#byzMITCJE>`-w0ZK#
TBGC4*KtT4(5DE>:
28 IBM Tivoli Directory Integrator 5.2:kE8O
gn = conn.getString("First");sn = conn.getString("Last");
n0fDb=Plw First M Last tTDV{.5,"+|GVpf"Z=v{* gn
M sn DBd?P:
ret.value = gn + " " + sn;
ns;uod5Xb=v>Xd?D5,b=v5.,Z;p"ZPdSk;vU
q#
":zITZdv,SwP4(KtT#+r*TsZi0w._Ph*|,yTk
+|EZdk,SwP#
x}]wDdk!MVZQ-jI#z}Z,S=dk4,(} CSV bvw+]VZ
w(?N;P),+b)VN*;I Java Ts,;s+K}]F/=i0w._P#
VZCmSdv,SwK#
mSdv,Sw
%w,SwPmW?D4%$_8PDmS4%#+C,Sw|{* XMLOutput#Y
N!q0D~531`M"+,Sw==hC* AddOnly(D~53,Sw'VD(;
dv==)#
Z 3 B IBM Tivoli Directory Integrator 29
Z,SwPmP!qKbv,Sws*ddC,SN}:+dvD~|{* Output.xml
"+d4=dkD~yZD?<#
30 IBM Tivoli Directory Integrator 5.2:kE8O
VZ%wbvw!n("!q XML bvw#
Z 3 B IBM Tivoli Directory Integrator 31
VZz;*f_ XMLOutput ,Swr XML D54kD)tTMPK#%w,Swt
Tr(|O(GUD)OfDdv3d!n(,+tTSi0w._(}g0$wu
?1)3d=,Sw(conn u?)TC,Swdvb)5#k"b,r*C,Sw;h
C*dv#=(AddOnly),yT{CKdk3d!n(#
CZ3dDtTI=cXSjG*$wu?DPmPC=,CPmZ,Swj8E"
0qDs`#
32 IBM Tivoli Directory Integrator 5.2:kE8O
kz*dk3dyvD$w`F,+nS$wu?PmOkjG*,SwtTDPm
(k0f;y,zI\h*+|GEZjb8O)#
VZzXkmSzZ0fZ 5 3P8(D mail tT#IZzDdk4P^KtT,z
XkFc|D5#S0$wu?1Pmza4=P;v{* FullName DtT(zC
First M Last FcDtT)#zIT9Cbv5*z&mD?vu?<4(;vgSJ
~X7#r*;vKP`vgSJ~X7HO#{,yTzIT4(=v,C mail I
*;v`5tT#
Z 3 B IBM Tivoli Directory Integrator 33
*4PKYw,k%w0,SwtT1PmsO=DmStT4%#bar*;vT
0r,*sz*BtT|{#+||{* Mail,"%w7(#
ZPmP!qB,Sw#!q_63d4!r,;sdkTBE>:
gn = work.getString("First");cn = work.getString("FullName");
n0fDb=P+ First M FullName tTD5f"Z>Xd?P#k"b,z}Z
uy9C work TsCJi0w._PD}]#
var att = system.newAttribute("Mail");
B;P9C53wC44(BtT#*|a);vY1{F,d;CD0_GZz3
d=DtTs*d|{:
att.addValue(gn + "@company.com");att.addValue(cn.replace(" ",".") + "@company.com");
34 IBM Tivoli Directory Integrator 5.2:kE8O
b=PFc=v5,;s+|GmS=KtT,9KtTI*`5tT#ZZ~PO
z}9C Java String .replace() /},r* .GetString() D5X5G;v Java String
Ts#bNwCD?DGCc4f;{FPDUq,90Peter Belamy1byD5dI
0Peter.Belamy1#
ret.value = att;
ns,5XB4(DtT,IBM Tivoli Directory Integrator Q4STs*;Idv4D
q=#
zDZ;v}]w5VQ-ITbTK#
KPi0w._
i0w._VZQ-jI,<8xPbT#%wi0w._j8E"0Z%?Di0
w._4%$_8PDKP4%#
1zf_ IBM Tivoli Directory Integrator KPi0w._1,53t/;v~qw5
},"+10dC(}\@+Mx|#
":zITS Toolkit IDE b?t/~qw,"8>|9CX(DdCD~#
IBM Tivoli Directory Integrator VZ4(;v{* ExecuteTask-AL DB0q,rz
T>B4(Di0w._Dt/U>#
Z 3 B IBM Tivoli Directory Integrator 35
}W?DxLKvzkP(|;Gf_z~qwZ4P8(Di0w._sQ-#
9).b,C0ZPDdvVI}vw*?V:
v }ZKPD~qwDf>E"#
v T IBM Tivoli Directory Integrator KP73Dhv,|(dCKDv VM 9CT0
$w?<#
v XZbv=8gNt/DE",|(:
– 9CKD)N}t/~qw
– }9CDdCD~(Z>}PT>* <stdin>,m>|GS IDE -\@+M=K
P1~qwD)
– KPi0w._0d,SwD}LPzID{"
z9IT9CXbD IBM Tivoli Directory Integrator TsM/}(IZ`4E>1
qC,Hg task.logmsg(″your _message_goes_here″) /})T:rU>"M{"#
ZKns;?VDW?G8vi0w._(CSVtoXML)Q-^msKPD{"#b
b6EzITr*H08(DdvD~(kNDZ 29 3D:mSdv,Sw;)#r
*KD~(}gZ/@wP)9z\;7Oi0w._Q-75+ CSV dk}]*;
I XML D5#
36 IBM Tivoli Directory Integrator 5.2:kE8O
uA Mail M FullName tT2vVZD~P,GCzDE>,NFcD#
+dP;vu?(Roger,0fDA;lUPPv})G;j+D#Ku?,11Y
Last M Title tT#g{zlidk}]D~(kNDZ 8 3),MIT4=dk
CSV D~P5JO;Pb)VN#
nr%Dbv=8G`-C CSV D~"mS1YDVN#+*za)b4`XF(D
}]4\Y#rK,k(}T Hook xPE>`F4}Kdk#
":ZDxi0w._.0,k4PTBYw.;,TWH#f$w:
v %ww$_8PD#f4%#
v SwK%P!qD~ –> #f#
v 4 Ctrl+S |#
Z 3 B IBM Tivoli Directory Integrator 37
9C HookHook Gi0w._0d,SwKP}LPD]#c,Z Hook PzITmST:D_
-#d;s`} Hook <k,SwX*Z;p,+TPY}T>Zi0w._ Hook !
n(P#b) Hook <GZ}]wz|\Z*<Max1t/:
1. Prolog ;t/#
a. g{P0bE>1;dC*i0w._D0+V Prolog1,G4|GMaKP#
b. P=vi0w._ Prolog Hook:;vZ,Swu</=}]4D,S0t/,
;vZb.st/#H;zITSE>XFi0w._0d,Sw,G4z2
ITXBdCi~,uADdw>m#
c. VZ,Sw;u</#
d. u</.s,g{{* Prolog D Hook &ZtC4,D0,|Ma;t/#
2. VZ,}]w*<,XF(;+]xZ;v,Sw#Z;v,SwD&mjIs,
&mF/=zkPPDB;v,Sw,by@N`F,;1=ns;v,SwD&
mjI#g{i0w._PP|zw(}g,Iterator ==D,Sw),G4XF(
aX=pc,i0w._*B;vu?X4UED&m#!\?v,Sw==<P
T:DZ(}]w,+b)}]w<G;BD,"R2m`XD Hook#}g,
Lookup"Update M Delete ==<G4`,D==,ST&mQw(g{zZi4
Hook !n(1T;BP;#=MIT4=b;c)#0,Sw==wL<1m%PP
Tb)}]wD<N/hv#b)ITZ6IBM Tivoli Directory Integrator N<8
O7PR=,b>iIw*%@DlYN<8O#
3. 1yPD|z<ax1(}g,1ns;v|zwKP=}])21),i0w.
_ Epilog *<KP#
4. ns,,SwXU|GD,S#
RGYX=zD>},zkli CSV dkD~P1YD}]#IZbv}]4GI{
* InputPeople D,Sw&mD,kZ,SwPmP!q|,;s!q Hook !n(
(Z0tT3d1DT_)#ZbozITmS}K_-#
38 IBM Tivoli Directory Integrator 5.2:kE8O
?v,SwP}i Hook,Z Hook wPmPCD~Pm>:
In PrologCD~PZAYP=v Hook:
v ;vZi0w._ Prolog sKP(Before Initialization)#
v m;vMZi0w._ Prolog 0KP(After Initialization)#
Z Iterator ==B,1,SwqC|z*<}]DS<1,z9aZ!qYw0
sC=d| Hook#
DataFlow?NKP,Sw1Zi0w._D?N|zP<t/D Hook#s BeforeExecute M Default Error byD Hook yPD,Sw==<P#d|D Hook
s`}<GX(Z==#IZ InputPeople ,SwG Iterator ==,rK|*
4Pm` GetNext Yw4lwdk}]#Iterator ==*za) Before GetNextM After GetNext byD Hook,byzMITZT:D_-Pb0KAYw#
After Epilogb) Hook Zi0w._z|\ZD)2t/;N,MZi0w._D Epilog
.s#k"b,?v,Sw<a4|Zi0w._PvVD3rKPj|D
Epilog \Z(Before Close"XU,S"After Close),+GZ Hook zk
Pk;*+@5b;c#
Z 3 B IBM Tivoli Directory Integrator 39
!q InputPeople ,Sws,ZPmP%w After GetNext Hook#Z Hook PmR
_D`-w0ZPdkTBE>:
":g{0q+!(HgE>`-w),Mk%w"O/;vr`vVt84h(w
{|Ds!#
sn = conn.getString("Last");title = conn.getString("Title");
n0fD=Plw"f"-<,SwPa)D=vtTD5#g{Xd;BXZtT
3dDV[(Z 22 3),MaGp?v,Sw9C;v>Xf"wTsCZd}]Y
w#bvTsI(}E>d? conn }C#Z0fD>}P,zIT9C GetNextSuccessful r Default Success Hook 44P}K#r*b) Hook Z0dktT
3d1.s,yTb)tT;3d=$wu?,"RzITC work d?`4T:DE
>#
if (sn == null || title == null){
liT7(* Last r Title tT5XD5Gq* null(Zdk}]4P;fZ)#g
{Gby,G4BfD}PMat/#
":zI\kbTCi0w._Dzzf>PGqP|`VN#
task.logmsg("--> Record skipped (missing data)");
40 IBM Tivoli Directory Integrator 5.2:kE8O
task Ts*za)Ti0w._/}(Hg logmsg(),|Jmzri0w._DU>D
~4kZ])DCJ(#
task.dumpEntry(conn);
bNz9Ci0w._D(task)dumpEntry() /}+-<,SwD>Xf"wTs
(conn)DZ]4kU>D~#
":conn M work G,;V`MDTs,yTng dumpEntry() .`D/}Zb=v
TsP<IT\CXKP#
system.skipEntry();}
ns,9C system object’s skipEntry() /}r IBM Tivoli Directory Integrator "E
Ex}bvdku?,Zi0w._-7D%?XB*<,"A!B;vu?#
YNbTCP.0,kT"Tdv0tT3d1v)|D#
#=*;
ZzD>}(kNDZ 5 3)P,dvtTkdk4PDG)tTPE`,D{F#+
kk;B,TdvtTDf6wC+;F* FirstName M LastName:
FirstName =DS1.FirstLastName =DS1.LastFullName =DS1.First+" "+DS1.LastTitle =DS1.TitleMail =<compute_from_name>
IBM Tivoli Directory Integrator 9#=.dDtT{F3ddC\]W,z;hZdv
,SwD0tT3d1P1S|Bb)tTD{F4I#
!q XMLOutput ,Sw,%wzkZ0tT3d1P|DDtT,;s*<dk#
Z 3 B IBM Tivoli Directory Integrator 41
;*#Dba0li0w._PDE>,r*b){FG*dv,SwD0tT3
d1WNZ>X|DD#First M Last tTT\}7Ak,"Zi0w._PIC#
":r* IBM Tivoli Directory Integrator Q9c;1EZz}dkDVNP,yT4
9zP;=m;v,Swri0w._,zT;IT&ZtT{FD`-==#
*k*`-==,k%w,;3dPDm;vtT,r_4 Enter |C IBM Tivoli
Directory Integrator *@zDdkQjI#
#tb)|D(49|G;G-<f6D;?V),;sYNKPi0w._#1 IBM
Tivoli Directory Integrator jIs,X=dv/@w0Z"%w"B4%#g{z.0
XUKC0Z,G4XkX4zCZZZ;NKPsr*dvD~D=h(kNDZ
35 3D:KPi0w._;)#
1dvD~YNvV1,7O Roger Q;ZGy({}%#Z Jill M Gregory .
d)#mb,k"bzT=vtT{FxPD|D#
YN#fzDdCD~(Ctrl+S),;s*=B;=,SZ}v}]4U/}]#
42 IBM Tivoli Directory Integrator 5.2:kE8O
mS*a,Sw
kLLD~|,Z;pDG;vXZ.qKDr%}]b#9CK}]4+XZ.q
KDE""M=dv XML D5#
Z;=G(}%wi0w._$_8PDmS4%4mSZ}v,Sw#+K,Sw
|{* Debtors,;s!q BTree Ts DB ,Sw#K,Swh*&Z Lookup =
=,r*z*Qwki0w._P}]%dDG<#
+,SwmS=PmP1,IBM Tivoli Directory Integrator +B,SwE=i0w._
)2&#+byG;PD,r*zh*Zdk(|z).s,+VZdv,Sw.0
4P}]U/#
*bvbvJb,k!q Debtors ,Sw"%wi0w._}]w$_8PDOF4
%#
Z 3 B IBM Tivoli Directory Integrator 43
by+QC,SwOF;v[;,Tc|Z InputPeople .s+VZ XMLOutput .
0t/#VZ!qdC... !n(ThCK,Sw#
44 IBM Tivoli Directory Integrator 5.2:kE8O
dk}]D~D76{,|I\kOfD76{;,,b!vZz20 IBM Tivoli
Directory Integrator D;C(k"b}]bD~>m{* Debtors.dat)#Z0X|tT{
F1VNP,zh*8((;j6b)G<DtT{F#ZLL}]bP,|G
FullName tT(|a>z*24Zdk,SwP9lT`F{F|{DtT)#
1zkbTbv,SwD1r,k9C#=!n("%w,SMB;=4%,Msz
* InputPeople yvDGy#r_,zIT1S*=dk3d!n("9C=cDl
Y"V4%#
Z 3 B IBM Tivoli Directory Integrator 45
baC,Sw,S=|D}]4,T}]/4P;N GetNext "li5XDu?#bo
R=DtTT>Z0ICD,SwtT10Z,"RmOMIT3d#VZ!\by
;\"V}]4D#=P(eDyPtT(*Kzh*9C#=!n(PD"V#=
4%),+Qc;RGLx$w.C#
VZz*LxhC0tT3d1,T9`XE"dCI;i0w._9C#k%w
0#=1T_D!n(*Adk3d0q,;sS0ICD,SwtT1PmPQ
Amount M DateOfLoan O=0Work tT1rP#
":}gz+ZB;?VP4=DGy,z9CK}]4D FullName VN*0iR1
hCQwu~#+*=c9CtTxPQw,;h+tT|,Z0tT3d1
P,;h\Z}]4PqC|4I#
46 IBM Tivoli Directory Integrator 5.2:kE8O
hC4Su~
r*BD Debtors ,Sw&Z Lookup ==B,yT|+ZT:D}]4PQwX(
Du?,Th(*QZi0w._PDu?R=%dDu?#bV%d=WgN4P
IzZ{*,SwD4Su~D!n(P8(#
zI\Q-"b=K,1zmS Debtors ,Sw("7#|D==G Lookup)1,P
vB!n(d*IC,|MG{*dv3dD!n(T_D4Su~#
!qK!n(a/v04Su~1T>A;,ZboIT8(K,SwgN4Pi
R#
kXd;B1S*0tT3d1xPE>`FD IBM Tivoli Directory Integrator &\#
`,D-rZK&2JC#(}!P9C(FE>9(u~4!r(Z04Su~1
$_8DT_),zaC=;v0`-w10Z,zITZC0ZP4kX(Z}]
4DiRwC#TZ JDBC ,Sw,|ITG SQL SELECT od,xg{,S=?
<,2ITG LDAP QwwC#
Z 3 B IBM Tivoli Directory Integrator 47
;x,ktT3d;y,IBM Tivoli Directory Integrator 2IT*Wc}]44(`X
D API wC,9bv=8Z<uO|S@"#
%w04Su~1$_8ODmSB4Su~4%(|ZdC...!n(DBf):
104Su~1T0rvV1,kS IBM Tivoli Directory Integrator QZ}]4P"
VD#=P!qtT#;s!qHOKc(}g,equals r contains)#ns;vV
NCz8(i0w._P*k.HODtT#
jIs%w7(#
":i0w._P FullName tT0fD@*{E($)V{9 IBM Tivoli Directory
Integrator \;lwKtTDZ;v5(|ITPNb}?D5)TZ9(04Su
~119C#g{#{k3v`5tTDNb;v5%d,G4ITD*9C at {
E(@)#
48 IBM Tivoli Directory Integrator 5.2:kE8O
CT0rXU1,z+5X=i0w._A;,k!q XMLOutput ,SwT|B|D
0tT3d1,Cd|,}U/=i0w._PDB}]#S0$wu?1rP,+
BD Amount M DateOfLoan tTO=0,SwtT1rDOf#
#f$w,"YNKPi0w._#"zK24B?
i0w._@#K!bGr*z;Pbv Debtor Lookup ,SwZd}]bPR;=*
FullName tT|kDu?bvJb#RKDG,IBM Tivoli Directory Integrator Pm
`=(IT&mbViv#Z>}P,zIT`4;v Hook 4bvbvJb#
zXkv(Cv)24:
Z 3 B IBM Tivoli Directory Integrator 49
v zIT!qvT0u?P1Z Debtors.dat }]bP;fZ1b;B5#ZGViv
B,z8>LrgKvT,dvMa|,yPDu?,dPP)xP|GD.qE
",P)r;x#
v zI\;k4=:.K1,ZbVivB,zIT8>53x}ZmP;Pu?
(}g;P7.G<)DK1#
^[9CDV=(,<*tC Debtors ,SwP{* On No Match D Hook#
1. *AK,Sw,"%w Hook !n(#
2. %wboT>DwS<PD On No Match Hook#T>;vE>`-w0Z#
3. !qQtC4!r,#f$w"YNKPi0w._#
;*tCK Hook,zMGZf_ IBM Tivoli Directory Integrator ZiR}LPg{R
;=%d}]D0M;vNN$w#
1zYNKPi0w._"R|;@#1,U>dv+gBy>:
50 IBM Tivoli Directory Integrator 5.2:kE8O
ZbozIT4=z`k=}KE>PD{"Mu?*"(Z InputPeople D AfterGetNext Hook P)T0m>bN;v=NNmsD{"#
":?vu?DtTDvV3r";X*,"Rz53ODvV3rI\k>D5A
;lUPDvV3r;,#
zD XML dvD~9T>K=vX*Dd/:
v ZdvPIT4==v.0|,DB Debtors VN#
v ?v XML u?DtT}?dCw;`,,r*i0w._;P"VyPu?D.q
E"#
1 Lookup ,Sw(Debtors)Z}]bPR;=%dE"1,1!ivB|a*=i
0w._ms&mLr,xs_IZ;P_eDzk44PNNYw,rK;CS Hook
5X#+|75e}Kmsiv,rK!\1Y3)tT,&m9GITLxxP#
byI\a;7zzJb,+ZbVivB,|;Pzz#
Z 3 B IBM Tivoli Directory Integrator 51
g{z;TG)7.DKPK$,Cu4l?byD0zMh*r Debtors ,SwP
D On No Match Hook mSbNE>,N:
system.skipEntry();
kG!Zu<dkP Roger Guy}KvD#ba<Bby;Viv:Zdk}LP
}KvDK5JOG7.D,+i0w._@6CJ;=b)G<#
mb,z2ITZZ;v,SwP*1YDtT4(1!5#IBM Tivoli Directory
Integrator a)Km`&m1Y5bVivD=(#
H;zQ-4}KT9I/Ibv=8D53M}]wDhv,VZMC4;B IBM
Tivoli Directory Integrator uy9z\;lbMVIT:Dy!a9PD|DB~K#
52 IBM Tivoli Directory Integrator 5.2:kE8O
B~&mLr
IBM Tivoli Directory Integrator PDZ}V,2Gns;Vi~GB~&mLr#K{
<e,bvi~9RG\;4(51D"B~}/D/Ibv=8#B~&mLr9
RG\;ek53M~q,;sH}3V`MDB~(*#>}|( POP3/IMAP Jd
PDJ~=o,b1aP;vD~vVZ FTP URL P,"Z?<PxP;)|D#
ITQB~&mLrdC*y]9XDB~`M4PNb}?DYw:
v ++kD}](};vr`vbvwxP+M
v Ci0w._4P$wyhDB~N}t/|G
v wCb?Lrrb
rxT.,*KbMMVIB~,zh*|GvDNNB#
kd|i~;y,s`}B~&mLrD$w==<`F#+2P;)Gj+CE>
5VD(Hg0(C_LB~&mLr1)r_h*(CDdCgf(}g,Web ~q
B~&mLr)#*r%p{,z**T:D>}0Rj<`MDB~&mLr#
1;vB~&mLr6q;vB~1,|+B~N}*;* Java Ts"+|Gf"Z
>Xf"wTsP#bvf"wTskzZ0f?V9CD work M conn TsG#
`F#TZB~&mLr45,bv Java f"x;F*B~#
}b)B~N}b,P1z9aSB~qCtT,Hg"z4T LDAP ?<D modifyB~1#*9}]Z]MN};BZlZ;p,b)f"wTs(|( work M
conn)Q}]5#fZtTP,QN}#fZy=DXT(property)P#XTkt
T;yG}]5PX_,;,DGXT\G%5D,"R(#GV{.#1zQu?
Ts*"=U>P1(}g,9C task.dumpEntry() /}),za4=P;v%@D
?VCZT>U>dvPDtTMXT#
z+y]S,SD53SU=DXTMtT54(;iu~-YwfrT(eB~&m
LrgNT;,DB~wv4&#B~&mLr(#CZk;vr`v+%B~Di
0w._VIXF(#;}IZB~&mLrGITxPE>`FD,"Ra)Km
`Z(&\,rK|GTm2IT4Pm`$w#
dP;vn]WDkEB~&mLrG HTTP B~&mLr,9CCi~IT4(;v
r%D Web ~qw#
zXkZ examples/Tutorial ?<P4(=vBD~:index.html M OtherPage.html#k
NDZ 69 3D=< A, :index.html M OtherPage.html;TKbb)D~DZ]#
Z/@wPr* index.html#
Z 3 B IBM Tivoli Directory Integrator 53
bGzDw Web 3f,||,=v4S#%?D4S}CZ~E Web 3f
(OtherPage.html),xW?D4S|,T StartAL D}C#bns;v4SCZt/
zUE9(Di0w._#
Z;=G4(;v HTTP B~&mLr"dC|d1 Web ~qw#VZrzDdCD
~mSBDB~&mLr,IT9CTs–>B(B~&mLrK%xP!q,r_2
ITR|%w0dC/@w1PD EventHandler D~P,;sSOBDK%!qB(
B~&mLr...#+bvBB~&mLr|{* WebServer#
54 IBM Tivoli Directory Integrator 5.2:kE8O
IBM Tivoli Directory Integrator T>B~&mLrj8E"A;#
MszZi0w._j8E"0qP4=DGy,B~&mLr9*za);i!n
(:
Hook B~&mLrP;i Hook,b) Hook ki0w._PDG) Hook `F:
Z 3 B IBM Tivoli Directory Integrator 55
v Prolog
v Epilog
v Shutdown Request
k"b:?Nlb=;vB~1,B~&mLrD Prolog M Epilog Hook <
at/#
Yw3d
Z0Yw3d1PzIT(ezDu~-Ywfr#
dC IZm`B~&mLrr53rh8)DB~(*,rKzh*dC,SN
}#
WH!q0dC1!n(,;shCzD HTTP B~&mLr#
bv!n(9RG\;|DB~&mLrD`M"!q*9CDE>oTMhCwV
,SN}#(}Z HTTP KZN}PdkKZE 88 4dCB~&mLrl}zwP
DbvKZ#!q7w*XT4!r,MG8>B~&mLrQyPD TCP M HTTP
75w*XTf"ZB~TsP#
VZC444Yw3d!n(K#
56 IBM Tivoli Directory Integrator 5.2:kE8O
CA;VI}v0q:Yw3d"u~MYwn,?v0q<P;P4%CZ4(M
>}PmPDnT0|DwnD3r#
;\N1PB~"z,B~&mLr<+4PTBYw:
1. Prolog Hook KP#
2. XF(;+]xZ;vtCD0Yw3d1n0d;s5Du~#
3. g{sCDu~5* True(r_;*C0Yw3d1n(eu~),G4u~*
True !n(PDYw+;t/#g{sCDu~5* False,G4+4Pu~*
False !n(PDYw#msZ On Error !n(P&m#
4. 1YwjIs,XF(;+]xB;v0Yw3d1n,;s*CnX4Z 3 =#
+g{*bv0Yw3d1n!qKD!4!r,49;4P;vYw,KB~D
&m=hMXF(2*+]xB;=(Epilog)#
5. Epilog Hook t/#
6. B~&mLrH}B;vB~#
4mSBYw3dn4%44(;vBD0Yw3d1n,;s+KBn|{*
DumpEventToLog#
Z 3 B IBM Tivoli Directory Integrator 57
kp*K0Yw3d1n4(NNu~#bb6EB~&mLr+;1t/u~* True!n(P(eDYw#!qbvB0Yw3d1n,;s!qu~* True !n("m
S;vBYw#
58 IBM Tivoli Directory Integrator 5.2:kE8O
SbvA;lUPD0Yw!q1T0rPzIT4=,Pm`j<YwI)z!
q:
v wC;vr`vbvw
v `4T:D(FE>
v mSr>}B~XTMtT
v KPi0w._
v #9B~&mLr
!q*"B~TsYw"47(#VZzMIT%wKP4%4bTB~&mLr
K#
1B~&mLrZKZ 88 Ot/1,r*;v/@w0Z"ZX7VNPdkBfD
URL:
http://localhost:88
/@wO;T>NNZ],+g{zYNwv IBM Tivoli Directory Integrator,z+4
=CB~;B~&mLr6q,wVB~N}Q-*"=KU>P,Ms IBM Tivoli
Directory Integrator 4U8>4PDGy#
Z 3 B IBM Tivoli Directory Integrator 59
*"B~TsDZ]G;V6pfB~5XDN}DlYxVISD=(,zZ(e
u~1IT9CbV=(#k9C0fA;lUP;vT>D http.base tT4"Tb
V=(#k"b,ZzTB~&mLrxPD|Dz'.0,zXk#910KPD
5},=(G%wl+D#94%,r_XU4P0q#
X=zDB~&mLr,4(;vB0Yw3d1n"+d|{* StartAL#!qbv
B0Yw3d1n"%wmSBu~4%#
60 IBM Tivoli Directory Integrator 5.2:kE8O
ky#;y,IBM Tivoli Directory Integrator 9RG\;C(FE>&m4SDiv#
Zboz;h*bVinT,yTk!qr%u~#;s53arRGT>;vu~
T0r#
Z 3 B IBM Tivoli Directory Integrator 61
ZtT/XT{FVNPdk http.base,;sSB-PmP!q contains Kc{#
Z5VNP,dkS}EDD> ″StartAL″#ba8>B~&mLrli http.base X
TGq|,D> ″StartAL″#H;z;P!qxVs!44!r,s!4M;a0lbv
0u~1Da{#
VZz;hf_B~&mLrZ0u~1C=zc1u4vMITK##V StartAL Y
w3dnT;!P,ru~* True D~P!n(mSBYw,"!qKPi0w._
Yw#
62 IBM Tivoli Directory Integrator 5.2:kE8O
zIT+wNNYwTwvCYwDj8E"T0r:
9CB-Pm!qzD CSVtoXML i0w._,;s%wjPH}jID4!r#!
qC!nGf_B~&mLrZzDi0w._jI.0]#,T@RG^bP"P
t/|`N#1zdkKCYwDj8E"s,MIT9CXU0q4%XUT0r
(kND0fDA;lU)#
YNt/B~&mLr#H|t/,;sYr*zD/@w0Z#zkCJ`,Dz
wMKZE(http://localhost:88),+bN*Z URL D)2=Su~D>(startAL):
http://localhost:88/startAL
zI\a"b=/@w5X1CK;!ay1d#bGB~&mLrZt/zDi0
w._,;sH}|jI#g{P;X IBM Tivoli Directory Integrator,zITZU>
dvP4=:B~&mLrZ*"KB~TssKPzDi0w._#
Z 3 B IBM Tivoli Directory Integrator 63
=VZ*9,;1<9;m,+zDB~&mLrTG;s Web ~qwGy$w#*
mSbv&\,zXkr0StartAL Yw3d1nDu~* False !n(mS;)n
bDzk#Z!qCnDivB,ru~* False !n(mS(FE>Yw(+wBY
w4qCj8E"A;)#zI\krOO/0u~1M0Yw1.dDVt8TZv
|`DUd4E>#
64 IBM Tivoli Directory Integrator 5.2:kE8O
VZk*CYwZE>`-w0ZPdkTBE>:
// First we get the http.base property (returned as a Java String object).// The second line below defines a new variable with the full path to// where the Tutorial HTML files are located on your machine.//base = event.getProperty("http.base");path = "C:/Program Files/IBM/IBMDirectoryIntegrator/examples/Tutorial/";
// We can use the Java String endsWith() function to check the extension// of the file being requested by the browser. We then set the properties// for the HTTP message that the EventHandler will pass back to the browser.if ( base.endsWith(".gif") )event.setProperty ("http.content-type", "image/gif")elseif ( base.endsWith(".jpg") || base.endsWith(".jpeg") )
event.setProperty ("http.content-type", "image/jpeg")elseevent.setProperty ("http.content-type", "text/html");
// If this is a root or null request, add the name of our main Web// page ("index.html").if ( base == "/" )
base = "/" + "index.html";
// Now we create a new Java file object with the name of file
Z 3 B IBM Tivoli Directory Integrator 65
// that was requested, and prepended with the path variable that// we created above.var file = new java.io.File(path + base);
// Here we write the name of the file to the log.task.logmsg ("File request: " + file );
// Finally, we can use the exists() function to see if the file was found.// If so, we pass it back in the http.body property. If not, we set the// status so that the browser will display the standard 404 error.if ( file.exists() )
event.setProperty ("http.body", file);else
event.setProperty ("http.status", "NOT FOUND");
bG?0*9n$Dzk,N#49by,TZ9( Web ~qw45b)zkT;c
`#YNt/B~&mLr,;sZ/@wPdk http://localhost:88#zaC=U
E4=D Web 3f#
5JO,B~&mLrXk*=vB~a)~q:WH|5X index.html 3f,;sZ
/@w*<V> HTML 1|lb GIF <q"r~qwksC<q#g{zP8i4U
>dvMa4=bvnbB~#
k"T%w9d|3fvV;sYX4#zDr% Web ~qwaa)yPDIC3f#
g{dk;v;fZDD~ URL(g http://localhost:88/BadPage.html),B~&mLr
aZ/@wP5X;v File Not Found ms#
w3fDW?GzH04=DZ~v4S:g{Qsj|!ZC4SDOf,za4
=|}C URL http://localhost:/StartAL#%wK4S1,zH0(eDu~C=zc,
i0w._t/#
66 IBM Tivoli Directory Integrator 5.2:kE8O
'2z!zQ-jIK IBM Tivoli Directory Integrator y>`5,VZIT*<EV
9(T:Dbv=8K#1;,zD'0.7";G=K*9,9Pm`&\P}z
%"VM=w#kyPD*"$_;y,l\zI,`CE\I*EcD9C\V#
nsD<<
!\ IBM Tivoli Directory Integrator 9}]wD9(dCVlV]W,+zIDbv
=8DJ?9*!vZzDn?5wiDC5LH#IBM Tivoli Directory Integrator .
yT\a)oz5JOGr*|}%K=(M)&L<uO[o,b)O[oh2K
zDS_"^FKzDks&#
g{bvK}]w6pD/IJb,$wD4STMa5M#byzMIT+f<G
?pYH"bv=8D+7H"!3T"I,$THJb#5JO,1z*<4Up
THr/Ybv<<1,M*<S+BDSG%4}zD20M|D/II\TK#
ZzDbv=8jI"?psD\$;N1do IBM Tivoli Directory Integrator T;
G#X*#1zD5qM<uhsDd1,IBM Tivoli Directory Integrator Jmzv?"
"9T:Dbv=84bvb)BDQb#bMG IBM Tivoli Directory Integrator D
H&yZ - v?5V#zIT"9T:D/Ibv=8(T0y!a9)4zczD
h*T0|yZD73#
P*Gf5D,zDP*NIZ(2\^Z)z9CD$_/#!q\r%#zIT
LxQzP*DZ]1wB54S\,;%hkzD/Iy!a9T9|JOz}Z
9CD$_,r_z2IT|;$_#
Z 3 B IBM Tivoli Directory Integrator 67
68 IBM Tivoli Directory Integrator 5.2:kE8O
=< A. index.html M OtherPage.html
zXk4(=vBD~:index.html M OtherPage.html 4jI>VaPD>}#
zXkZ examples/Tutorial ?<P4(b=vD~#
index.htmlBfG index.html D~DZ]#
Qb)zk4F"3y=;vD>`-w(}g,GB>)P,;sQD~mf*
index.html:
<html><head><title>IBM Tivoli Directory Integrator</title></head><body><h1>This sample website is powered by<br>IBM Tivoli Directory Integrator</h1><br><br><br><br>Click <a href="OtherPage.html">here</a>to go to the other page.<br><br><br><br>Click <a href="StartAL">here</a> to runour <i>Tutorial1</i> AssemblyLine. </body> </html>
OtherPage.htmlBfG OtherPage.html D~DZ]#
Qb)zk4F"3y=;vD>`-w(}g,GB>)P,;sQD~mf*
OtherPage.html:
<html><head><title>IBM Tivoli Directory Integrator - Page 2</title></head><body><h1>...and this is the other page.</h1></div> <br><br><br><br><br><br>Click <a href="index.html">here</a>to go to back to the main page.</body></html>
© Copyright IBM Corp. 2002"2003 69
70 IBM Tivoli Directory Integrator 5.2:kE8O
=< B. yw
>E"G*Z@za)Dz7M~q`4D# IBM I\Zd{zRrXx;a)>D
5PV[Dz7"~qr&\XT#PXz10yZxrDz7M~qDE",kr
z1XD IBM zmI/#NNT IBM z7"Lrr~qD}C"GbZw>r5>
;\9C IBM Dz7"Lrr~q#;*;V8 IBM D*6z(,NN,H&\D
z7"Lrr~q,<ITzf IBM z7"Lrr~q#+G,@@Mi$NNG
IBM z7"Lrr~q,rIC'TP:p#
IBM +>I\Q5Pr}Zjkk>D5Z]PXDwn({#a)>D5"4ZhC
'9Cb)({DNNmI#zITCif==+mIi/Dy:
IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785U.S.A.
PX+VZ(DBCS)E"DmI$i/,kkzyZzRrXxD IBM *6z(?E
*5,rCif==+i/Dy:
IBM World Trade Asia Corporation Licensing2-31 Roppongi 3-chome, Minato-kuTokyo 106, Japan
>un;JC"zrNNbyDunk1X(I;;BDzRrXx:International
Business Machines Corporation04V41a)>vfo,;=PNNV`D(^[Gw
>D9G5,D)#$,|(+;^Z5,DPXGV(T"JzMJCZ3VX(
C>D#$#3)zRrXxZ3);WP;Jmb}w>r5,D#$#rK>u
nI\;JCZz#
>E"PI\|,<u=f;;<7DX=r!"ms#K&DE"+(Z|D;b
)|D+`k>JODBf>P#IBM ITf1T>JOPhvDz7M/rLrxP
DxM/r|D,x;mP(*#
>E"PTG IBM Web >cDNN}C<;G*K=cp{Ea)D,;TNN==
d1TG) Web >cD#$#G) Web >cPDJO;G IBM z7JOD;?V,
9CG) Web >cx4DgU+IzTPP##
IBM IT4|O*J1DNN==9CrV"zya)DNNE"x^kTzP#NN
pN#
>LrD;mI=g{*KbPXLrDE"To=gB?D:(i)JmZ@"4(
DLrMd{Lr(|(>Lr).dxPE";;,T0(ii)JmTQ-;;DE
"xP`%9C,kkBPX7*5:
IBM CorporationDepartment MU5A4611301 Burnet Road
© Copyright IBM Corp. 2002"2003 71
Austin, TX 78758U.S.A.
;*qXJ1Du~Mun,|(3)iNBD;(}?D6Q,<IqCb=fD
E"#
>JOPhvDmILr0dyPICDmIJOyI IBM @] IBM M'-i"IBM
zJm~mI-irNN,H-iPDuna)#
K&|,DNNT\}]<GZ\X73PbCD#rK,Zd{Yw73PqCD
}]I\aPwTD;,#P)b?I\GZ*"6D53OxPD,rK;#$k
;cIC53OxPDb?a{`,#Kb,P)b?G(}Fcx@FD,5Ja
{I\aPnl#>D5DC'&1i$dX(73DJC}]#
f0G IBM z7DE"ISb)z7D)&L"dvf5wrd{I+*qCDJO
Pq!#IBM ;PTb)z7xPbT,2^(7OdT\D+7T"f]TrNNd
{XZG IBM z7Dyw#PXG IBM z7T\DJb&1rb)z7D)&La
v#
b)E"|,U#5qYwP9CD}]M(f>}#*!I\j{X]>|G,b
)>}|,KvKU{"+>"7FMz7{#yPb){F<Gi9D,gk5J
s5yCD{FMX7`F?tIO#
f(mI:
>E"|(4oTN=Dy>&CLr,b)y>5w;,Yw=(OD`L=(#
g{G*4UZ`4y>LrDYw=(OD&CLr`LSZ(API)xP&CLr
D*""9C"-zrV"*?D,zITNNN=Tb)y>LrxP4F"^
D"V",x^kr IBM 6Q#b)>}"4ZyPu~Bw+fbT#rK,IBM
;\##r5>b)LrDI?T"I,$Tr&\#C'g{G*K4U IBM &C
Lr`LSZ*""9C"-zrV"&CLr,rITNNN=4F"^DMV"
b)y>Lr,x^kr IBM 6Q#
2b)y>LrD?]=4rdNN?VrNN\zz7,<Xk|(gBf(y
w:
© (s+>D{F)(j)#K?VzkGy] IBM +>Dy>Lr\zv4D# ©
Copyright IBM Corp.(dkj])#All rights reserved.
g{z}Tm=4q=i4>E",<,MJ+<}I\^(T>#
Z}=i~yw
Apache yw
>z7|, Apache Software Foundation(http://www.apache.org/)*"Dm~#b)
Apache i~|( Xerces"Xalan"XML4J M Log4J b,"R|GGT?jzkN=a
)D#K?jzkGS Apache Web >cq!R4S^D#
72 IBM Tivoli Directory Integrator 5.2:kE8O
Apache mI$
Apache m~mI$,f> 1.1
Copyright (c) 1999-2002 The Apache Software Foundation. All rights reserved.
g{zcBPu~,r^[P^^D,<JmT4zkM~xFN=YV"M9C:
1. 4zkDYV"Xk#tTOf(yw"Ku~PmT0Bvbpun#
2. T~xFN=YV",XkZV"1a)DD5M/rd|DOP4FTOf(y
w"Ku~PmT0Bvbpun#
3. YV"1f=DnUC'D5(gP)Xk|(BPyw:0>z7|, Apache
Software Foundation *"Dm~ (http://www.apache.org/)#1mb,g{PK`Z}
=yw,Kyw2IvVZm~>m.P,x;[d(#vVZN&#
4. 4-BHifmI,{F0Xerces1"0Xalan1"0 log4j1"0mx4j1M
0Apache Software Foundation1;CCZ#$rYzI>m~IzDz7#*q!
ifmI,kk [email protected] *5#
5. 4- Apache Software Foundation BHifmI,I>m~IzDz7;CF*
0Apache1,2;CZ|GD{FPvV0Apache1Vy#
>m~T04V41Dy!a),ywb}NNw>r,>D#$,|((+;^
Z)JzTMJCZ3X(C>D,>#$#^[NVivMmI,^[NVPXb
%pNDm[,2^[GqPO,X5,GqPOqpNun,rGIZ9C>m~
<BDNNN=DV( (|(hvMd|-r),Apache Software Foundation rdhz
K<;TNN1SD"dSD"=xD"XpD"M#TDrs{TDp'b% (|(
+;^ZfzL7r~qDI:;9C"}]r{sD%';r_5qPO) :NN(
IpN;49BH((KbVp'b%DI\T,2GgK#
>m~I`{K1* Apache Software Foundation T8`4xI#XZ Apache Software
Foundation D|`E",kND http://www.apache.org
Rhino yw
IBM Tivoli Directory Integrator 9C Rhino(Java D JavaScript)?jzk#Rhino D
4zk;Z http://www.mozilla.org/rhino/download.html,"RIT4U Netscape Public
License 1.1(http://www.mozilla.org/MPL/NPL-1.1.html)PDunq!|#mozilla Web
>cOD Rhino 4zkZzI IBM Tivoli Directory Integrator P9CD?jzk1;
PxPNN^D#
Lj
TBuoG International Business Machines Corporation Z@zM/rd{zRrXx
DLj:
IBM DB2 Notes Lotus Domino Tivoli
Java"JavaScript MyPyZ Java DLjMUjG Sun Microsystems, Inc. Z@zMd
{zRrXxDLjr"aLj#
Microsoft M Windows G Microsoft Corporation D"aLj#
=< B. yw 73
UNIX G The Open Group Z@zMd{zRrXxD"aLj#
d{+>"z7M~q{FI\Gd{+>DLjr~qjG#
74 IBM Tivoli Directory Integrator 5.2:kE8O
���
Pz!"
S152-0828-00