Thiet ke he thong truyen thong - Ngo Thi Vinh.pdf

Embed Size (px)

Citation preview

  • 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