thiet ke he thong truyen thong - ngo thi vinh.pdf
TRANSCRIPT
-
Trang 1
MC LC
CHNG 1: TNG QUAN V H THNG TRUYN THNG 41.1. Mt s giao thc c bn ca h thng truyn thng 4
1.1.1. Giao thc H.323 41.1.2. Giao thc SIP 81.1.3. Chun nn m thanh v hnh nh 11
1.2. Truyn thng thi gian thc 121.2.1. Cc khi nim v nh ngha c s dng trong RTP: 131.2.2. Th t byte, alignment v nh dng thi gian 15
1.3. Cc giao thc truyn thng trn mng Internet 151.4. Cc m hnh ng dng trn nn giao thc TCP/IP: m hnh client server, m hnhP2P. 16
1.4.1. B giao thc TCP/IP : 161.4.2. Dch v mng (Net service) : l mt chng trnh ng dng thc hin mt tcv no trn h thng mng. 171.4.3. M hnh Client-Server 17
1.4.3.1. Nhim v ca Client v Server 181.4.3.2. M hnh Client-Server ca dch v WEB 191.4.3.3. Cc ch giao tip 20
1.4.4. M hnh Peer to Peer 221.4.4.1. Phn loi mng ng ng: 221.4.4.2. u th ca mng ng ng 23
1.5. C ch giao tip lin qu trnh (InterProccess Comunication) 231.6. Mt s m hnh h thng truyn thng: 25
1.6.1. H thng tr li t ng IVR 251.6.1.1. Khi nim. 251.6.1.2. Cc dch v in hnh ca IVR. 261.6.1.3. Cc u im ca h thng IVR. 271.6.1.4. CallXML-CCXML 27
1.6.2. Hp th thoi (voicemail) 281.6.3. Dch v tin nhn SMS 291.6.4. Voice over IP 31
1.6.4.1. Gii thiu v VoIP: 311.6.4.2. u im ca VoIP so vi PSTN: 311.6.4.2. Cc hnh thc truyn thoi trn mng IP 331.6.4.3. Nguyn tc v m hnh hot ng ca VoIP 331.6.4.4. Cc nghi thc c s dng trong h thng VoIP 341.6.4.5. Cc vn lin quan n cht lng dch v 36
CHNG 2 : LP TRNH JAVA 382.1. Lp trnh hng i tng v lp trnh c cu trc 38
2.1.1. Lp trnh hng chc nng 392.1.2. Lp trnh hng i tng 41
2.2. Lch s pht trin ca ngn ng java 412.3. My o java v trnh bin dch 432.4. Bin son chng trnh bng phn mm Notepad ca Ms Windows 44
2.4.1. Son tho chng trnh ngun: 44
-
Trang 2
2.4.2. Bin dch v thc thi chng trnh 442.5. Cc khi nim c bn ca ngn ng java 45
2.5.1. i tng 452.5.2. Lp i tng 462.5.3. Tru tng ha d liu 462.5.4. Bao bc v che du thng tin 472.5.5. S m rng, k tha gia cc lp 482.5.6. a x ( tng ng bi) v np chng 492.5.7. Lin kt ng 502.5.8. Truyn thng ip 512.5.9. Cc u im ca lp trnh hng i ng 51
2.6. Cc kiu d liu 522.6.1. Kiu d liu c s 522.6.2. Quy c t tn lp, tn i tng, tn phng thc 53
2.7. Cc t kha trong java 542.8. Ch thch trong chng trnh java (Comment) 562.9. Cc php ton c bn 562.10. Cu trc mt chng trnh java kiu ng dng c lp 562.11. Cc cu trc iu khin 58
2.11.1. Lnh r nhnh if 582.11.2. Lnh switch 592.11.3. Lnh while 602.11.4. Lnh do - while 612.11.5. Lnh for 612.11.6. Lnh break 622.11.7. Lnh continue 632.11.9. Php ton ? 632.11.10. c i s ca chng trnh 642.11.11. i chui thnh s 642.11.12. Ngoi l (EXCEPTION) 65
2.12. Lp v cc thnh phn ca lp i tng 672.12.1. nh ngha lp 672.12.1. nh ngha hm thnh phn 672.12.3. Np chng cc thnh phn ca hm 682.12.4. Vit cc hm thnh phn v c ch che bng ca cc bin 68
2.13. Phm vi v cc thuc tnh kim sot truy nhp cc thnh phn ca lp 714.13.1. Phm vi ca cc thnh phn 712.13.2. Cc thuc tnh kim sot truy cp cc thnh phn ca lp 73
2.14. Cc kiu ng dng 742.15. Lm vic vi cc stream 75
2.15.1. Lp java.io.InputStream 762.15.2. Lp java.io.OutputStream 782.15.3. Nhp chui t mt InputStream 792.15.4. Xut chui ra mt OutputStream 80
2.16. Lp trnh lung (thread) 812.16.1. Cc mc ci t lung 82
2.16.1.1. Tip cn lung mc ngi dng 822.16.1.2. Tip cn lung mc nhn h iu hnh 83
2.16.2. Lung trong java 83
-
Trang 3
2.16.2.1. u tin ca lung 862.16.3. ng b ha gia cc lung 87
2.17. M hnh ng dng truyn thng qua socket v RPC 872.17.1. M hnh ng dng socket 872.17.2. M hnh ng dng RPC (Remote Procedure Call) 88
2.17.2.1. Gii thiu 882.17.2.2. Kin trc ca chng trnh Client-Server ci t theo c ch li gi th tcxa 892.17.2.3. Kch hot phng thc xa (RMI- Remote Method Invocation ) 902.17.2.4. Kin trc ca chng trnh 912.17.2.5. Cc c ch lin quan trong mt ng dng i tng phn tn 922.17.2.6. C ch vn hnh ca ca mt ng dng Client-Server theo kiu RMI 932.17.2.7. Cc lp h tr chng trnh theo kiu Client-Server trong Java 942.17.2.8. Xy dng mt ng dng phn tn vi RMI 95
Chng 3: LP TRNH TRUYN THNG QUA SOCKET102
3.1. c im ca socket 1023.2. Socket hot ng ch c ni kt 104
3.2.1. c im socket hot ng ch c ni kt 1043.2.2. Th d minh ha 107
3.2.2.1. Xy dng chng trnh Client ch c ni kt 1073.2.2.2. Xy dng chng trnh Server ch c ni kt 110
3.3. Socket hot ng ch khng c ni kt 1153.3.1. c im socket hot ng ch khng c ni kt 1153.3.2. Th d minh ha 116
CHNG 4: LP TRNH GIAO TIP VI CNG MY TNH 1234.1. Lp trnh cng LPT 123
4.1.1. c im cng LPT 1234.1.2. Cc gi v cc lp lin quan n lp trnh cng LPT 1254.1.3. Th d minh ha 125
4.2. Lp trnh cng COM 1284.2.1. c im cng COM 1284.2.2. Cc gi v cc lp lin quan n lp trnh cng COM 1314.2.3. Th d minh ha 131
CHNG 5: THIT K H THNG TRUYN THNG 1375.1. iu khin h thng trong java 137
5.1.1. Cc lp v cc gi h tr lp trnh h thng trong java 1375.1.2. Pht hin v tr ca chut 1395.1.4. Pht hin s kin chut hoc phm c nhn 140
5.2. M hnh ng dng truyn thng gia PC-PC 1415.3. M hnh ng dng truyn thng gia PC Phone 1415.4. M hnh ng dng truyn thng gia PC PSTN - Phone 1415.5. Th d minh ha 141
-
Trang 4
CHNG 1: TNG QUAN V H THNG TRUYN THNG
1.1. Mt s giao thc c bn ca h thng truyn thng
1.1.1. Giao thc H.323
- H.323 l chun m c ITU-T (Telecommunication Standardization
Sector of the International Telecommunications Union) pht trin cho vic iu
khin cuc gi ngang hng, da trn c s ca H.320 v ISDN Q.931.
- H.323 l mt cu trc cht ch, phc tp v ph hp vi vic thc thi cc c
tnh thoi truyn thng.
- Tiu chun H.323 thit k cho truyn audio, video v d liu qua mng IP
bao gm Internet.
- Tiu chun H.323 bao gm bo hiu v iu khin cuc gi, truyn v iu
khin a phng tin v iu khin bng thng cho hi ngh im - im v a
im.
- Tiu chun H.323 bao gm cc giao thc c lit k trong bng 2.1
Cc thnh phn c bn ca h thng H.323:
Cc thnh phn c bn trong h thng H.323 c m t trong hnh 2.1 di
y. Bao gm cc u cui, cng kt ni, thit b iu khin cng ni (gatekeeper)
v khi iu khin a im (MCU)
-
Trang 5
Hnh 1.1. Cc thnh phn ca mng H323
a. Thit b u cui:
- u cui cung cp thng tin im im v a im vi cc u cui khc.
- u cui H.323 bao gm cc khi nh iu khin h thng, khi truyn ti
phng tin, m ho audio v giao din vi mng IP.
- Phn thit k b ty chn c th l m ho video v thit b truyn d liu.
b. Cng kt ni(Gateway):
Cng kt ni cung cp giao din gia hai mng khc nhau.
Cng kt ni H.323 kt ni mng H.323 vi mng khng phi H.323 nh
PSTN. Cng kt ni chuyn i gia audio, video v cc nh dng truyn d liu
cng nh cc giao thc v h thng thng tin.
Cng kt ni ch cn thit khi phi kt ni mng phi H.323, do khng cn
thit khi kt ni gia 2 thit b u cui H.323.
Thit b iu khin cng kt ni (Gatekeeper):
Thit b iu khin cng kt ni l ty chn, c th s dng hoc khng.
Thit b iu khin cng ni cung cp cc dch v trc khi din ra cuc gi v dch
v iu khin cuc gi cho cc im cui H.323. Tuy nhin nu thit b iu khin
cng ni c mt trong mng n s c nhim v: bin dch a ch, iu khin chp
nhn, iu khin bng thng v qun l vng.
-
Trang 6
Cc chc nng ty chn ca thit b iu khin cng ni bao gm: bo hiu
iu khin cuc gi, xc thc cuc gi, qun l bng thng, qun l cuc gi.
Khi iu khin a im (MCU)
Khi iu khin a im l im cui (endpoint) h tr hi ngh ba thnh
vin hoc nhiu hn. MCU in hnh bao gm b iu khin a im (MC) v mt
hoc nhiu b x l a im (MP).
MC x l iu khin v bo hiu h tr hi ngh trong khi MP nhn d
liu audio, video v lung d liu, x l v phn b chng n cc im cui trong
thnh vin hi ngh a im.
B giao thc H.323 bao gm nhiu giao thc. B giao thc h tr chp nhn
cuc gi, thit lp trng thi, gii phng, lung phng tin v cc bn tin trong h
thng H.323. Cc giao thc c h tr c c ch truyn a ra gi tin cy v
khng tin cy qua mng IP nh minh ho trong hnh 2.3.
-
Trang 7
Hnh 1.2. B giao thc H323
B giao thc H.323 bao gm 3 vng iu khin :
+ Bo hiu ng k, tha nhn v trng thi (RAS) : bo hiu RAS cung cp
iu khin trc cuc gi trong mng thit b iu khin cng ni H.323
+ Bo hiu iu khin cuc gi (H.225) : da trn khuyn ngh H.225 ca
ITU-T m n ch ra vic s dng cc bn tin bn hiu Q.931. Knh iu
khin cuc gi tin cy TCP c tao ra trn mng IP vi m cng l 1720
+ iu khin v truyn ti thng tin Media (H.245 v RTP/RTCP) : H.245
x l cc bn tin t u n cui gia cc im cui H.323. Th tc giao
thc H.245 thit lp knh cho truyn audio, video d liu v thng tin knh
iu khin. Truyn a phng tin trong H.323 c cung cp bi RTP v
RTCP.
Trnh t thit lp cuc gi:
Nu xem xt mt cch chi tit th cuc gi gia hai u cui H.323 c
thit lp nh hnh 2.4
-
Trang 8
Hnh 1.3. Trnh t thit lp cuc gi
Trc ht c hai phi c ng k ti thit b iu khin cng kt ni
u cui A gi yu cu ti thit b iu khin cng kt ni ngh thit lp cuc
gi.
Thit b iu khin cng ni gi cho u A thng tin cn thit v u cui B
u cui A gi bn tin SETUP ti u cui B.
u cui B tr li bng bn tin Call Proceeding v ng thi lin lc vi thit
b iu khin cng ni xc nhn quyn thit lp cuc gi.
u cui B gi bn tin cnh bo v kt ni.
Hai u cui trao i mt s bn tin H.245 xc nh ch t, kh nng x l
ca u cui v thit lp kt ni RTP.
-
Trang 9
y l trng hp cuc gi im im n gin nht, khi m bo hiu cuc
gi khng c nh tuyn ti thit b iu khin cng ni. H.323 h tr nhiu kch
bn thit lp cuc gi khc.
H.323 l h thng ghp lai c xy dng t cc thit b tp trung thng minh
nh : thit b iu khin cng ni, MCU, cng kt ni v im cui. Mc d chun
H.323 trong phin bn gn y nht c phn ton din hn song vn vn ny
sinh, nh thi gian thit lp cuc gi di, qu nhiu chc nng thit b iu khin
cng ni phi thc hin v kh nng m rng khi s dng kiu bo hiu cuc gi
nh tuyn qua thit b iu khin cng ni (GKRCS).
Khi cn s dng cng kt ni dung lng ln kt ni mng PSTN, ngi ta
s s dng giao thc cng n gin (SGCP : Simple Gateway Control Protocol) v
giao thc iu khin cng phng tin (MGCP : Media Gateway Control Protocol)
thay th giao thc cho cng kt ni H.323. Cc h thng iu khin cuc gi ny
c v hiu qu hn, p ng nhu cu ca cc nh cung cp c ln
Cng vy, giao thc khi to phin SIP (Session Initiation Protocol) c th gii
quyt mt s tn ti ca H.323 v n kh nng s thay th H.323
1.1.2. Giao thc SIP
Giao thc khi to phin SIP (Session Initiation Protocol) l mt giao thc
iu khin v c chun ha bi IETF. Nhim v ca n l thit lp, hiu chnh
v xa cc phin lm vic gia ngi dng. Cc phin lm vic cng c th l hi
ngh a phng tin, Cuc gi in thoi im-im,.SIP c s dng kt hp
vi cc chun giao thc IETF khc nh l SAP, SDP v MGCP (MEGACO)
cung cp mt lnh vc rng hn cho cc dch v VoIP.
Cu trc ca SIP tng t vi cu trc ca HTTP (giao thc client-server). N
bao gm cc yu cu c gi n t ngi s dng SIP client n SIP server.
Server x l cc yu cu v p ng n client. Mt thng ip yu cu, cng
vi cc thng ip p ng to nn s thc thi SIP.
SIP l mt cng c h tr hp dn i vi in thoi IP v cc l do sau:
+ N c th hot ng v trng thi hoc c trng thi. V vy, s hot ng v
-
Trang 10
trang thi cung cp s m rng tt do cc server khng phi duy tr thng tin v
trng thi cuc gi mt khi s thc hin (transaction) c x l.
+ N c th s dng nhiu dng hoc c php giao thc chuyn siu vn bn HTTP
(Hypertext Transfer Protocol), v vy, n cung cp mt cc thun li hot ng
trn cc trnh duyt.
+ Bn tin SIP (ni dung bn tin) th khng r rang, n c th l bt c c php
no. V vy, n c th c m t theo nhiu cch. Chng hn, n c th c m
t vi s m rng th Internet a mc ch MINE (Multipurpose Internet Mail
Extension) hoc ngn ng nh du m rng XML (Extensible Markup Language).
+N nhn dng mt ngi dng vi b nh v ti nguyn ng nht URL (Uniform
Resource Locator), v vy, n cung cp cho ngi dng kh nng khi to cuc gi
bng cch nhp vo mt lin kt trn trang web.
Ni chung, SIP h tr cc hot ng chnh sau:
- nh v tr ca ngi dng.
- nh media cho phin lm vic.
- nh s sn sng ca ngi dng tham gia vo mt phin lm vic.
- Thit lp cuc gi, chuyn cuc gi v kt thc.
B. Cu trc ca SIP:
Mt kha cnh khc bit ca SIP i vi cc giao thc x l cuc gi IP khc
l n khng s dng b iu khin Gateway. N khng dng khi nim Gateway/
b iu khin Gateway nhng n da vo m hnh client/server.
Server: l mt chng trnh ng dng chp nhn cc bn tin yu cu phc v cc
yu cu ny v gi tr cc p ng cho cc yu cu . Server l Proxy, gi li
(redirect), UAS hoc Registrar.
Proxy server: l mt chng trnh trung gian, hot ng nh l mt server v
mt client cho mc ch to cc yu cu thay mt cho cc client khc. Cc yu cu
c phc v bn trong hoc truyn chng n cc server khc.
Mt proxy c th dch v nu cn thit, c th to li bn tin yu cu SIP trc
khi chuyn chng n server khc hoc mt UA. Trong trng hp ny trng Via
-
Trang 11
trong bn tin p ng, yu cu ch ra cc proxy trung gian tham gia vo tin trnh x
l yu cu.
Redirect server: l mt server chp nhn mt yu cu SIP, nh x a ch
trong yu cu thnh mt a ch mi v tr li a ch ny tr v client. Khng ging
nh Proxy server, n khng khi to mt yu cu SIP v khng chuyn cc yu cu
n cc Server khc. Khng ging nh Server i din ngi dng UAS, n khng
chp nhn cuc gi.
Registrar: l mt server chp nhn yu cu REGISTER. Mt Registrar c
xp t vi mt Proxy hoc mt server gi li v c th a ra cc dch v nh v.
Registrar c dng ng k cc i tng SIP trong min SIP v cp nht v tr
hin ti ca chng. Mt min SIP th tng t vi mt vng H.323.
UA (User Agent): l mt ng dng cha c UAC (User Agent Client) v UAS.
+ UAC (User Agent Client): y l phn ngi s dng c dng khi to mt
yu cu SIP ti server SIP hoc UAS.
+UAS (User Agent Server): l mt ng dng server giao tip vi ngi dng
khi yu cu SIP c chp nhn v tr li mt p ng i din cho ngi dng.
Hnh 1 trnh by hai thnh phn chnh ca SIP: User Agent v SIP server. User
Agent l mt im cui giao tip vi ngi dng v hot ng i din cho
ngi dng. User Agent bao gm hai phn chnh: mt giao thc client c bit
nh l UAC v mt giao thc server c bit nh l UAS.
UAC khi to cuc gi v UAS tr li cuc gi.
Do User Agent cha c UAC v UAS nn SIP c th hot ng ngang hng khi
s dng m hnh client/server.
Server SIP c hai loi: Proxy server v Redirect Server.Proxy server nhn mt
yu cu t client v quyt nh server k tip m yu cu s i n. Proxy ny c
th gi yu cu n mt server khc, mt Redirect server hoc UAS.
p ng s c truyn cng ng vi yu cu nhng theo chiu ngc li.
Proxy server hot ng nh l client v server. Redirect server s khng chuyn
yu cu nhng s ch nh client tip xc trc tip vi server k tip, p ng gi
-
Trang 12
li client cha a ch ca server k tip. N khng hot ng c nh l mt
client, n khng chp nhn cuc gi.
Hnh 1.4. Proxy Server
-
Trang 13
Hnh 1.5. Redirect Server
1.1.3. Chun nn m thanh v hnh nh
Chun H.320 l mt b cc chun nh ngha cho kh nng hot ng ca Hi
ngh trc tuyn s dng cng ngh mng ISDN. Cc chun ny nh ngha quy lut
thit lp thng tin, chia gi tin, ng truyn ng b v b ghp knh ISDN. B
chun H.323 c pht trin t chun H320, bao gm cc chun sau:
Chun m ha/gii m tn hiu Video :
- Chun H.261: Chun m ha/gii m Video cho gii thng 64 Kbps. Chun
ny ch h tr cc phn gii trung bnh nh QCIF v ln n CIF
(704x576)
-
Trang 14
- Chun H.263: Chun m ha/gii m Video xen k cho thng tin c li bt
thp. Chun H.263 gii quyt c vic th hin trc tip phn gii t
nhin (Nh NTSC: 704x480, VGA : 640x480) v phn gii cao
- Chun H.264: L mt chun m ha/gii m hnh nh mi c pht trin
bi s lin kt ca ITU v Motion Picture Experts Group (MPEG). H.264
cung cp 1 k xo nn v gii nn hnh cc nh ng mnh m hn cc
chun c xy dng trc y. Khi truyn hnh hnh nh ng, k xo ny
i hi bng thng s dng thp hn rt nhiu so vi cc chun hnh nh
trc y. i vi Videoconferencing, H.264 ch i hi 50% bng thng so
vi cc chun v cho hnh nh c cht lng cao hon ton tng ng.
Chun m ha/gii m tn hiu Audio :
- Chun G.711: Nn tn hiu m thanh c bn ti 48Kbps ti 64 Kbps. K
thut iu ch m xung nhp thp ging nh s dng trong in thoi thng
thng.
- Chun G.722: Cht lng audio cao hn ti cng mt gii thng s dng
thm cc qu trnh x l tinh xo.
- G.723, G.723.1 : Nn Audio cho tc 5.3 kbps v 6.4 Kbps .
- Chun G.728: Chun nn m thanh t l bt thp -16 kbps.
- G.729: Nn Audio cho tc 8 Kbps
Chun cung cp ch iu khin
- H.245: Trao i message iu khin cc cuc gi im u cui (end to
end).
- H.225 l chun bt tay gia cc thit b H.323 v gatekeeper bao gm vic
ng k phin lm vic, chp nhn, t chi, tn dng bng thng v cc
thng tin trng thi.
1.2. Truyn thng thi gian thc
Realtime Protocol (RTP) l mt chun Internet truyn cc lung
thng tin gia cc thnh phn tng tc trn mng. RTP cung cp cc dch v
v d liu mang tnh thi gian thc nh video v audio. Thng thng cc ng
dng chy RTP da trn UDP tn dng kh nng multiplexing v kim li.
-
Trang 15
RTP h tr vic truyn d liu n nhiu a ch ch bng cch dng c ch
multicast nu c h tr bi h thng mng.
RTP khng c sn cc c ch m bo vic truyn theo thi gian hay
cc k thut v QoS m da vo cc dch v lp di thc hin nhng kh
nng ny. RTP khng m bo an ton hay th t cc packet khi truyn, s th
t trong RTP packet cho php bn nhn sp xp li cc packet theo th t khi
truyn ca bn gi. Ngoi ra s th t cng c th c tn dng xc nh
v tr thch hp ca mt packet, v d trong vic gii m video, m khng cn
phi gii m cc packet theo th t.
1.2.1. Cc khi nim v nh ngha c s dng trong RTP:
RTP payload: D liu c chuyn trong RTP packet, v d nh cc mu m
thanh (audio samples ) hay cc d liu hnh nh nn (compressed video data).
RTP packet: Mt gi d liu bao gm RTP header, danh sch cc ngun
cung cp (contributing sources) c th rng v d liu payload. Mt s nghi thc
mng nn c th yu cu phi xc nh c ch ng gi cho RTP packet. Thng
thng mt gi ca nghi thc mng nn cha mt RTP packet, nhng cng c th
cha nhiu ty theo c ch ng gi (encapsulation).
RTCP packet: Mt gi iu khin bao gm phn header tng t nh ca
RTP packet, phn cn li l cc thnh phn c cu trc ty thuc loi ca gi
RTCP. Thng thng nhiu gi RTCP c gi cng lc nh mt gi RTCP tng
hp c cha trong mt gi ca nghi thc mng nn.
Transport address: S kt hp ca a ch mng v cng (port) xc nh
mt im cui (endpoint) mc transport, v d nh mt a ch IP v cng UDP.
Cc packets c truyn t a ch ngun n a ch ch.
RTP session: L s kt hp ca cc thnh phn tham gia trao i thng tin.
i vi mi thnh phn tham gia, phin (session) c xc nh bi mt cp a
ch truyn ch. Cp a ch ch ny c th l chung cho mi thnh phn tham gia
hoc ring cho tng thnh phn. Trong mt phin a phng tin, mi phng tin
c chuyn ti bi mt RTP session ring cng vi cc gi RTCP ca n. Cc
-
Trang 16
phin RTP khc nhau c phn bit bi cc cp ports v a ch multicast.
Synchronization source (SSRC): Ngun ca lung cc gi RTP c xc
nh bi mt s nh danh 32 bit trong header ca gi RTP c lp vi a ch
network. Mi gi t ngun ng b (SSRC) c cng mt khng gian v thi gian
v s th t, do bn nhn c th nhm cc gi pht li (playback). Mt
ngun ng b c th thay i nh dng d liu ca n vo bt c lc no. nh
danh ngun ng b l mt gi tr ngu nhin, gi tr ny mang ngha duy nht
(khng trng lp) trong mt RTP session ring bit. Mt thnh vin tham gia hi
tho khng cn phi dng cng mt nh danh SSRC trong mt phin a phng
tin.
Contributing source (CSRC): L ngun ca lung cc gi RTP gp phn
to nn lung kt hp thng qua mt b trn RTP (RTP mixer). B trn RTP chn
mt danh sch cc nh danh ngun ng b (SSRC identifier) ca cc ngun vo
RTP header ca mt gi RTP. Danh sch ny c gi l danh sch CSRC.
End system: L mt ng dng c kh nng to ra cc ni dung truyn
trong cc gi RTP, hay nhn v x l ni dung ca gi RTP. Mt endsystem c th
hot ng nh mt hoc nhiu ngun ng b trong mt phin RTP ring, nhng
thng l mt.
Mixer: L mt h thng trung gian nhn cc gi RTP t mt hay nhiu
ngun, c th thay i nh dng d liu ri kt hp cc gi li theo mt cch
thc no to thnh mt gi RTP mi v truyn i. V s phi hp thi gian gia
cc ngun c th khng hon ton ng b nn b trn s ng b thi gian gia
cc ngun v sau , lung ra s c mt s nh thi ca mixer. Do cc gi
c to ra t mt mixer u xc nh mixer l ngun ng b.
Translator: L mt h thng trung gian c nhim v chuyn tip cc gi RTP
m khng lm thay i cc ngun ng b.
Monitor: L mt ng dng tip nhn cc gi RTCP c gi t cc thnh
vin ca mt phin RTP, bo co c th s tip nhn, c lng cht lng ca
dch v hin thi v d on li. Chc nng monitor thng c xy dng trong
-
Trang 17
cc ng dng tham gia trong phin, hoc cng c th c xy dng nh mt ng
dng tch bit, c th l thnh vin hoc khng v khng gi, nhn cc gi d liu
RTP. Chng c gi l nhng monitor tham gia th ba.
Non-RTP means: L cc nghi thc hay c ch c th c dng thm voRTP lm tng tnh kh dng ca cc dch v.1.2.2. Th t byte, alignment v nh dng thi gian
Tt c cc trng s nguyn u c truyn theo th t byte chun trn
mng, c ngha l byte du nm trc. Cc hng s u dng thp phn tr cc
trng hp c bit.
Tt c cc d liu trong header c sp xp theo di t nhin ca n, v
d: cc trng 16 bit c t cc v tr chn, cc trng 32 bit c t cc
v tr chia ht cho 4Cc octets ni thm mang gi tr 0.
Gi tuyt i c biu din theo nghi thc NTP (Network Time
Protocol), tnh theo giy kt t 0 gi ngy 01/01/1900. Ta dng mt s khng du
64 bit biu din, trong 32 bit u l phn nguyn v 32 bit sau l phn thp
phn. Mt s trng c th ch dng 32 bit gia do nhu cu nn d liu, ngha l 16
bit thp ca phn nguyn v 16 bit cao ca phn thp phn
1.3. Cc giao thc truyn thng trn mng Internet
Giao thc giao tip hay cn gi l Giao thc truyn thng, Giao thc lin
mng, Giao thc tng tc, Giao thc trao i thng tin ( communication
protocol) - trong cng ngh thng tin gi tt l giao thc (protocol), tuy nhin,
trnh nhm vi giao thc trong cc ngnh khc - l mt tp hp cc quy tc chun
dnh cho vic biu din d liu, pht tn hiu, chng thc v pht hin li d liu -
nhng vic cn thit gi thng tin qua cc knh truyn thng, nh m cc
my tnh (v cc thit b) c th kt ni v trao i thng tin vi nhau.
Cc giao thc truyn thng dnh cho truyn thng tn hiu s trong mng my
tnh c nhiu tnh nng m bo vic trao i d liu mt cch ng tin cy qua
mt knh truyn thng khng hon ho.
C nhiu giao thc c s dng giao tip hoc truyn t thng tin trn
Internet, di y l mt s cc giao thc tiu biu:
-
Trang 18
TCP (Transmission Control Protocol): thit lp kt ni gia cc my tnh
truyn d liu. N chia nh d liu ra thnh nhng gi (packet) v m bo
vic truyn d liu thnh cng.
IP (Internet Protocol): nh tuyn (route) cc gi d liu khi chng c
truyn qua Internet, m bo d liu s n ng ni cn nhn.
HTTP (HyperText Transfer Protocol): cho php trao i thng tin (ch yu
dng siu vn bn) qua Internet.
FTP (File Transfer Protocol): cho php trao i tp tin qua Internet.
SMTP (Simple Mail Transfer Protocol): cho php gi cc thng ip th
in t (e-mail) qua Internet.
POP3 (Post Office Protocol, phin bn 3): cho php nhn cc thng ip th
in t qua Internet.
MIME (Multipurpose Internet Mail Extension): mt m rng ca giao thc
SMTP, cho php gi km cc tp tin nh phn, phim, nhc, ... theo th in
t.
WAP (Wireless Application Protocol): cho php trao i thng tin gia cc
thit b khng dy, nh in thoi di ng.
1.4. Cc m hnh ng dng trn nn giao thc TCP/IP: m hnh client server,
m hnh P2P.
1.4.1. B giao thc TCP/IP :
-
Trang 19
Hnh 1.5 B giao thc TCP/IP
Ngi ta cn gi m hnh ny l m hnh OSI n gin. Cc giao thc c s
dng trn mi tng c qui nh nh sau: tng 2 s dng giao thc IP, tng 3 c
th s dng giao thc TCP ch c ni kt hoc UPD ch khng ni kt.
Tng 4 l tng ca cc ng dng. Mi loi ng dng phi nh ngha mt giao thc
ring cc thnh phn trong ng dng trao i thng tin qua li vi nhau.
Mt s ng dng ph bin tr thnh chun ca mng Internet nh:
ng dng Web: S dng giao thc HTTP ti cc trang web t Web Server
v Web Browser.
ng dng thin t: S dng giao thc SMTP chuyn tip mail gi i
n Mail Server ca ngi nhn v dng giao thc POP3 hoc IMAP
nhn mail v cho ngi c.
ng dng truyn ti tp tin: S dng giao thc FTP ti (download) cc tp
tin t cc FTP Server xa v my ngi dng hay ngc li.
. . . . .
Thng thng cc tng 1,2,3 v 4 c pht trin bi cc nh sn xut h iu
hnh, nh sn xut cc thit b phn cng mng. Chng m nhn nhim v truyn
-
Trang 20
ti thng tin cho cc qu trnh trn tng ng dng. Chng ci t cc c ch giao
tip lin qu trnh cc qu trnh trn tng ng dng c th truy xut n dch v
truyn ti thng tin do chng cung cp. Trong khi , tng 5 l ni cc nh sn xut
phn mm khai thc to ra cc ng dng gii quyt cc vn khc nhau ca
cuc sng. N c xem nh l tng x l thng tin.
1.4.2. Dch v mng (Net service) : l mt chng trnh ng dng thc hin
mt tc v no trn h thng mng.
Mt s dch v mng ph bin:
Print service: In n trn mng.
File service: chia s file, d liu, chng trnh
Web service: cung cp dch v web.
Mail service: cung cp dch v th tn in t.
C nhiu m hnh xy dng dch v mng: m hnh Client Server v m
hnh Peer to Peer
1.4.3. M hnh Client-Server
Trong m hnh ny, chng trnh ng dng c chia thnh 2 thnh phn:
Qu trnh chuyn cung cp mt s phc v no , chng hn: phc v tp
tin, phc v my in, phc v th in t, phc v Web... Cc qu trnh ny
c gi l cc trnh phc v hay Server.
Mt s qu trnh khc c yu cu s dng cc dch v do cc server cung cp
c gi l cc qu trnh khch hng hay Client. Vic giao tip gia client v
server c thc hin di hnh thc trao i cc thng ip (Message).
c phc v, client s gi mt thng ip yu cu (Request Message) m t
v cng vic mun server thc hin. Khi nhn c thng ip yu cu,
server tin hnh phn tch xc nh cng vic cn phi thc thi. Nu vic
thc hin yu cu ny c sinh ra kt qu tr v, server s gi n cho client
trong mt thng ip tr li (Reply Message). Dng thc (format) v ngha
ca cc thng ip trao i gia client v server c qui nh r bi giao
thc (protocol) ca ng dng.
-
Trang 21
Hnh 1.6. M hnh Client-Server
1.4.3.1. Nhim v ca Client v Server
1.4.3.2. M hnh Client-Server ca dch v WEB
-
Trang 22
Dch v web c t chc theo m hnh Client -Server, trong :
Web server sn sng cung cp cc trang web ang c lu tr trn a cng
cc b ca mnh.
Web Client, cn gi l cc Browser, c nhu cu nhn cc trang web t cc
Web Server
HTTP l giao thc trao i thng tin qua li gia Web client v Web Server.
Thng ip yu cu l mt chui c dng sau: Command URL HTTP/Ver
\n\n
Thng ip tr li c dng sau: \n\n
Gi s Client cn nhn trang Web a ch http://www.cit.ctu.edu.vn/, n s
gi n Web Server c tn www.cit.ctu.edu.vn thng ip yu cu sau: GET
www.cit.ctu.edu.vn HTTP/1.1\n\n
Server s gi v ni dung sau: HTTP/1.0 200 OK Date: Mon, 24 Nov 2003
02:43:46 GMT Server: Apache/1.3.23 (Unix) (Red-Hat/Linux) mod_ssl/2.8.7
OpenSSL/0.9.6b DAV/1 .0.3 PHP/4.1.2 mod_perl/1.26 Last-Modified: Tue,
01 Jul 2003 08:08:52 GMT ETag: "17f5d-2abb-3f014194" Accept-Ranges:
bytes Content-Length: 10939 Content-Type: text/html X-Cache: HIT from
proxy.cit.ctu.edu.vn Proxy-Connection: close ...............................
-
Trang 23
Hnh 1.7. Th d m hnh Client-Server ca dch v Web
1.4.3.3. Cc ch giao tip
Qu trnh giao tip gia client v server c th din ra theo hai ch l
nghn (blocked) hay khng nghn (Non blocked).
a. Ch giao tip nghn:
Trong ch ny, khi qu trnh client hay server pht ra lnh gi d liu,
(thng thng bng lnh send), s thc thi ca n s b tm dng cho n khi qu
trnh nhn pht ra lnh nhn s d liu (thng l lnh receive). Tng t cho
trng hp nhn d liu, nu qu trnh no client hay server pht ra lnh nhn d
liu, m thi im cha c d liu gi n, s thc thi ca n cng tm dng
cho n khi c d liu gi n.
-
Trang 24
Hnh 1.8 Ch giao tip nghn
b. Ch giao tip khng nghn:
Trong ch th ca n vn c tip tc m khng quan tm n vic c
qu trnh no pht ra lnh nhn s d liu hay khng. Tng t cho trng hp
nhn d liu, khi qu trnh pht ra lnh nhn d liu, n s nhn c s lng d
liu hin c (bng 0 nu cha c qu trnh no gi d liu n). S thc thi ca qu
trnh vn c tip tc. Trong thc t cn ch n ch giao tip nghn khi lp
trnh, v n c th dn n trng hp chng trnh b "treo" do s ln gi v nhn
gi liu khng bng nhau gia hai bn giao tip. ny, khi qu trnh client hay server
pht ra lnh gi d liu.
-
Trang 25
Hnh 1.9. Ch giao tip khng nghn
u im: Do cc d liu c lu tr tp trung nn d bo mt, sao lu v ng b
vi nhau. Ti nguyn v dch v c tp trung nn d chia s v qun l, c th
phc v cho nhiu ngi dng.
Khuyt im: Cc server chuyn dng rt t tin, phi c nh qun tr cho h
thng.
1.4.4. M hnh Peer to Peer
Mng ng ng (peer-to-peer network), cn gi l mng ngang hng, l mt
mng my tnh trong hot ng ca mng ch yu da vo kh nng tnh ton v
bng thng ca cc my tham gia ch khng tp trung vo mt s nh cc my ch
trung tm nh cc mng thng thng.
Mng ng ng thng c s dng kt ni cc my thng qua mt
lng kt ni dng ad hoc. Mng ng ng c nhiu ng dng. ng dng thng
xuyn gp nht l chia s tp tin, tt c cc dng nh m thanh, hnh nh, d liu,...
hoc truyn d liu thi gian thc nh in thoi VoIP.
Mt mng ng ng ng ngha khng c khi nim my ch v my khch,
ni cch khc, tt c cc my tham gia u bnh ng v c gi l peer, l mt
-
Trang 26
nt mng ng vai tr ng thi l my khch v my ch i vi cc my khc
trong mng.
Hnh 1. M hnh mng P2P1.4.4.1. Phn loi mng ng ng:
Ta c th phn loi cc mng ng ng hin nay theo tiu ch v mc tp
trung ca chng nh sau:
Mng ng ng thun ty:
Cc my trm c vai tr va l my ch va l my khch
Khng c my ch trung tm qun l mng
Khng c my nh tuyn (b nh tuyn) trung tm, cc my trm c kh
nng t nh tuyn
Mng ng ng lai:
C mt my ch trung tm dng lu tr thng tin ca cc my trm v tr
li cc truy vn thng tin ny.
Cc my trm c vai tr lu tr thng tin, ti nguyn c chia s, cung cp
cc thng tin v chia s ti nguyn ca n cho my ch.
S dng cc trm nh tuyn xc nh a ch IP ca cc my trm.
1.4.4.2. u th ca mng ng ng
Mt mc ch quan trng ca mng ng ng l trong mng tt c cc my
tham gia u ng gp ti nguyn, bao gm bng thng, lu tr, v kh nng tnh
-
Trang 27
ton. Do khi cng c nhiu my tham gia mng th kh nng tng th ca h
thng mng cng ln. Ngc li, trong cu trc my ch-my khch, nu s lng
my ch l c nh, th khi s lng my khch tng ln kh nng chuyn d liu
cho mi my khch s gim xung.
Tnh cht phn tn ca mng ng ng cng gip cho mng hot ng tt khi
mt s my gp s c. i vi cu trc tp trung, ch cn my ch gp s c th c
h thng s ngng tr.
i vi mng Napster, thut ng ng ng ni ln tnh cht quan trng ca
giao thc giao tip ng ng, cn thc ra thnh cng ca Napster phi nh vo s
lin kt cht ch gia cc my tham gia vi my ch trung tm lu tr danh sch ni
dung tp trn cc my tham gia. Nh vy vic tm kim tr nn nhanh v hiu qu
hn, tuy nhin, y cng chnh l im yu dn n cc rc ri php l m kt cc
l s sp ca Napster.
Khuyt im: Khng cho php qun l tp trung nn d liu phn tn, kh
nng bo mt thp rt d b xm nhp. Cc ti nguyn khng c sp xp nn rt
kh nh v v tm kim.
1.5. C ch giao tip lin qu trnh (InterProccess Comunication)
L s giao tip, trao i thng tin gia 2 hay nhiu thc th trong h thng.
Trong h thng my tnh, h thng mng my tnh: truyn thng l s giao tip bn
trong 1 qu trnh hay gia cc qu trnh vi nhau thng qua cc c ch truyn
thng.
H thng n nhim (monotasking):
H thng a nhim (multitasking):
Giao tip ch trong phm vi 1 chng trnh.
Dng bin ton cc, tham s gi hm, tr tr v ca hm
H thng a nhim (multitasking):
Nhiu qu trnh c thc thi song song.
Dng c ch giao tip lin qu trnh (InterProcess Communication)
c cung cp bi h iu hnh v h iu hnh mng.
Phn loi c ch giao tip lin qu trnh:
-
Trang 28
Loi 1: Giao tip gia cc qu trnh trn cng 1 my tnh
Loi 2: Giao tip gia nhiu qu
trnh trn cc my tnh khc nhau:
IPC loi 1: giao
tip trn cng 1
my tnh.
Thng qua ht
nhn (kernel) ca h iu hnh.
Dng vng nh dng chung hay tp tin chia s:
Mt qu trnh ghi
Mt qu trnh c
IPC loi 2: giao tip trn cc my tnh khc nhau.
Thng qua cc ht nhn (kernel) ca nhiu h iu hnh.
Phi c quy tc trao i thng tin (protocol) gia cc ht nhn v gia
cc qu trnh.
Mt s IPC ph bin: Pipe, Socket, RPC.
1.6. Mt s m hnh h thng truyn thng:
1.6.1. H thng tr li t ng IVR
1.6.1.1. Khi nim.
IVR(Interactive Voice Response) l mt cng ngh mi trong ngnh in
thoi, ni m ngi gi s s dng mt in thoi thng thng hay mt cng ngh
in thoi no c th ly thng tin t database ca mt t chc hoc nhp
d liu vo trong . Cc t chc kinh doanh ngy mt s dng IVR nhiu hn
nhm gim chi ph cho cc hot ng bn hng, giao dch, h tr, khuyn mi
thng qua in thoi. Ngi dng c th gi tin nhn theo mt c php nht nh ti
h thng v h thng s phn tch c php tin nhn ri truy vn CSDL sau s gi
li thng tin cho ngi s dng. Hoc ngi s dng c th gi in n thng,
-
Trang 29
s dng bn phm in thoi ni chuyn vi h thng IVR, v IVR nghe cc
phm bm ri c li cho ngi gi in cc thng tin c yu cu.
IVR s dng cc ging ni ghi sn pht ra danh sch cc thng tin c kh
nng cung cp v cc thng tin ly t c s d liu ca nh cung cp dch v (c th
l s hoc vn bn) sau khi tng hp thnh ting ni.
Ngoi vic tr li cc cuc gi n, IVR cn c kh nng t ng gi n cc
thu bao c nh hay di ng cung cp hoc thu thp cc thng tin nh thng
bo, li nhn, cuc hn, tin cc, s d ti khon, giao dch pht sinh, thng tin
khuyn mi, trc nghim, iu tra
Ly mt v d, mt vi t chc s dng h thng IVR cho php khch hng
ly thng tin v ti khon c cp nht ngay thi im hin ti(24h trong ngy)
m khng phi giao dch trc tip vi mt nhn vin chm sc khch hng no. H
thng thng tin t ng s bao gm nhng chc nng nh: l ni nhng thng tin
v ti khon khch hng c th c a ra mt cch t ng theo tng lnh vc
ph hp vi yu cu ca khch hng. Ngi s dng ch vic chn loi thng tin
cn bit v nhn thng tin bng ging ni c ghi m sn trong h thng.
Hnh 1.10 M hnh H thng IVR
Cng ngh IVR cng c th c s dng vo mc ch thu thp thng tin, v
d nh nhng cuc kho st qua in thoi. Ngi s dng s c hng dn
tr li nhng cu hi bng cch nhn vo phm s trn in thoi hoc tr li
-
Trang 30
bng ming i vi trng hp c phn mm thu li ging ni c tch hp trong
h thng IVR.
Mt vi t chc to ra mt bi kim tra xc nh s hi lng ca khch hng
bng cch mi h tham gia vo mt cuc iu tra nh sau khi s dng bt k mt
dch v no . Nu nh khch hng nhn li th cuc gi s c chuyn ti b
phn kho st c s dng chc nng IVR v t chc s thu thp nhng nh gi
ca khch hng v cht lng dch v.
1.6.1.2. Cc dch v in hnh ca IVR.
Bu in: Hp th thng tin, Hp th thoi, Qu tng m nhc, Bo thc,
Nhc n, Bo my hng t ng, Bnh chn, D on
1900xxxx: Cc dch v gii tr truyn hnh, tr chi truyn hnh (vd: Hugo),
bnh chn ca s, d on kt qu bng qua in thoi v tin nhn SMS.
Ngn hng/Chng khon: Phonebanking: Trng thi ti khon, thanh ton,
chuyn khon, tin ch, kch hot ti khon, th tn dng, t gi, li sut.
Vn ti/Hnh khch: Tra cu chuyn/gi c/s gh, t ch, Hi gi xut
pht/n ni
Quan h khch hng: Nghin cu th trng, iu tra nhu cu tiu dng.
Thu n: Trng thi ti khon (s d, tin n), thng bo cc, thanh ton.
Chm sc sc khe: Hn khm sc khe, hng dn ca bc s, kt qu khm
bnh, thng tin dch v.
Gio dc-Ngh nghip: ng k tuyn dng, tm vic, ng k nhp hc, thi
kha biu, lch thi, im thi, im danh, thng bo, thng tin tr gip.
Bo him: Thng tin chnh sch, danh mc i l, yu cu bo him, thanh
ton ph.
Bn hng: t hng, thanh ton bng th tn dng, tra cu thng tin hng, tra
cu trng thi t hng v chuyn hng.
1.6.1.3. Cc u im ca h thng IVR.
Gip t ng ha cung cp thng tin, hi p
M ra knh giao tip khch hng mi mt cch hu hiu.
em li nhiu li ch v doanh thu cho n v s dng.
-
Trang 31
em li cc gi tr mi, s thun tin v tin ch cho khch hng, nng
cao hnh nh thng hiu.
a dng ha cc dch v cung cp thng tin v chm sc khch hng
Tt cc cc u im trn s mang li li nhun cho nh cung cp v kh nng
p ng cho khch hng ln.
1.6.1.4. CallXML-CCXML
CallXML l ngn ng XML dng nh ngha cc thao tc v ni
dung giao tip vi khch hng thng qua cuc in thoi cho ng dng IVR. Pht
trin bi Lucent, AT&T, IBM, v Motorola. Phin bn 1. 0 ra i vo 3/2000.
Phin bn th nghim 2. 0 ra i 10/2001. Phin bn 2. 0 chnh thc vo 01/2003.
CallXML - CCXML l vit tt ca Call Control Markup Language. Tnh nng
chnh bao gm:
Cho php thit lp cuc gi ra
Cho php m thoi tay ba
Dn hng cuc gi vo
Nm bt c cc s kin xy ra bn ngoi khi cuc gi ang din ra
in thoi hi ngh, cho php thm hoc bt thnh vin
iu khin c cht lng nh thanh, m lng, pht nhanh/chm
Chuyn hng ty n bt k thng tin no
Giao tip vi cc phn mm ng dng khc thng qua s kin
Chuyn li nhn ring cho cc cuc gi khc
Thit lp cuc gi gim st hay qun l
1.6.2. Hp th thoi (voicemail)
Voicemail (cn c gi l voice-mail, voice message, or voice bank) l mt
h thng my tnh cho php ngi s dng v thu bao trao i thng ip thoi c
nhn, la chn v cung cp thng tin bng ging ni, v x l cc giao dch lin
quan n c nhn, t chc, sn phm v dch v bng cch s dng mt in thoi
bnh thng. Voice-mail cng c s dng rng ri hn biu th bt k h thng
truyn t mt thng ip vin thng bng ging ni c lu tr trong h thng,
-
Trang 32
bao gm c vic s dng mt my tr li (answer machine). Hu ht cc dch v
cell phone cung cp tnh nng voice-mail c bn.
H thng voice-mail c thit k truyn t mt thng ip c ghi sn
dng audio n ngi nhn. lm nh vy ngi ta s dng mt giao din ngi
dng cho php la chn, pht, v qun l thng ip thoi, mt phng thc phn
phi hoc pht hoc gi thng ip v kh nng gi thng ip n hng i
ca ngi s dng. Hu ht cc h thng s dng cc mng in thoi, hoc di ng
hoc ng in thoi c dy u c tt c cc chc nng ny. Mt s h thng c
th s dng nhiu phng php vin thng, cho php ngi nhn v ngi gi
truy xut hoc li tin nhn thng qua nhiu phng thc nh my tnh, PDA,
in thoi di ng hoc in thoi thng minh.
H thng hp th thoi n gin c chc nng nh mt my tr li t xa bng
cch s dng mt touch-tones nh giao din ngi dng. Nhiu h thng phc tp
c th s dng cc thit b u vo khc chng hn nh voice hoc giao din my
tnh. H thng th thoi n gin c th play cc tin nhn m thanh thng qua in
thoi, trong khi h thng cao cp hn c th c phng php phn phi khc nh
cung cp th in t hoc tin nhn vn bn, truyn thng tin v chuyn tip
(forwarding) v cc mailbox.
Hu nh tt c cc h thng hp th thoi hin i s dng lu tr k thut s
v thng c lu tr trong my tnh. Phng thc cng khc nhau da trn h
thng voice mail. H thng n gin khng th cung cp tt c cc tnh nng thay v
yu cu ngi nhn phi kim tra vi h thng, trong khi nhng ngi khc c th
i tin nhn.
Interactive Voice Response (IVR) h thng c th s dng thng tin k thut
s c lu tr trong mt c s d liu doanh nghip la t v cm t c lu
tr trong t vng voice-mail to thnh cu c gi n ngi gi.
1.6.3. Dch v tin nhn SMS
Dch v tin nhn ngn (SMS - Short Message Services) l mt giao thc vin
thng cho php gi cc thng ip dng text ngn (khng qu 160 ch ci). Giao
-
Trang 33
thc ny c trn hu ht cc in thoi di ng v mt s PDA vi kh nng truyn
thng khng dy.
SMS Gateway l cng kt ni ti cc nh khai thc mng vin thng di ng (
Vinaphone, MobiFone, Sfone, Viettel, EVN, Beeline ..) cho php cc i tc t
chc nhng chng trnh s dng tin nhn SMS, MMS lm phng tin tng tc
vi khch hng ca mnh.
-
Trang 34
Hnh 1.9. M hnh dch v cung cp tin nhn SMS
C ch hot ng hot ng:
CP : n v cung cp ni dung ( Content Provider )
Chun b ni dung
To Keyword : khch hng nhn tin SMS n ly thng tin
Qung co, marketing qua cc hnh thc khc nhau khch hng bit
cc dch v SMS ca chnh mnh
Khch hng
Bit c h thng SMS ca CP qua cc ngun khc nhau
Nhn tin SMS nhn cc ni dung c CP cung cp.
Nguyn tc cc CP nhn tin:
Vic kinh doanh s ph thuc vo s lng khch hng nhn tin SMS vo
Cc Telco s thu ph trc tip vi tin t ti khon ca cc in thoi di
ng.
Telco thanh ton cho Fibo sau khi hon tt cc i sot cc.
Cc s c Fibo thanh ton cho CP theo ng hp ng k gia 02
bn
Thng thng tng doanh thu n CP c tnh nh sau
Tng Doanh Thu CP= Chi phi VND/1SMS Ph Telco Ph Fibo
Mt s ng dng thch hp cho SMS Gateway:
Khuyn mi, cho hng
Thi/nhn tin chin thng
T chc cuc thi, tr chi trn SMS
u gi
Bnh chn
Thi tr tu, hi p nhanh
Tr chi tng tc
Cung cp d liu ni dung s
tin nhn thoi
-
Trang 35
tin nhn hnh
ti nhc chung, nhc chung ch, nhc chung hot
sms tnh yu
mobile content : d liu, games, ti liu
T chc, qun l cc s kin
Tng tc vi mn hnh ln
t mua hng c bit, s lng hn ch
1.6.4. Voice over IP
1.6.4.1. Gii thiu v VoIP:
VoIP l t vit tt ca Voice Over Internet Protocol. ng nh tn gi ca
chng, nghi thc truyn m thanh ny s dng phng php truyn tn hiu m
thanh thng qua truyn cc gi tin thng qua mng IP. Bng cch ny, VoIP c th
s dng tc ca phn cng hon thnh mc ch v c th hu dng trn mi
trng PC.
VoIP c kh nng kt hp thoi v d liu trong qu trnh x l truyn, phn
phi thng, cuc gi in thoi, hi ngh truyn hnh, cc tr chi tng tc trc
tuyn cng nh phn phi cc ng dng truyn thanh, truyn hnh v pht qung
b.
y l cng ngh vin thng hp dn v c ch nhiu nht hin nay. Vic
s dng VoIP lm cho qu trnh phn phi thng tin v dch v ton cu hiu qu
hn v kinh t hn so vi s dng mng chuyn mch thoi cng cng truyn
thng (PSTN), trong khi vn cho php s dng cc ng dng v d liu trc
y. VoIP c th thc hin tt c cc chc nng tng t vi mng truyn thng
vi cht lng dch v tt.
1.6.4.2. u im ca VoIP so vi PSTN:
a. Tit kim bng thng:
Mng VoIP hiu qu hn mng PSTN trn c s cc knh chuyn dng c
thit lp gia cc im cui. i vi cuc gi thng thng c n 40% thi gian
b lng ph bi nhng khong lng (khng ni chuyn). Trong mng VoIP, cc gi
ch c gi qua mng khi c tn hiu cn truyn i. iu ny cho php mng c
-
Trang 36
th iu khin c mt lu lng nhiu hn qua rng bng thng sn c.
b. n gin ha:
VoIP l mt m hnh tng hp, chp nhn mi dng thng tin cho php thc
hin vic chun ho v gim bt mt phn trang thit b dng ring cho tng loi
hnh. Tch hp cc ng dng v thoi v d liu.
c. Kh nng tch hp:
Kh nng ny c minh ha mt cch r nht bng vic h tr phi hp gia
mng khng dy v mng c dy, kh nng hp nht cc ng dng ring l trong
truyn thng qua cc giao thc gn kt.
S tch hp qua mng IP a ra cc gii php truy cp hp nht cc dch v
trong mng din rng WAN bao gm thoi, d liu, Internet, hnh nh qua mt h
thng cc ng truy cp tc cao dng chung.
d. Uyn chuyn trong qun l:
c th hin qua kh nng m rng ca a ch IP, c th m rng hay thu
hp phm vi ca mng mt cch d dng m khng gy nn s bin i ln no v
phn cng v phn mm..
Vic thm hay bt ngi s dng in thoi, sp xp li cc s trn mng IP
u d dng hn so vi h thng chuyn mch thoi truyn thng. Vic nh dng
v chuyn nhng a ch IP c th c thc hin bng cch s dng giao thc
DHCP, p dng cho in thoi IP qua LAN khin vic lp v qun l a ch gn
nh t ng.
i vi vic kt ni vi tng di ni b (PBX) qua mng IP c a ra bi
PSINets Voice iPEnterprise, phn phi lu lng thoi ni b qua kt ni tng t
nh d liu ca Internet, cho php cc nh kinh doanh truyn cc dch v thoi ti
vn phng ca h.
e. Qun l tt:
Giao thc qun l SNMP c th p dng vo cho d liu v thoi dng trong
VoIP c th loi b sai st v cng c h thng c pht trin trn mng IP,
VoIP s dng cc gii php bo mt cho Internet gm m ho, to ng hm, xc
nhn s xm nhp t ng, qut virus c thc hin bi cc my ch, firewall,
-
Trang 37
cc b nh tuyn gii quyt c cc vn v gian ln cc ph, ton vn d
liu.
f. Gi thnh thp:
Vic gim chi ph ti nguyn mng, chia s trang thit b v chi ph vn hnh
cho c tn hiu thoi v d liu c th nng cao hiu qu s dng mng v phn
bng thng d trn mng ny c th tn dng trn mng khc, dn n t l cc
ph khi s dng thoi v Fax kt hp trong truy cp Internet c th tit kim ng
k chi ph cho ngi dng so vi dng mng PSTN.
1.6.4.2. Cc hnh thc truyn thoi trn mng IP
a. PC-PC :
Mi PC trang b thm cc thit b truyn thng v c kt ni trc tip vo
mng Internet thng qua giao din NIC vi mng LAN hoc thng qua Modem /
cable modem khi kt ni qua ISP (Internet Sevice Provider).
b. PC Phone :
Ngi dng PC hnh thnh cuc gi vi ngi dng mng thoi PSTN thng
thng. Cu trc ny l ng dn ti vic kt hp gia mng IP v PSTN.
c. Phone - Internet - Phone :
L m hnh m rng ca PC Phone, s dng Internet lm c s tnh cc
ph in thoi cho ngi s dng mng PSTN. M hnh ny s dng mt m s c
bit l gi tr cng kt ni gia PSTN v mng Internet ri mi nhn s in thoi
cn gp. Mi qu trnh ly mu v m ho u din ra gateway.
1.6.4.3. Nguyn tc v m hnh hot ng ca VoIP
a. Qu trnh thit lp mt kt ni VoIP
- B phn ADC chuyn i m thanh dng tn hiu tng t sang tn hiu s,
c biu din bng cc chui bit.
- Cc chui bit ny c nn vi mt nh dng truyn bng cc nghi
thc nn d liu ph hp tu chn.
- ng gi m thanh vo gi d liu v truyn i bng nghi thc
RTP(real-time transport protocol), thng thng s dng RTP over UDP.
- Dng nghi thc bo hiu ITU-T H323 gi cc user.
-
Trang 38
- Bn RX s m gi tin, gii nn d liu, chuyn d liu t tn hiu s sang
tn hiu m thanh dng tng t v gi ti card m thanh (hay phone).
b. M hnh hot ng ca VoIP
1.6.4.4. Cc nghi thc c s dng trong h thng VoIP
a. Giao thc UDP (User Datagram Protocol)
UDP thc hin truyn d liu vi s header hn ch ti a v giao thc ny
khng i hi kim tra qua li gia bn nhn v bn pht. Cc gi tm ng c
lp n ni nhn, do khng m bo d liu c nhn y v ng th
t. Tuy nhin, thi gian truyn d liu ngn vi hiu qu s dng cc gi cao
nn UDP c s dng l giao thc chnh trong VoIP.
b. Giao thc RTP (Realtime Protocol):
Giao thc ny cung cp cc dch v v d liu mang tnh thi gian thc nh
video v audio tng tc. Cc ng dng ny chy da trn nn UDP tn dng
c kh nng multiplexing v checksum. C hai giao thc ny gp phn to nn
cc tnh nng ca nghi thc truyn d liu. RTP c th c dng hiu qu hn
trong cc h thng mng hay nghi thc thch hp. RTP cng h tr truyn d liu
n nhiu a ch khc nhau bng cch dng c ch multicast nu c s h tr
ca h thng mng. Chng ta s tm hiu r hn v nghi thc ny trong phn tm
-
Trang 39
hiu v cc nghi thc mng truyn d liu theo thi gian thc.
c. Giao thc RTCP ( RTP Control Protocol ):
Giao thc iu khin RTP truyn cc gi iu khin theo chu k cho mi
thnh vin trong phin lm vic, s dng cng mt c ch phn phi nh i vi
cc gi d liu. RTCP thc hin bn chc nng sau: Cung cp cc phn hi v cht
lng ca qu trnh phn phi d liu, gi vt cc thnh phn tham gia, kim sot
tc c th phc v cho mt s lng ln cc thnh phn tham gia, kim sot
phin lm vic.
d. Giao thc RSVP:
H tr cho giao thc RTP, giao thc RSVP c th gii quyt tm thi cc li
c th xy ra trn ng truyn m bo cc tham s cht lng. Giao thc RTP
ch kim tra s truyn thng im - im, khng qun l cc tham s lin kt trn
mng trong khi RSVP khng nhng tc ng my pht v my thu m cn tc
ng trn cc router trn mng.
RSVP thit lp v duy tr kt ni duy nht cho mt lung d liu, xc lp mt
h thng qun l cc ngun ti nguyn ca cc nt mng khc nhau.
RSVP hoch nh mt m hnh ti u lin kt cc d liu a im ( t mt
ngun n nhiu im ch). RSVP ng vai tr qun l mt cch c lp cc my
ch t thch nghi cc tham s cht lng gia kh nng cung cp v yu cu
p ng.
m bo ng truyn thng sut, cc h thng u cui phi hot ng
ch kt ni. My thu phi thng xuyn gi cc thng ip RSVP n cc
router m bo thng sut ng truyn.
e. SGCP:
Giao thc ny cho php cc thnh phn iu khin cuc gi c th iu khin
kt ni gia cc trung k, cc Endpoint v ccVoIP gateway. Cc thnh phn iu
khin gi l Call Agent. SGCP c dng thit lp duy tr v gii phng cuc
gi qua mng IP. Call Agent thc hin chc nng bo hiu cuc gi v Gateway
cung cp chc nng truyn tn hiu m thanh. SGCP yu cu cc Gateway thc
hin chc nng thit lp, iu chnh, gii phng kt ni v bo hiu v Call Agent
-
Trang 40
cc s kin xy ra ti gateway. SGVP c 5 lnh chnh nh sau:
- NotificationRequest: yu cu Gateway pht hin cc tn hiu nhc my v
tn hiu quay s DTMF.
- Notify: Gateway s dng lnh ny bo ngc v Call Agent cc tn hiu
trn.
- CreateConnection: Call Agent yu cu to kt ni gia c u cui tham
gia lin lc trong gateway.
- ModifyConnection: Call Agent dng lnh ny thay i cc thng
s v kt ni thit lp. Lnh ny thay i cc thng s v kt ni thit lp.
Lnh ny cng c th dng cc gi RTP thay i l trnh t Gateway ny sang
Gateway khc.
- Deleteconnection: Call Agent v Gateway dng lnh ny gii phng kt
ni.
f. MGCP:
MGCP xc nh cch thc truyn thng gia cc i l(call agent) v cc
cng in thoi (telephony gateway). Call agent iu khin cuc gi, qun l cc
telephony gateway c dng chuyn i giao thc. MGCP c bn lnh chnh
nh sau:
- EndPointConfiguration: Call Agent dng lnh ny yu cu Gateway
xc nh kiu m ho pha ng dy kt ni ti EndPoint.
- AudiEndpoint v AudiConnection: Call Agent kim tra trng thi v kt
ni mt Endpoint.
- RestarIn_Progress: Gateway bo hiu cho Call Agent khi no cc
Endpoint ra khi dch v hoc quay li s dng dch v.
1.6.4.5. Cc vn lin quan n cht lng dch v
Cht lng ca cc dch v truyn thng a phng tin c xem l vn
quan quyt nh s pht trin ca dch v . Mi dch v truyn thng a phng
tin pht trin trn mng VoIP u phi khc phc cht lng v m thanh sau khi
nn v iu ny l mt trong nhng l do quan trng nht khin VoIP khng cnh
tranh c vi mng in thoi truyn thng PSTN. C 3 yu t chnh gy nh
-
Trang 41
hng trc tip n cht lng tn hiu thoi trong VoIP l : mt gi, tr gi v
jitter.
a. Mt gi v cc gii php khc phc tnh trng ny:
L hin tng chung trong mi trng chuyn mch gi.
Cc gi c truyn gia cc u cui thng qua cc router trung gian.
Khi cc router ny qu ti, nghn mch s dn n mt gi.
Cc gii php khc phc:
Nng cp mng
Lp gi mt bng khong lng
Thay th cc gi mt bng cch chn nhiu trng.
Pht li gi cui nhn c vi m lng nh hn.
Thm gi da vo c tnh sng m ca cc gi ln cn.
Chn khung thoi vo cc gi khc nhau
b.Tr gi
Gii hn ca delay l 150ms, vi ng truyn xa th delay chp nhn
c l t 150->400ms.
Tr gi lm ting ni khng thc, chng lp ting ni, to ting vng,
Nguyn nhn: do tr ca qu trnh m ho, gii m ting ni gy ra,
thi gian truyn, hay do xp hng trong cc buffer ti cc nt chuyn mch
v nt truyn s liu,
C hai gii php:
Nn Header: mi gi d liu u km theo cc header tm ng
chuyn cc gi n ng ni nhn.
Phn on: cc gi thoi s dng cc giao thc thi gian thc nh RTP,
RTCP, RSVP s c u tin hn trong truyn thng.
c. Network Jitter
jitter l khong thi gian n ni nhn khc nhau ca cc gi thoi, l yu
t nh hng nghim trng n cht lng thoi trong VoIP.
gii quyt vn ny, pha thu phi c mt b m jitter sp xp
cc gi nhn theo ng th t pht. Thi gian lu tr lm tng thm thi
-
Trang 42
gian delay.
Cc gateway cn c kh nng thay i kch thc b m jitter thch
nghi vi thi gian tr trong mng.
Kch thc chung ca buffer l 50-100ms.
Ngoi ra nghn mch trn mng cng nh hng rt ln n cht lng
thoi.
-
Trang 43
CHNG 2 : LP TRNH JAVA
2.1. Lp trnh hng i tng v lp trnh c cu trc
Phng php lp trnh truyn thng chng ta vn p dng l lp trnh c cu
trc. Phng php lp trnh ny thc hin theo cch tip cn hng chc nng da
ch yu vo vic phn tch cc chc nng chnh ca bi ton thnh nhng chc
nng n gin hn v thc hin lm mn dn t trn xung (top-down). Theo cch
tip cn hng chc nng, chng trnh c xem nh l mt tp cc hm chc
nng, trong liu v cc hm l tch ri nhau. i vi nhng h thng ln,
phc hp, phc tp ca chng trnh tng ln, s ph thuc ca n vo cc kiu
d liu m n x l cng tng theo. Cc kiu liu c x l trong nhiu chc
nng bn trong chng trnh c cu trc, v khi c s thay i v kiu d liu th
cng phi thc hin thay i mi ni m liu c s dng. Mt nhc
im na ca 1p trnh hng chc nng l khi c nhiu ngi tham gia xy dng
chng trnh, mi ngi c giao vit mt s chc nng (hm) ring bit nhng li
phi s dng chung d liu. Khi c nhu cu cn thay i liu s nh hng rt
ln n cng vic ca nhiu ngi, v.v.
Lp trnh hng i tng a trn nn tng l cc i tng. i tng (thc
th) c xy dng trn c s gn d liu vi cc php ton s th hin c ng
cch m chng m suy nghi, bao qut v chng trong th gii thc.
Chng hn, t c bnh xe, di chuyn c v hng ca n thay i c
bng cch thay i tay li. Tng t, cy l loi thc vt c thn g v l. Cy
khng phi l t v nhng g thc hin c vi t s khng lm c vi cy.
Lp trnh hng i tng cho php kt hp nhng tri thc bao qut v cc
qu trnh thc t vi nhng khi nim tru tng c s dng trong my tnh.
Chng trnh hay h thng hng i tng c xem nh l tp cc lp i tng
tng tc vi nhau thc hin cc yu cu ca bi ton t ra.
Nh vy, hin nay c hai cch tip cn c bn pht trin cc h thng
phn mm: l cch tip cn hng chc nng (Function-Oriented) v hng i
-
Trang 44
tng (Object-Oriented). C hai cch tip cn ny u p dng mt nguyn l
chung m hnh ha h thng l thc hin chia tr, phn chia bi ton thnh
nhng n v tng i n gin m c th d dng qun l c chng mt cch
c hiu qu.
2.1.1. Lp trnh hng chc nng
Nhng ngn ng lp trnh bc cao truyn thng nh COBOL, FORTRAN,
PASCAL, C, ..., c gi chung l ngn ng lp trnh hng chc hng. Theo cch
tip cn hng chc nng th mt h thng phn mm c xem nh l dy cc
cng vic (chc nng) cn thc hin nh nhp d liu, tnh ton, x l, lp bo co
v in n kt qu v.v... Mi cng vic s c thc hin bi mt s hm nht
nh. Nh vy, trng tm ca cch tip cn ny l cc hm chc nng, cu trc ca
chng trnh c xy dng theo cch tip cn hng chc nng c dng nh hnh
di y:
Hnh 2.1. Cu trc chng trnh hng chc nng
Lp trnh hng chc nng (LTHCN) s dng k thut phn r cc chc nng
(hm) theo cc tip cn top-down to ra cu trc phn cp - Chng trnh c
xy dng theo cch tip cn hng chc nng thc cht l tp cc chng trnh con
(c th xem nh l cc hm) m theo my tnh cn thc hin hcn thnh
nhng nhim v t ra ca h thng.
-
Trang 45
Khi t trng tm vo cc hm th d liu, nhng ci m cc hm s dng
thc hin cng vic ca mnh li tr thnh th yu. Ci g s xy ra i vi d liu
v gn d liu vi cc hm nh th no? cng nhiu vn khc cn phi gi quyt
khi mun xy dng cc phng php ph hp pht trin nhng h thng phn
mm gii quyt nhng yu cu t ra ca thc t. Hn na, h thng lun l mt th
thng nht, (V vy cc hm trong mt chng trnh phi c lin h, trao i c
vi nhau. Nh chng ta bit, cc hm (cc b phn chc nng) ch c th trao i
c vi nhau thng qua cc tham s: ngha l phi s dng bin chung (global).
Mi hm c th c vng d liu ring cn gi l d liu cc b (local). Mi quan h
gia d liu v hm trong chng trnh hng chc nng c m t trong hnh
sau:
Hnh 2.2. Mi quan h gia d liu v hm trong LTHCN
Nhiu hm c th truy nhp, s dng d liu chung, lm thay i gi tr ca
chng v v vy rt kh kim sot. Khi mun thay i, b sung cu trc liu dng
chung cho mt s hm th ngi lp trnh phi thay i hu nh tt c cc hm lin
quan n d liu . Nht l i vi nhng chng trnh, d n tin hc ln, phc
tp i hi nhiu ngi, nhiu nhm tham gia th nhng thay i ca nhng bin d
liu chung s nh hng ti tt c nhng mi c lin quan ti chng.
Mt c tnh na ca cch tip cn hng chc nng d nhn thy l tnh m
(open) ca h thng km. Th nht, v da chnh vo chc nng m trong thc t
nhim v ca h thng li hay thay i nn khi mun cho h thng p ng cc
yu cu th phi thay i li cu trc ca h thng, ngha l phi thit k, lp trnh
-
Trang 46
li h thng. Th hai, vic s dng cc bin d liu chung trong chng trnh lm
cho cc nhm chc nng ph thuc vo nhau v cu trc liu nn cng hn ch
tnh m ca h thng. Trong thc t, c cu t chc ca mi t chc li thng t
thay i hn l chc nng, nhim v phi thc hin.
Mt khc, cch tip cn hng chc nng li tch d liu khi chc nng x l
nn vn che giu, bo v thng tin trong h thng l km, ngha l vn an
ton, an ninh d liu l rt phc tp.
Ngoi ra cch tip cn hung chc nng cng khng h tr vic s dng li v
k tha nn cht lng v gi thnh ca phn mm t c ci thin.
2.1.2. Lp trnh hng i tng
Lp trnh hng i tng (LTHT) t trng tm vo cc i tng, yu t
quan trng trong qu trnh pht trin chng trnh v n khng cho php d liu
tch bit, chuyn ng t do trong h thdng. D liu c gn cht vi cc hm
thnh phn v chng c t chc, qun l truy nhp theo nhiu mc khc nhau.
LTHT cho php phn tch bi ton thnh tp cc thc th c gi l cc lp
i tng, sau xy dng cc d liu thnh phn cng vi cc hm thnh phn
thao tc trn cc d liu v trao i vi nhng i tng khc thc hin
nhng nhim v c giao).
Mt chng trnh, mt h thng c xem nh l mt tp cc lp i tng v
cc i tng trao i vi nhau thng qua vic gi v nhn cc thng ip
(message). Do vy, mt chng trnh hng i tng thc s c th hon ton
khng cn s dng bin chung.
Lp trnh hng i tng da ch yu vo cc i tng, nn khi c nhu cu
thay i th ch cn thay i mt s 1p c lin quan, hoc c th b sung mt s
lp mi trn c s k tha v s dng li nhiu nht c th. Mt khc, nh trn
phn tch, mt chng trnh hng i tng c th khng s dng hoc hn ch s
dng cc bin chung, do vy dng to ra c nhng h thng c tnh m cao
hn.
C ch bao hc, che giu thng tin ca phng php hng i tng gip to
ra c nhng h thng an ton, an ninh cao hn cch tip cn hng chc nng.
-
Trang 47
Hn na, phng php hng i tng cn h tr rt mnh nguyn l s
dng li nhiu nht c th v to ra mi kh nng k tha nhng lp c
thit k, lp trnh tt nhanh chng to ra c nhng phn mm c chtt lng,
gi thnh r hn v p ng cc yu cu ca ngi s dng.
2.2. Lch s pht trin ca ngn ng java
Nm 1990, Sun MicroSystems thc hin d n Green nhm pht trin phn
mm trong cc thit b dn dng. James Gosling, chuyn gia lp trnh to ra mt
ngn ng lp trnh mi c tn l Oak. Ngn ng ny c c php gn ging nh C++
nhng b qua cc tnh nng nguy him ca C++ nh truy cp trc tip ti nguyn h
thng, con tr, nh ngha chng cc tc t Khi ngn ng Oak trng thnh,
WWW cng ang vo thi k pht trin mnh m, Sun cho rng y l mt ngn
ng thch hp cho Internet. Nm 1995, Oak i tn thnh Java. n 1996 Java
c xem nh mt chun cng nghip cho Internet.
Kh nng ca ngn ng java:
L mt ngn ng bc cao nh C, C++, Perl, SmallTalk,.. cho nn c th c
dng to ra cc ng dng gii quyt cc vn v s, x l vn bn,
to ra tr chi, v nhiu th khc.
C cc mi trng lp trnh ha nh Visual Java, Symantec Cafe,
Jbuilder, Jcreator, ...
C kh nng truy cp d liu t xa thng qua cu ni JDBC (Java DataBase
Connectivity)
H tr cc lp hu ch, tin li trong lp trnh cc ng dng mng (Socket)
cng nh truy xut Web.
H tr lp trnh phn tn (Remote Method Invocation ) cho php mt ng
dng c th c x l phn tn trn cc my tnh khc nhau.
Lun c b sung cc tnh nng cao cp khc trong cc phin bn sau.
Nhng c im ca ngn ng Java:
Ngn ng hon ton hng i tng.
Ngn ng a nn cho php mt chng trnh c th thc thi trn cc h iu
hnh khc nhau (MS Windows, UNIX, Linux) m khng phi bin dch li
-
Trang 48
chng trnh. Phng chm ca java l "Vit mt ln , Chy trn nhiu nn"
(Write Once, Run Anywhere).
Ngn ng a lung, cho php trong mt chng trnh c th c nhiu lung
iu khin c thc thi song song nhau, rt hu ch cho cc x l song
song.
Ngn ng phn tn, cho php cc i tng ca mt ng dng c phn b
v thc thi trn cc my tnh khc nhau.
Ngn ng ng, cho php m lnh ca mt chng trnh c ti t mt my
tnh v my ca ngi yu cu thc thi chng trnh.
Ngn ng an ton, tt c cc thao tc truy xut vo cc thit b vo ra u
thc hin trn my o nh hn ch cc thao tc nguy him cho my tnh
tht.
Ngn ng n gin, d hc, kin trc chng trnh n gin, trong sng.
2.3. My o java v trnh bin dch
m bo tnh a nn, Java s dng c ch my o ca Java. ByteCode
l ngn ng my ca my o Java tng t nh cc lnh nh phn ca cc my tnh
thc. Mt chng trnh sau khi c vit bng ngn ng Java (c phn m rng l
.java) phi c bin dch thnh tp tin thc thi c trn my o Java (c phn m
rng l .class). Tp tin thc thi ny cha cc ch th di dng m Bytecode m my
o Java hiu c phi lm g. Khi thc hin mt chng trnh, my o Java ln
lt thng dch cc ch th di dng Bytecode thnh cc ch th dng nh phn ca
my tnh thc v thc thi thc s chng trn my tnh thc. My o thc t l
mt chng trnh thng dch. V th cc h iu hnh khc nhau s c cc my o
khc nhau. thc thi mt ng dng ca Java trn mt h iu hnh c th, cn
phi ci t my o tng ng cho h iu hnh .
B pht trin ng dng Java (JDK- Java Development Kit) JDK l mt b
cng c cho php ngi lp trnh pht trin v trin khai cc ng dng bng ngn
ng java c cung cp min ph bi cng ty JavaSoft (hoc Sun). C cc b Jdk
cho cc h iu hnh khc nhau. Cc phin bn ca JDK khng ngng c pht
-
Trang 49
hnh, ngi lp trnh c th ti ti a ch
http://www.oracle.com/technetwork/java/javase/downloads/index.html.
Ci t b pht trin ng dng JDK:
Cc bc ci t b JDK trn nn windows nh sau:
Chy tp tin Setup.exe
Chn ni ci t, gi s D:\jdk1.4
t bin mi trng
- PATH = D:\jdk1.4\bin; c th thc thi cc chng trnh ny t
bt k th mc hin hnh no.
- CLASSPATH = D:\jdk1.4\lib;.; ch n cc lp th vin ca Java
trong th mc D:\jdk1.4\lib v cc lp ti th mc hin hnh, th hin
bng du chm( . )
B cng c ny gm cc chng trnh thc thi ng ch sau:
javac: Chng trnh bin dch cc chng trnh ngun vit bng ngn ng
java ra cc tp tin thc thi c trn my o Java.
java: y l chng trnh lm my o ca Java, thng dch m Bytecode
ca cc chng trnh kiu application thnh m thc thi ca my thc.
appletviewer: B thng dch, thc thi cc chng trnh kiu applet.
javadoc: To ti liu v ch thch chng trnh ngun mt cch tng.
jdb: Trnh g ri.
rmic: To Stub cho ng dng kiu RMI.
rmiregistry: Phc v danh b (Name Server) trong h thng RMI
2.4. Bin son chng trnh bng phn mm Notepad ca Ms Windows
2.4.1. Son tho chng trnh ngun:
Notepad l trnh son tho n gin c sn trong MS Windows m ngi lp
trnh c th dng bin son chng trnh HelloWorld. Hy thc hin cc bc
sau:
Chy chng trnh Notepad: Chn menu
Start\Programs\Accessories\Notepad
Nhp ni dung sau vo Notepad:
-
Trang 50
public class HelloWorld { public static void main(String args[]) {
System.out.print("Hello World! \n");
} }
Save tp tin vi tn HelloWorld.java
- Chn menu File \ Save
- Ti ca s Save As hy nhp vo: Save in: Th mc ni s lu tp tin File
Name: HelloWorld.java Save as type: All Files Nhp vo nt Save
2.4.2. Bin dch v thc thi chng trnh
B1: M ca s MS-DOS: Chn menu Start\Programs\Accessories\Command
Prompt.
B2: Chuyn vo th mc cha tp tin HelloWorld.java
B3: Dng chng trnh javac bin dch tp tin HelloWorld.java:
javac HelloWorld.java
- Nu c li, trn mn hnh s xut hin thng bo li vi du ^ ch v tr li.
- Nu khng c li, tp tin thc thi HelloWorld.class c to ra.
B4: Thc thi chng trnh HelloWorld.class:
java HelloWorld
Kt qu mn hnh nh sau:
2.5. Cc khi nim c bn ca ngn ng java
-
Trang 51
Cc khi nim c bn c trnh by sau y cng l cc khi nim chung trong lp
trnh hng i tng:
l. i tng (object),
2. Lp i tng (class),
3. Tru tng ha liu (Data Abstraction),
4. Bao bc v che giu thng tin (EncapSulation and Information Hiding).
5. M rng, k tha gia cc lp (Inheritance),
6. a X v np chng (Polymorphism and Overloading),
7. Lin kt ng (Dynamic Binding),
8. Truyn thng ip (Message Passing).
2.5.1. i tng
i tng l khi nim c s, quan trng nht ca cch tip cn hng i
tng.
i tng l thc th ca h thng, ca CSDL v c xc nh thng qua
nh danh ID (IDentifier) ca chng. Mi i tng c tp cc c trng bao gm
c cc d liu thnh phn hay cc thuc tnh m t cc tnh cht v cc phng
thc. Cc thao tc trn cc d liu xc nh hnh vi ca i tng .
i tng l nhng thc th c xc nh trong thi gian h thng hng i
tng hot ng. Nh vy i tng c th biu din cho ngi, vt, hay mt bng
d liu hoc bt k mt hng thc no cn x l trong chng trnh, i tng
cng c th l cc d liu c nh ngha bi ngi s dng (ngi lp trnh) nh
vector, danh sch, cc record, ... Nhim v ca LTHT l phn tch bi ton thnh
cc i tng v xc nh c bn cht ca s trao i thng tin gia chng. i
tng trong chng trnh cn phi c chn sao cho n th hin c mt cch
gn nht ni nhng thc th c trong h thng thc.
Nh vy, i tng c nh ngha mt cch tru tng nh l mt khi
nim, mt cu trc gp chung c phn d liu (thuc tnh) vi cc hm (phng
thc) thao tc trn nhng d liu v c th trao i vi nhng i tng khc.
Theo quan im ca ngi lp trnh, i tng c xem nh l vng b nh c
-
Trang 52
phn chia trong b nh my tnh lu tr d liu v tp cc hm tc ng trn d
liu gn vi chng.
2.5.2. Lp i tng
Lp l bn mu hay mt kiu chung cho tt c nhng i tng c nhng c
trng ging nhau, ngha l c cc thuc tnh v hnh vi ging nhau. i tng chnh
l th hin (c th) ca mt lp xc nh. Trong lp trnh hng i tng, lp c
xem l ng nht vi kiu (d liu tru tng (ADT - Abstract Data Type c
Barbara xut vo nhng nm 70).
Phng php lp trnh hng i tng l cch phn chia chng trnh thnh
cc n th (cc lp) bng cch to ra cc vng b nh cho c d liu ln hm v
chng s c s dng nh cc mu to ra bn sao tng i tng khi chng
c to ra trong h thng.
Nhim v ca ngi lp trnh l tm cch xc nh y , chnh xc danh
sch cc lp (i din cho ttt c cc thc th trong h thng v mi quan h gia
cc lp i tng .
Nh vy, lp chnh l tp cc i tung c cng cc thuc tnh v hnh vi
ging nhau. Cc thnh phn ca lp c th chia thnh ba vng qun l chnh: cng
khai (public), c bo v (protected) v vng ring (private). Trong ngn ng m
hnh ha thng nht UML, cu trc ca lp thng c c t bi: tn ca lp, tp
cc thuc tnh v tp cc hm.
2.5.3. Tru tng ha d liu
Tru tng ha l cch biu din nhng c tnh chnh v b qua nhng chi
tit. Tru tng ha l s m rng khi nim kiu d liu v cho php nh ngha
nhng php ton tru tng trn cc d liu tru tng.
xy dng cc lp, chng ta phi s dng khi nim tru tung ha. V d,
chng ta c th nh ngha mt lp l danh sch cc thuc tnh tru tng nh l
kch thc, hnh dng, mu v cc hm xc nh trn cc thuc tnh ny m t
cc i tng trong khng gian hnh hc. Trong lp trnh, lp c s dng nh
kiu d liu tru tng.
-
Trang 53
Khi xy dng phn mm th nguyn l tru tng ha c thc hin thng
qua vic tru tng ha cc chc nng, hm (thut ton) v tru tng ha cc kiu
d liu nguyn thy.
2.5.4. Bao bc v che du thng tin
Vic ng gi d liu v cc hm vo mt n v cu trc (gi l lp) c
xem nh mt nguyn tc bao bc thng tin. K thut ny cho php xc nh cc
vng c trng ring, cng khai hay c bo v bao gm c d liu v cc cu lnh
nhm iu khin hoc hn ch nhng truy nhp ty tin ca nhng i tng khc.
D liu c t chc sao cho th gii bn ngoi (cc i tng lp khc) khng
truy nhp c vo nhng thuc tnh ring v ch cho php cc hm trong cng lp
hoc trong nhng lp c quan h k tha vi nhau mi c quyn truy nhp n
vng c bo v.
Vng cng khai ca lp th cho php mi i tng c php truy nhp.
Chnh cc hm thnh phn cng khai ca lp s ng vai tr nh l giao din gia
cc i tng v vi phn cn li ca h thng. Nguyn tc bao hc d liu ngn
cm s truy nhp trc tip trong lp trnh c gi l s che giu thng tin.
Nguyn l bao hc che giu thng tin ca lp i tng c m t nh trong hnh
sau:
Hnh 2.3. Bao bc v che giu thng tin ca lp i tng
2.5.5. S m rng, k tha gia cc lp
-
Trang 54
Nguyn l k tha cho php cc i tng ca lp ny c quyn s dng
mt s tnh cht (c d 1iu v cc hm thnh phn) ca cc lp khc. Mt lp c
th l lp con (lp dn xut) ca mt lp khc, ngha l c th b sung thm mt s
tnh cht thu hp phm vi xc nh cc i tng trong lp mi cho ph hp vi
ng cnh trong thc t.
Theo nguyn l chung ca k tha th ch nhng thuc tnh, hm thnh phn
c bo v v cng khai l c quyn k tha, cn nhng thuc tnh, hm thnh
phn ring l khng c php k tha. Nhng thuc tnh v hm c k tha t
1p ch (lp c s) c xem nh l ti sn" ca chnh cc i tng con chu,
chng c quyn s dng m khng cn phi khai bo hay nh ngha li. Nh vy,
nguyn l k tha trong lp trnh hng i tng hon ton ng nht vi nguyn
l k tha gia sn trong x hi loi ngi.
Phng php hng i tng ni chung h tr hai nguyn l k tha: k tha n
v k tha bi. K tha n l mt lp c th k tha t mt lp c s, cn k tha
bi l mt lp c th k tha t nhiu hn mt lp c s. Ngn ng C++ h tr c
hai nguyn l k tha, nhng java ch h tr thc hin k tha n.
Nguyn l k tha n h tr cho vic to ra cu trc cy phn cp cc lp.
V d, mt trng i hc o to sinh vin c ba khoa: Kim& X hi, Khoa Cng
ngh Thng tin v Khoa Ton, c th xy dng lp Sinh vin l lp c s t
xy dng tip ba lp k tha l: Khoa X hi, Khoa Ton v Khoa CNTT h thng
s c thit k thnh cc mc k tha v c m t trong UML nh sau:
Hnh 2.4. Cu trc phn cp cc lp theo quan h k tha
-
Trang 55
Trong LTHT, khi nim k tha ko theo tng s dng li. Ngha l t
mt lp c xy dng c th b sung thm mt s tnh cht to ra mt lp
mi k tha lp c m khng lm thay i nhng ci c.
Khi nim k tha c hiu nh c ch sao chp o khng n iu. Trong thc
t,
mi vic xy ra ta nh nhng lp c s u c sao vo trong lp con (lp n
xut) mc iu ny khng c ci t tng minh (nn gi l sao chp o) v
vic sao chp ch thc hin i vi nhng thng tin cha c xc nh trong cc
lp c s (sao chp khng n iu). Do vy, c th din t c ch k tha nh
sau:
1. Lp A k tha lp B s c (khng tng minh) tt c cc thuc tnh, hm
c xc nh trong B nhng vng c php k tha (c bo v,
cng khai),
2. B sung thm mt s thuc tnh, hm m t c ng cc hnh vi ca
nhng i tng m lp A qun l.
2.5.6. a x ( tng ng bi) v np chng
Mt khi nim quan trng na trong LTHT l khi nim a x tng t nh
trong ton hc. a x l k thut c s dng m t kh nng gi mt thng
ip chung ti nhiu i tng m mi i tng li c cch :c l ring theo ng
cnh ca mnh.
a x ng mt vai tr quan trng trong vic to ra cc i tng c cu trc
vi nhng ni dung thc hin khc nhau m li c kh nng s dng chung mt giao
din (cng mt tn gi). Theo mt ngha no , a x l s m rng khi nim s
dng li trong nguyn l k tha. Hnh 2.5 cho thy hm c tn l Ve() c th s
dng v cc hnh khc nhau ph thuc vo i tng l cc hnh khi gi thc
hin.
Tam gic, Hnh trn v Hnh ch nht l cc lp con ca lp Hnh. Hm
Ve() l hm a x v n c xc nh ty theo ng cnh khi s dng, khi gi thc
hin i tng l tam gic th s v tam gic, nu i tng l hnh trn th v hnh
trn, v.v.
-
Trang 56
Hnh 2.5. Tng ng bi ca hm ve()
Np chng (Overloading) l mt trng hp ca a x. Np chng l kh
nng ca mt khi nim (nh cc php ton chng hn) c th c s dng vi
nhiu ni dung thc hin khc nhau ty theo ng cnh, c th l ty thuc vo kiu
v s cc tham s ca chng. V d, hm cong() c th c np chng cng cc
s nguyn (tr), s thc (float), s phc (complex) hoc ghp cc xu k t (String)
v.v.
int Cong(int, int); // Cng hai s nguyn
float Cong(float, float); //' Cng hai s thc
Complex Cong(Complex, Complex); // Cng hai s phc
String Cong(String, String); // Ghp hai xu
String Cong(String, int); // Ghp mt xu vi mt s nguyn
2.5.7. Lin kt ng
Lin kt thng thng (lin kt tnh) l dng lin kt c xc nh ngay khi
dch chng trnh. Hu ht cc chng trnh c vit bng Pascal, C u l dng
lin kt tnh. Lin kt ng l dng lin kt cc hm, chc nng khi chng trnh
thc hin cc li gi cc hm, chc nng . Nh vy, trong lin kt ng, ni dung
ca on chng trnh ng vi chc nng, hm s khng c xc nh cho n khi
thc hin li gi ti chc nng, hm . Lin kt ng lin quan cht ch vi nhng
khi nim a x v k tha trong lp trnh hng i tng. Chnh nh khi nim
lin kt ng m nhiu khi nim ca lp trnh hng i tng nh khi nim a
x thc hin c.
Chng ta hy xt Ve() trong hnh 2.6. theo nguyn l k tha th mi i tng
u c th s dng hm ny v cc hnh c th khi h thng thc hin. Hm Ve()
-
Trang 57
c nh ngha li trong cc lp dn xut v tam gic, hnh trn hay hnh ch
nht theo cc thut ton tng ng. Khi thc hin, v d: nu i tng hnh l Hnh
trn th h thng s lin kt vi hm Ve() c nh ngha trong lp Hnh trn v
hnh trn.
2.5.8. Truyn thng ip
Chng trnh hng i tng (c thit k v lp trnh theo phng php
hng i tng bao gm mt tp cc i tng v mi quan h gia cc i tng
vi nhan. V vy, lp trnh trong ngn ng hng i tng bao gm cc bc
sau:
l. To ra cc lp i tng v m t hnh vi ca chng;
2. To ra cc i tng theo nh ngha ca cc lp;
3. Xc nh s trao i thng tin gia cc i tng trong h thng.
Cc i tng gi v nhn thng tin trong h thng hng i tng cng
ging nh con ngi trao i vi nhau trong x hi. Chnh nguyn l trao i thng
tin bng cch truyn thng ip cho php chng ta dng xy dng c h thng
m phng gn hn vi thc t. Truyn thng ip cho mt i tng tc l bo cho
n phi thc hin mt vic, mt yu cu (thnh cu) no . Cch ng x ca i
tng s c m t trong lp thng qua cc hm cng khai (hay cn c gi l
lp dch v).
Trong chng trnh, thng ip gi n cho mt di tung chnh l yu
cu thc hin mt cng vic c th, ngha l s dng nhng hm tng ng x l
d liu c khai bo trong lp i tng . V vy, trong thng ip phi ch
ra c hm cn thc hin ca i tng nhn thng ip. Hn th na, thng ip
truyn i phi xc nh tn i tng, tn hm (thng dip) v thng tin truyn i.
2.5.9. Cc u im ca lp trnh hng i ng
Nh trn phn tch lp trnh hng i tng em li mt s li th cho c
ngi thit k ln ngi lp trnh. Cch tip cn hng i tng gii quyt c
nhiu vn tn ti trong qu trnh pht trin phn mm v to ra c nhng sn
phm phn mm c cht lng cao. Nhng phng php ny m ra mt trin vng
to ln cho nhng ngi lp trnh. Hy vng s c nhiu sn phm phn mm tt hn
-
Trang 58
p ng c nhng tnh cht v sn phm cht lng cao trong Cng ngh phn
mm v nht l bo tr h thng t tn km hn. Nhng u im chnh ca LTHT
l:
l. Thng qua nguyn l k tha chng ta c th loi b c nhng on m
chng trnh lp li trong qu trnh m t cc lp v m rng kh nng s
dng cc lp c xy dng.
2. Chng trnh c ny dng t nhng n th (i tng) trao i vi nhu
nn vic thit k v lp trnh s c thc hin theo quy trnh nht nh ch
khng phi da vo kinh nghim v k thut nh trc. iu ny m bo rt
ngn c thi gian xy dng h thng v tng nng sut lao ng.
3. Nguyn l che giu thng tin gip ngi lp trnh to ra c nhng chng
trnh an ton khng b thay i bi nhng on chng trnh khc mt cch
ty tin.
h.
4. C th xy dng c nh x cc i tng ca bi ton vo i tng ca
chng trnh.
5. Cch tip cn thit k t trng tm vo d liu, gip chng ta xy dng
c m hnh chi tit v ph hp vi thc t.
6. Nhng h thng hng i tng d m rng, nng cp thnh nhng h ln
hn.
7. K thut truyn thng ip trong vic trao i thng tin gia cc i tng
gip cho vic m t giao din vi cc h thng bn ngoi tr nn n gin hn.
8. C th qun l c phc tp ca nhng sn phm phn mm.
9. Khng phi trong h thng hng i tng no cng c tt c cc tnh cht
nu trn. Kh nng xy dng c chng trnh c cc tnh cht cn ph
thuc vo lnh vc ng dng ca d n tin hc v vo phng php thc hin
ca ngi pht trin phn mm.
2.6. Cc kiu d liu
2.6.1. Kiu d liu c s
Kiu s:
-
Trang 59
Tn kiu Kch thc
byte 1 byte
short 2 bytes
int 4 bytes
long 8 bytes
float 4 bytes
double 8 bytes
Bng 2.1. Kiu d liu s
Kiu k t char: Java dng 2 bytes cho kiu k t, theo chun m UNICODE ( 127
k tu tng thch vi m ASCII ). Do , ngi lp trnh s dng tng t nh
bng m ASCII.
Kiu chui k t String: thc cht y l mt lp nm trong th vin chun ca
Java (Core API) java.lang.String
Kiu logic (boolean): nhn 2 gi tr l : true v false.
Kiu mng:
Khai bo: int[] a ; float[] yt; String[] names;
hoc: int a[]; float yt[]; String names[];
int maTran[][]; float bangDiem[][];
Khi to: a = new int[3]; yt = new float[10]; names = new String[50]; maTran =
int[10][10];
S dng mng: int i = a[0]; float f = yt[9]; String str = names[20];
int x = matran[2][5];
Ch :
- Cc gi tr kiu d liu nguyn thy l nguyn thy v khng phi l i tng
- Mi kiu gi tr nguyn thy c min gi tr xc nh v cc php ton nh ngha
trn cc gi tr .
- Mi kiu nguyn thy c mt lp bao bc gi l lp nguyn thy. Th d: kiu int
thuc lp Integer, char thuc lp Char.
2.6.2. Quy c t tn lp, tn i tng, tn phng thc
-
Trang 60
Tn hng, tn bin, tn lp, tn phng thc , ... c t tn theo qui tc bt buc
sau:
Tn phn bit gia ch hoa v ch thng.
Dng cc ch ci, k t s, k t _ v $.
Khng bt u bng k t s.
Khng c khong trng trong tn.
chng trnh ngun d c, d theo di trong lp trnh hng i tng cn s
dng quy c t tn sau (khng bt buc):
Tn lp:
- Cc k t u tin ca mt t c vit hoa, cc k t cn li vit thng.
-V d: lp Nguoi, SinhVien, MonHoc, String, InputStream, OutputStream. .
.
Tn bin, tn hng, tn phng thc:
- T u tin vit thng.
- K t u tin ca t th hai tr i c vit hoa.
V d: ten, ngaySinh, diaChi, inTen(), inDiaChi(), getInputStream(), . . .
- V tr t du { v } bt u v kt thc cc khi nh sau: if (condition)
{ command1; command1; } else { command3; command4; }
2.7. Cc t kha trong java
Cc t kha ca mt ngn ng lp trnh l nhng nh danh nh sn c
nh ngha trc ca ngn ng v khng th s dng cho nhng thc th khc. Cc
t kha ca Java c th chia thnh 9 nhm.
l. T chc cc lp
package: Xc nh mt gi s cha mt s lp trong tp ngun.
import: Yu cu mt hay mt s lp cc gi ch nh cn nhp vo s
dng trong ng dng hin thi.
2. nh ngha cc lp
interface: nh ngha cc bin, hng, phng thc chung nh l giao din c
th chia s chung gia cc lp.
-
Trang 61
class: nh ngha tuyn tp cc thuc tnh d liu, phng thc m t cc c
tnh v cc hnh vi ca tp cc i tng c quan h vi nhau.
extends: Ch ra mt lp l m rng (k tha) ca mt lp khc, hay cn gi l
lp con ca lp cho trc.
implements: Xy dng mt lp mi ci t nhng phng thc t interface xc
nh trc.
3. Cc t kha cho cc bin v cc lp
abstract: Khai bo lp tru tng khng c th hin c th,
public: Khai bo lp, bin d liu, phng thc cng khai c th truy nhp
mi ni trong h thng.
private: Khai bo bin d liu, phng thc ring trong tng lp v ch cho
php truy nhp trong lp .
protected: Khai bo bin d liu, phng thc c bo v, cho php truy
nhp lp cha chng v cc lp con ca lp .
static: inh ngha cc bin, phng thc tnh ca lp, dng chung cho tt c
cc i tng trong mt lp.
synchronized: Ch ra l mi thi im ch c mt i tng hoc mt lp c
th truy nhp n bin d liu, hoc phng thc loi ngha l chng c ng
b ha.
volatile: Bo cho chng trnh dch bit l bin khai ho Volatile c th thay
i d b (ty ) trong cc lung (thread).
final: Ch ra cc bin, phng thc khng c thay i sau khi c nh
ngha.
native: Lin kt mt phng thc vi m a phng (native code), m c
vit trong nhng ngn ng lp trnh khc nh C chng hn.
4. Cc kiu nguyn thy (n gin)
long: Kiu s nguyn ln vi cc gi tr chim 64 bit (8 byte).
int: Kiu s nguyn vi cc gi tr chim 32 bit (4 byte).
short: Kiu s nguyn ngn vi cc gi tr chim 16 bit (2 byte).
byte: Kiu byte vi cc gi tr nguyn chim 8 bit (1 byte).
-
Trang 62
char: Kiu k t Unicode, mi k t chim 16 bit (2 byte).
oat: Kiu s thc vi cc gi tr biu din theo dng du phy ng 31 bit.
double: Kiu s thc chnh xc gp i vi cc gi tr biu in theo dng du
phy ng 64 hit (8 byte).
boolean: Kiu logic vi 2 tr: true, false.
void: Kiu trng, s dng cho nhng hm khng tr li gi tr.
5. Nhng t kha cho cc gi tr v cc bin
false: Gi tr kiu boolean (sai)
true: Gi tr kiu boolean (ng).
this: Bin ch ti i tng hin thi.
super: Bin ch ti i tng ca lp cha.
null: Ch ra i tng khng tn ti.
6. X l ngoi l
throw, throws: B qua mt ngoi l x l sau.
try: Th thc hin cho n khi gp mt ngoi l.
catch: n nhn mt ngoi l.
finally: Thc hin mt khi lnh n cng bt chp cc ngoi l c th xy ra.
7. To lp v kim tra cc i tng
new: To lp mt i tng.
instanceof: Kim tra xem mt i tng c nm trong mt lp hay mt
interface hay khng.
8. Dng iu khin
switch, case, default, if, else, break, continue, do, while, for, return.
2.8. Ch thch trong chng trnh java (Comment)
Ch thch trn mt dng: // Li ch thch
Ch thch trn nhiu dng: /* li ch thch */
2.9. Cc php ton c bn
Php ton s hc: +, - , *, / , % , =,++ , -- , += , - = , *= , /= , %=
Php ton logic: ==, !=, && , ||, ! ,> , < , >= , , ~
-
Trang 63
Php ton iu kin: ? :
Cch chuyn i kiu: (Kiu Mi)
2.10. Cu trc mt chng trnh java kiu ng dng c lp
Java l mt ngn ng thun i tng (pure object). Tt c cc thnh phn
c khai bo nh hng, bin, hm th tc u phi nm trong phm vi ca mt lp
no . Mt ng dng trong Java l mt tp hp cc lp lin quan nhau, bao gm
cc c nh ngha bi ngi lp trnh.
Trong mt ng dng ch c mt Lp thc thi c. y l lp u tin c xem
xt n khi thc thi ng dng. Lp thc thi c ny c cc c im sau:
C tn lp trng vi tn tp tin cha n.
Phi khai bo phm vi l public
C cha phng thc: public static void main (String args[]){ . . . } l
phng thc c thc thi u tin.
Nu nhiu lp c nh ngha trong mt tp tin, ch c mt lp c khai
bo public.
Mt s th du:
Th d 1: Hin th thng tin ra mn hnh
in thng tin ra mn hnh cn dng phng thc : System.out.print(arg1+ arg2+ ..
+ argn) Java s t ng nh dng d liu cho cc tham s arg1, arg2, ..., argn ty
theo kiu ca chng. Lu chng trnh sau vo tp tin Display.java:
public class Display {
public static void main(String args[]) {
int i = 10; String str = " nam yeu "; char ch = 'm';
System.out.print('\n'+ "Bai hat:" + i + str + ch);
} }
Bin dch v thc thi cho kt qu:
-
Trang 64
Phng thc System.out.println(arg1+ arg2+ .. + argn) in cc tham s v t
ng xung dng mi.
Th d: c k t t bn phm
Phng thc int System.int.read() tr mt s nguyn l m ASCII ca k t nhp t
bn phm. Lu chng trnh sau vo tp tin KeyRead.java:
import java.io.*;
public class KeyRead {
public static void main(String args[]) {
try {
int ch = System.in.read();
System.out.print("Ky tu " + (char)ch + " co ma ascii = "+ch);
} catch(IOException ie) {
System.out.print("Error " + ie) ; } } }
Bin dch v thc thi ta c kt qu:
-
Trang 65
Trong v d trn lu mt s im sau:
Dng u tin import java.io.*; l c ch khai bo vi trnh bin dch cc
lp th vin ca Java m chng trnh c s dng n. Trong trng hp ny
chng trnh khai bo s dng tt c cc lp trong gi (package) java.io.
Thc t chng trnh trn ch s dng lp IOException ca gi java.io m
thi, v th c th thay th dng java.io.*; bng java.io.IOException;.
C ch ngoi l (Exception) ca java: try { .... } catch(IOException ie) { ....
} s c gii thch r phn sau.
2.11. Cc cu trc iu khin
2.11.1. Lnh r nhnh if
C php: if (biu thc iu kin) {
// Cc lnh s c thc hin nu gi tr ca biu thc iu kin l true
}
Hoc:
if (biu thc iu kin) {
// Cc lnh s c thc hin nu gi tr ca biu thc iu kin l true
} else {
// Cc lnh s c thc hin nu gi tr ca biu thc iu kin l false
}
Th d: Lu chng trnh sau vo tp tin IfDemo.java:
-
Trang 66
import java.io.*;
public class IfDemo {
public static void main(String args[]) {
System.out.print("Vui long nhap mot ky tu:");
try {
int ch = System.in.read(); if (ch == 'A') {
System.out.print("Ban rat may man !");
} else {
System.out.print("Ban khong gap may !");
} } catch(IOException ie) { System.out.print("Error:"+ie); } } }
2.11.2. Lnh switch
C php:
switch ( variable ) {
case value1 : {
// Cc tc v s c thc thi nu gi tr ca variable l value1
break; }
case value2 : {
// Cc tc v sc thc thi nu gi tr ca variable l value2
break; }
. . .
default:
// Tc v sc thc thi nu gi tr ca variable khng l cc gi tr
trn }
Th d: Lu chng trnh sau vo tp tin CaseOp.java:
import java.io.*;
public class CaseOp {
public static void main(String args[]) {
System.out.print("Enter a number character: ");
try {
int ch = System.in.read();
-
Trang 67
switch(ch) {
case '0': { System.out.print("Zero");break;}
case '1': { System.out.print("One"); break;}
case '2': { System.out.print("Two"); break;}
case '3': { System.out.print("Three");break;}
case '4': { System.out.print("Four"); break;}
case '5': { System.out.print("Five"); break;}
case '6': { System.out.print("Six"); break;}
case '7': { System.out.print("Seven");break;}
case '8': { System.out.print("Eight");break;}
case '9': { System.out.print("Nine"); break;}
default: { System.out.print("I don't know"); break;}
} } catch(IOException ie) { System.out.print("Error "+ie); } } }
Bin dch v thc thi c kt qu sau:
2.11.3. Lnh while
C php:
while (biu thc iu kin) {
Cc lnh s c thc hin lp li nu gi tr ca biu thc iu kin ng }
Th d: Lu chng trnh sau vo tp tin WhileDemo.java:
import java.io.*;
-
Trang 68
public class WhileDemo {
public static void main(String args[]) {
int num = '9'; while (num > '0') {
System.out.print((char)num +" "); num--; } } }
2.11.4. Lnh do - while
C php:
do {
// Lp li cc tc v y cho n khi iu kin condition c gi tr l false
} while (biu thc iu kin)
Th d: Lu chng trnh sau vo tp tin DoWhileDemo.java:
import java.io.*;
public class DoWhileDemo {
public static void main(String args[]) {
int num = '9'; do {
System.out.print((char)num +" "); num--; }
while (num > '0'); } }
Bin dch v thc thi c kt qu sau:
2.11.5. Lnh for
C php:
for (biu thc 1; biu thc iu kin; biu thc 2){
-
Trang 69
// Cc lnh cn lp li
}
Th d: Lu chng trnh sau vo tp tin ForDemo.java:
import java.io.*;
public class ForDemo {
public static void main(String args[]) {
for(int num = '9'; num>'0'; num --) {
System.out.print((char)num +" "); } } }
Bin dch v thc thi c kt qu nh sau:
2.11.6. Lnh break
Vng lp ca cc lnh while, do-while v for s kt thc khi lnh break c thc
hin. Th d: Lu chng trnh sau vo tp tin BreakDemo.java:
import java.io.*;
public class BreakDemo {
public static void main(String args[]){
int num =Integer.valueOf(args[0]).intValue();
int i= num /2;
while(true){ if (num % i ==0) break; i--; }
System.out.println("So lon nhat chia het "+num+ " la: "+i); } }
Bin dch v thc thi c kt qu sau:
-
Trang 70
Chng trnh trn i i s th nht ca n (lu trong args[0]) thnh s (bng lnh
Integer.valueOf(args[0]).inValue() ) v tm s ln nht chia ht s ny.
2.11.7. Lnh continue
Trong mt ln lp no ca cc lnh while, do-while v for, nu gp lnh continue
th ln lp s kt thc (b qua cc lnh pha sau continue) bt u ln lp tip
theo.
Th d: Lu chng trnh sau vo tp tin ContinueDemo.java:
import java.io.*;
public class ContinueDemo{
public static void main(String args[]){
int num =Integer.valueOf(args[0]).intValue();
System.out.print("The odd numbers: ");
for (int i =0; i< num; i++ ){
if (i % 2 ==0) continue; System.out.print(i+ " "); } } }
Bin dch v thc thi c kt qu sau:
-
Trang 71
Chng trnh ny in ra tt c cc s l nh hn s a vo t i s.
2.11.9. Php ton ?
C php:
(biu thc iu kin) ? Operation1 : Operation2;
Nu iu kin biu thc iu kin c gi tr l true lnh s tr v gi tr ca biu
thc Operation1, ngc li s tr v gi tr ca biu thc Operation2.
Th d: Lu chng trnh sau vo tp tin QuestionOp.java:
import java.io.*;
public class QuestionOp {
public static void main(String args[]) {
System.out.print("Vui long nhap mot ky tu:");
try { int ch = System.in.read();
int point = (ch == 'A') ? 10:0;
System.out.print("Diem cua ban la:"+point);
} catch(IOException ie) {
System.out.print("Error:"+ ie); } } }
2.11.10. c i s ca chng trnh
Khi thc thi chng trnh ta c th nhp vo cc i s t dng lnh theo c php
sau: java ClassName arg1 arg2 arg3 argn
-
Trang 72
Cc i s cch nhau khong trng. n nhn cc i s