4. Noi Dung Bao Cao

download 4. Noi Dung Bao Cao

of 134

Transcript of 4. Noi Dung Bao Cao

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

LI M UNgy nay vi xu th Cng ngh thng tin ngy cng hin i, cuc sng ngy cng c s ha. Nh c k thut s gip con ngi tit kim ng k cc chi ph nh: chi ph vn chuyn trung gian, chi ph giao dch, Cng vi xu th Thng Mi in T ang c xu hng pht trin rt mnh gip con ngi c th tm kim t ng theo nhiu mc ch khc nhau. Gi y, ch vi mt my tnh c kt ni Internet con ngi c th ngi ti nh mua sm mi th theo mun ca mnh. iu ny cho thy tn dng c rt nhiu li im do TMT em li l mt th mnh pht trin nn kinh t t nc v ci thin i sng con ngi. Trong qu trnh hi nhp nn kinh t quc t, i hi cc Doanh Nghip phi nng cao trnh qun l, kinh doanh v ng dng Khoa Hc K Thut. V vy, pht trin TMT l vn cn quan tm. Trong khi TMT ang pht trin rt mnh trong khu vc cng nh trn th gii th Vit Nam hu ht cc Doanh Nghip vn quen vi np kinh doanh c, con ngi vn c thi quen ra ca hng mua hng v tr tin mt. Vi ng dng Xy dng v trin khai gii php Ch in T m nhm chng em xy dng hi vng s c th gip mi ngi cng nh cc DN c th tip cn gn hn vi c ch th trng ca TMT cng nh cch thc mua bn hng qua mng. Bn cnh , ti cng khng ngoi mc ch gip mi ngi c th tip cn gn hn v xc thc hn vi Cng Ngh Thng Tin (mt khuynh hng ang rt ph bin v pht trin Vit Nam cng nh trn th gii). Ngoi ra, ti cn cp n cc vn k thut v quy trnh xy dng mt ng dng TMT nh: Nn tng ca ASP.NET, Miscrosoft Visual Studio 2005, AJAX. C th y l mt ng dng cha hon chnh nhng chng em c th pht trin v hon thin hn trong tng lai c th p dng v em li nhng kt qu thit thc. Rt mong nhn c s ng gp qu bu ca cc thy c chng em c thm kinh nghim. Chng em xin chn thnh cm n!Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 1 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Sau y l mt vi nt s lc v: mc tiu nghin cu, i tng v phm vi ti, phng php nghin cu, ng gp ca ti vo thc tin cng nh ni dung tm tt cc chng ca kha lun. 1. Mc tiu nghin cu Mc tiu m nhm chng em hng n sau khi hon thnh ng dng ny l nm bt v hiu r hn cc c ch cng nh hot ng ca Microsoft .NET Framework, quy trnh xy dng mt th vin Control chun, tip cn gn hn vi cng ngh AJAX v cc kin thc v TMT v mt l thuyt, bn cnh v mt ng dng s l xy dng c cc Control, thc hin c Website giao dch in t. V mt l thuyt Nm bt cc kin thc v: .NET Framework, ASP.NET, quy trnh xy dng Custom Control. Nm bt v hiu r v AJAX. Mt t hp cc cng ngh (XHTML, CSS, DOM, XML, XSLT) cho php to nn nhng ng dng Web c giao din phong ph. Tm hiu cc Website TMT th gii v website Ch in t nm c cch thc hot ng, nhng yu cu cn thit i vi ng dng TMT. V mt ng dng Xy dng cc Control cho ng dng. Xy dng Website thc hin cc chc nng: Mua / bn hng, u gi, rao vt, Qun l thng tin khch hng. H thng phi c thit k v xy dng theo mt kin trc m cho php nng cp hay trin khai cc gii php tng t. 2. i tng v phm vi ti i tng ti Cc Doanh nhn, Doanh nghip v tt c ngi dng truy cp trang Web ca Ch in t thc hin vic mua, bn hng ha, trao i Sn phm, hoc ng k ti khon ti Ch in t tr thnh mt thnh vin ca Ch in t.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 2 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Cc lp trnh vin, hay nhng i tng quan tm n lnh vc cng ngh thng tin c th hiu r hn v nn tng .NET Framework, quy trnh xy dng cc Control, cng ngh AJAX,.. Phm vi ti ng dng c xy dng trn my Local. 3. Phng php nghin cu Nm bt c ch ca Custrom Control, quy trnh xy dng mt Control cng nh cch thc xy dng mt file th vin .dll (Dynamic Link Library - Mt th vin lin kt ng). Nm bt v bin dch mt Project thnh th vin .dll. T , hiu r hn v c ch ca .NET Framework. Nghin cu c ch, kin trc code ca Community Server. Da trn nn tng code ny nm c cch thc vit Control. Kin trc code Ch in T c xy dng da trn kin trc nn ca Community Server. Nghin cu c ch hot ng ca Ch in T ti website: http://chodientu.vn v cc hot ng, quy trnh ca cc trang Thng mi in t. T xy dng v trin khai gii php cho ng dng Ch in T. 4. ng gp ca ti Hng ngi dng tip cn gn v xc thc hn vi nn Thng Mi in T Vit Nam cng nh trn Th gii. Hiu r quy trnh mua, bn hng qua mng. Qua ng dng gip ngi dng, nhng lp trnh vin hay chnh xc hn l nhng ngi quan tm n Cng Ngh Thng Tin, lnh vc Cng ngh phn mm c hiu r hn v c ch xy dng ca ASP.NET, c ch ca Custom Control. 5. Tm tt ni dung chnh ca cc chng trong ti Ni dung ca kha lun gm 3 chng: Chng 1: S luc Thng Mi in T Chng I, nhm chng em s tp trung vo nghin cu c ch cng nh nn th

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 3 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

trng Thng mi in t Vit Nam cng nh trn th gii. Cc m hnh TMT, nhng li ch, u nhc im ca Thng mi in t. Chng 2: Mt s cng ngh v k thut chng II s tp trung vo cc k thut, mt s cng ngh c p dng trong kha lun: Microsoft Visual Studio 2005, Microsoft SQL Server 2000, AJAX, cch thc xy dng Web Custom Control trong ASP.NET, cc file th vin .dll, .ascx,... Chng 3: ng dng cc cng ngh vo xy dng v trin khai gii php Ch in t. chng III s m t s lc v ng dng v minh ha ng dng Xy dng v trin khai gii php Ch in T, cc mn hnh trong ng dng cng nh qu trnh ci t ng dng cng nh 1 s code mu cho ng dng.

DANH MC CC CH VIT TTTMT DN CNTT Thng mi in t Cng ngh thng tin Co- Operation) ASEAN UNCITRAL VN Vit NamTrang 4 / 100 MSSV: 0311967 MSSV: 0310161

Doanh nghip

APECDin n Hp tc kinh t Chu Thi Bnh Dng (Asia Pacific Economic Hip hi cc nc ng Nam (Association of South-East Asian Nations) y ban Lin hp quc v Lut Thng mi quc t (United Nations Conference on International Trade Law)

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

HH H iu hnh CSDL C s d liu SP DM Sn phm Danh mc T chc c nhn phi li nhun Ngn ng nh du siu vn bn (HyperText Markup Language) Ngn ng nh du siu vn bn ng (Dynamic HyperText Markup Language) ISP Nh cung cp dch v Internet (Internet Service Provider) SOAP Giao thc truy xut i tng n gin (Simple Object Access Protocol) XML Ngn ng nh du m rng (Extensible Markup Language) DLL Th vin lin kt ng (Dynamic Link Library) B2B Giao dch TMT gia DN vi DN (Business to Business) B2C Giao dch TMT gia DN vi ngi tiu dng (Business to Customer)

DNS H thng tn min (Domain Name System) ICANN HTML DHTML AJAX Asynchronous Javascript and XML

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 5 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

DANH MC CC BNGBng 2.1 Bng 2.2 Bng 3.1 Cc im khc nhau gia Custom Control v User Control Cc yu t trong AJAX M t cc Actor v Use Case

DANH MC CC HNH V, THHnh 1.1 Hnh 1.2 Hnh 1.3 Hnh 1.4 Hnh 1.5 Hnh 1.6 Hnh 1.7 Hnh 1.8 Hnh 1.9 Hnh 2.1 Hnh 2.2 Hnh 2.3 Hnh 2.4 Hnh 2.5 Hnh 2.6 Hnh 2.7 Hnh 2.8 Hnh 2.9 E-Commerce v E-Business Gartner v m hnh mi quan h tip th Cu trc Logic ca mt Websiteb Cu trc vt l ca mt Website Kin trc Website 2 lp v 3 lp M hnh hot ng B2C Business to Customer M hnh hot ng B2B - Business to Business X l th tn dng trong TMT Cc vn bo mt an ton bo mt ca mt Website TMT Nn tng ca .NET (.NET Platform) Cc thnh phn ca .NET Frameworkb M hnh gi nhn yu cu M hnh m t cc s dng Session FreeTextBox Control Vng i ca Control Datagrid c k tha t Control Inaming Container DataBind v CreateChildControls Event BubblingTrang 6 / 100 MSSV: 0311967 MSSV: 0310161

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.10 Hnh 2.11 Hnh 2.12 Hnh 2.13 Hnh 2.14 Hnh 2.15 Hnh 2.16 Hnh 2.16 Hnh 2.17 Hnh 2.18 Hnh 2.19 Hnh 2.20 Hnh 2.21 Hnh 3.1 Hnh 3.2 Hnh 3.3 Hnh 3.3.1 Hnh 3.3.1 Hnh 3.3.2 Hnh 3.3.3

Phn tch IlistSource To mt Project loi Web Control Library Thng ip nhn c sau khi bin dch thnh cng c file .dll Cch Add mt file .dll vo ng dng Web a Custom Control vo Toolbox M hnh m t cc thnh phn ca SQL Server (a) M hnh c in ca mt ng dng Web (b) M hnh s dng Ajax Tng tc gia Client v Server ng dng Web truyn thng (tri) v Ajax (phi) Tng tc ng b trong ng dng web truyn thng (trn) v d b trong ng dng AJAX. (Adaptive Path) Bn thnh phn chnh ca Ajax M hnh tng tc chun trong mt ng dng Ajax Cc tc nhn chnh trong ng dng Use case m t chc nng ca Administrator Use case m t chc nng ca Users (a) Use Case m t chc nng Mua hng (b) M t chi tit chc nng Mua hng (a) Use Case m t chc nng Bn hng (b) M t chi tit chc nng Bn hng

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 7 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Chng 1 S LC THNG MI IN T1.1 Tng quan v Thung Mi in T (E-Commerce) Khi nim Thng mi in t l hnh thc mua bn hng ha v dch v thng qua mng my tnh ton cu. TMT theo ngha rng c nh ngha trong Lut mu v TMT l y ban Lin Hp quc v Lut Thng mi Quc t (UNCITRAL) Information Technology (Cng ngh thng tin) Commercial Transaction (Giao dch in t) Giao dch in t gm cc giao dch thng mi gm cc nh kinh doanh, khch hng, chnh ph. Thng thng cc giao dch ny da trn cc quan h thng mi nhngcng da trn quan h k thut. E-commerce ch yu nhm vo s p ng n t hng v dch v khch hng. Cc k thut Internet h tr pht trin sn phm.

Hnh 1.1 E-Commerce v E-Business c im E Commerce Mi lc, mi ni. Vi mt my tnh c kt ni Internet, ngi dng bt k ni u cng c th truy cp vo Website ca cc DN mua hay bn hng trc tuyn. Bn cnh , ngi dng cn c th trao i cc mt hng, rao bn cc mt hng thng qua Website. iu ny gip cho TMT mang tnh ton cu v l mt tiu chun mang tnh ph qut.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 8 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Ngoi ra, s tng tc gia DN vi khch hng, hay gia DN vi DN, gia khch hng vi khch hng cng chnh l mt li im rt to ln ca TMT gip cho DN v tt c mi ngi trn ton cu c gn kt li gn vi nhau hn. ng thi, mt thng tin cng rt cao gip gim chi ph tm kim rt nhiu. Thng tin c biu in a dng: video, audio, graphic, text S c nhn ha / S ty bin. Ngi dng khi vo cc Website TMT ngoi mua hng cn c th bn hng, u gi cc mt hng, trao i cc mt hng xy dng gian hng c nhn. Mc tiu ca TMT Mt mc tiu duy nht ca TMT chnh l cc kt qu m Doanh nghip cn t c khi ng dng TMT cho cc hot ng kinh doanh ca DN . Cc nhn t chnh thnh cng trong TMT C s h tng k thut. S hp nht vi cc h thng h tng sn c cng nh chi ph thit lp h thng TMT. Cc sn phm v dch v c th c mua bn. Nhm d n trn cc mng chc nng. Mt Website TMT ca DN phi c cc nhm ph trch cc mng chc nng nh: k thut, kinh doanh, qun l Website c hiu qu hn. Tnh ph bin ca trang Web trong khch hng. Cc dch v chnh trong website c p ng c nhu cu ca ngi tiu dng hay khng. An ton giao dch v s kim sot h thng TMT. Khuyn mi v h thng trao i thng tin ni b. tin cy gia ngi bn v ngi mua.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 9 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 1.2 Gartner Group v M hnh mi quan h tip th 1.2 Th trung Thung Mi in T Kinh doanh in t - Business Ecommerce: L mt nh ngha khi qut hn ca TMT. N l qu trnh mua, bn v phc v khch hng, hp tc gia cc i tc kinh doanh, hng dn cc phin giao dch in t bn trong mt t chc. Tnh hnh TMT trn th gii TMT vn ch yu c ng dng cc nc pht trin, trong M chim 50% tng doanh s TMT ton cu. S pht trin ca TMT gn lin vi s pht trin CNTT, da trn nn tng CNTT. Hai t chc APEC v ASEAN t tha thun v cc nguyn tc ch o chung (ASEAN) v chng trnh hnh ng (APEC) v TMT. Tnh hnh TMT Vit Nam Cc hnh ng pht trin TMT VN cn chm, cha c l trnh, k hoch tng th cho vic trin khai v ng dng TMT VN. Ngi tiu dng VN vn quen tp qun n ca hng chn mua cc mt hng v tr tin mt. Rt him DN ch ng to Website ring cho DN v do s xc tin thc y ca cc nh cung cp dch v Internet (ISP). V c s h tng CNTT v nhn lc:Hu ht cc DN kh tip cn c cng ngh mi. Bn cnh , DN cn lng tng trong vic tm kim thng tin, qung b hot ng kinh doanh trn Internet.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 10 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Thc trng v c ch chnh sch v c s h tng cng ngh quc gia:Cc truy cp Internet cn cao. in hnh l ti cc khu vc vng su, vng xa, Internet cn t ph bin v cc Internet ngi dn truy cp cn rt cao. Ngoi ra, Internet cha n c vi cc khu vc thiu s lm cho ngi dn y m thng tin v khng th cp nht cc thng tin mi, v vy khi nim TMT tng i xa l vi ngi dn cc khu vc ny. ng thi, tc qu thp so vi cc nc trong khu vc.

H thng thanh ton in t ca cc ngn hng cha pht trin p ng nhu cu ca TMT Cc bc trin khai TMT Vit Nam: thit k mt Website c hiu qu, u tin phi xc nh cc mc tiu kinh doanh cho Website, trn c s cc mc tiu kinh doanh xc nh cc chc nng cn thit ca h thng cn phi c v xc nh cc yu cu thng tin cn phi c thc hin cc chc nng . C th theo trnh t cc bc sau: Mc ch Website, i tng ngi xem S b cch thc hot ng ca Website, cc chc nng chnh, cc ni dung cn c Cu trc k thut ca tng phn trong Website Thu thp thng tin, hnh nh, cn thit a ln Website Tham kho mt s Website tng t ly tng, hc hi, so snh im mnh, im yu. Nh t vn c th thit k Website hiu qu nht. Sau khi xc nh cc chc nng ca h thng, cc nh lp trnh s xc nh cu trc logic v cu trc vt l ca website. Khi xy dng website, phi xc nh kin trc Website Kin trc h thng website bao gm: Vic la chn phn mm, phn cng v phn b cc nhim v trong h thng thng tin nhm t c cc chc nng ca h thng nu trn. Thng thng website c cc kiu kin trc sau:Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 11 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Kin trc hai lp: L kin trc s dng mt web server p ng cc yu cu c cc trang web v mt server CSDL cung cp thng tin. Web server v CSDL server u dng trn mt my Kin trc nhiu lp: Gm mt web server lin kt vi cc lp trung gian bao gm cc server ng dng thc hin mt nhim v no , mi server ng dng s dng mt hoc nhiu my ch. Cc nhim v thng l backend

Hnh 1.3 Cu trc Logic ca mt Website

Hnh 1.4 Cu trc vt l ca mt WebsiteNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 12 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 1.5 Kin trc Website 2 lp v 3 lp Cc bc xy dng 1 Website to ra mt Website c cht lng i hi c s nghin cu k v Web, phi bit mnh s lm g v khng nn lm g a tt c cc tng vo vic xy dng mt Website. to ra mt Website cn phi theo lm theo nhng bc sau y: Bc 1: y l giai on nh hng. Cn nm c nhng tng tng quan, mc ch cn t ti i vi website,i tng cn nhm ti l ai, thng tin g c trong tay v s dng chng nh th no Bc 2: Sau khi xc nh c cc im trn tin hnh t chc cc phn mc v cc thng tin c trn site. To ra cc nhnh, cc tiu v cc tiu ph c th tm kim thng tin hu ch mt cch d dng khng lng ph thi gian i vi cc thng tin m ta khng quan tm. La chn cc t kho thch hp thun tin cho vic tm kim v s dng cc dch v tm kim. Bc 3: La chn cc hnh nh a ln site t th vin in t hoc t trn a CDROM. c th l nhng hnh nh v sn phm, v vn phng lm vic, cc chuyn gia chnh ca cng ty.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 13 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Bc 4: Khi c b khung, bt u chun b to ra website bng vic s dng ngn ng siu vn bn (HTML). Tin hnh chuyn i cc vn bn text ti HTML m c th lm bng World, Netscape, Homesite v mt vi gi thng tin c la chn khc. Chng ta c mt vi chng trnh phn mm rt thun tin cho ngi s dng m c th chuyn i mt cch t ng t dng text thnh ngn ng HTML m c th khng cn bit mt cht g v HTML. V d nh Frontpage Bc 5: La chn nh cung cp dch v Internet a website ln Internet Bc 6: Thit lp tn min. ng k tn website vi cc nh tm kim. Qung co Website thng qua cc phng php truyn thng nh gi th, truyn thanh, truyn hnh cng nh c cc bin hiu qung co. Hai iu quan trng l thng qua cc cng c tm kim tin ch nh: Google, m bo rng website phi tht ni bt v cc thng tin phi c cp nht hng ngy 1Tn min v ng k tn min Trn Internet s dng a ch IP vn chuyn d liu. a ch IP kh nh v vy s dng khi nim tn min d nh. Tn min s c lu trong c s d liu DNS l h thng tn min. DNS c duy tr v kim sot bi Hip hi Internet v ng k tn v ch s (ICANN) l mt t chc c nhn phi li nhun m tin thn c thnh lp vi mc ch h tr chnh ph M. Tn min c chia thnh 2 cp cao nht: tn min quc t v tn min quc gia. Tn min quc t l nhng tn min c phn ui l .com, .net, .org v s c thm tn min .biz v .info. Tn min quc gia c phn ui l k hiu ca mi quc gia. K hiu ny do ICANN t chc v qun l. Vit nam c phn ui l VN, Australia c tn l AU, Php l FR,...Hin nay c hn 200 tn min quc gia khc nhau. Di mi tn min quc gia c tn min cp 2 v cp 3 (v d COM.VN, EDU.VN,...).Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 14 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Nu DN t ng k, nn vo trang Web c a ch http://www.internic.com hoc http://www.registerfly.com xem tn min DN c trng vi mt tn min no ng k khng, nu khng ch vic gi tn min ti InterNIC theo mu c hng dn ngay trn trang Web ca InterNIC. M hnh Thung Mi in T Da theo quan h thng mi, c cc m hnh TMT sau: Business-to-Consumer (B2C) Business-to-Business (B2B) Consumer-to-Consumer (C2C) B2C - M hnh TMT gia DN vi ngi tiu dng. y l m hnh bn l trc tip n ngi tiu dng. C th l t: Nh sn xut, hay t mt ca hng thng qua knh phn phi. Hng ha bn l trn mng thng l hng ha, my tnh, in t, dng c th thao, dng vn phng,

Hnh 1.6 M hnh hot ng B2C Business to Consumer M hnh B2C s dng cho hnh thc kinh doanh khng c chng t. Ngi tiu dng vo Website ca cng ty chn cc mt hng cn mua, cung cp thng tin khch hng trn Form nh sn trn Website, chn hnh thc thanh ton chuyn tin qua Bu in, chuyn khon hay thanh ton in t, cch thc vn chuyn hng ha,..v coi nhNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 15 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

qu trnh t hng hon thnh, ch ch hng n. Ti DN s c chng trnh x l t ng thng tin mua bn hng, kim tra thng tin khch hng v vn thanh ton,.. B2B - M hnh TMT gia cc Doanh nghip vi Doanh nghip. L vic thc hin cc giao dch gia cc DN vi nhau trn mng. Cc bn giao dch bao gm: ngi trung gian trc tuyn, ngi mua v ngi bn. M hnh B2B p dng trong qu trnh bun bn gia cc t chc v cc Site cung cp bn s v dng cho hnh thc kinh doanh c chng t gia cc cng ty, cc t chc, Trong m hnh ny, vn quan trng nht l trao i cc thng tin thng mi c cu trc v mua bn t ng gia 2 h thng khc nhau. Khi s dng m hnh ny cn phi kim chng c khch hng v bo mt cc thng tin mua bn thng qua cc ch k in t ca cng ty, t chc.

Hnh 1.7 M hnh hot dng B2B- Business to Business Cc loi giao dch B2B c bn: Bn bn Mt bn bn nhiu bn mua: l m hnh da trn cng ngh web trong mt cng ty bn cho nhiu cng ty mua. C 3 phng php bn trc tip trong m hnh ny: Bn t Catalog in t, bn qua qu trnh u gi, bn theo hp ng cung ng di hn tha thun trc. Bn mua Mt bn mua nhiu bn bn. Sn giao dch Nhiu bn bn nhiu bn mua

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 16 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

TMT phi hp- Cc i tc phi hp nhau ngay trong qu trnh thit k ch to sn phm. Hai loi hnh giao dch TMT trn l 2 loi hnh c bn ca TMT. Ngoi ra trong TMT cn s dng cc loi giao dch:

G2B (Government-to-Business) l m hnh TMT gia Doanh nghip vi c G2C (Government-to-Citizen) l m hnh TMT gia cc c quan chnh ph C2C (Consumer-to-Consumer) l m hnh TMT gia cc ngi tiu dng. C2B(Consumer-to-Business) bao gm cc c nhn, ngi dng Internet bn (M-Commerce) l m hnh TMT thc hin qua in thoi di ng. Mt s vn trong Thung Mi in T:

quan chnh ph

v cng dn cn gi l chnh ph in t

mt hng hay dch v cho cc t chc.

1.3

Vn thanh ton trong Thung Mi in T: (Electronic Payment) l vic thanh ton tin thng qua thng ip in t (electronic message) thay cho vic giao dch dng tin mt. Th tn dng

Hnh 1.8 X l th tn dng trong TMTNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 17 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Trc khi nhn s th tn dng ca ngi mua qua Internet cn c mt chng nhn ngi bn. Nu l hot ng kinh doanh th n gin l yu cu nh bng cung cp chng nhn ny. Nu cha c bt c ci g th c th thc hin vic ny nhanh chng ti mt nh bng no hoc truy nhp vo mt WEB site c cc mu ng k trc tuyn. S dng th tn dng trc tuyn ngy hm nay, tuy nhin, ging nh vic s dng chng vi mt "operating standing by". S th v chi tit ca giao dch c lu li v x l, nhng khng c s xut hin ca ngi mua v khi c mt v thanh ton b l th n vn c lu li trn h thng. Bi l do ny cc chi ph x l th tn dng trc tuyn nhiu ngang bng vi chi ph x l mt giao dch ch khng ngang bng vi mt mc ph nh in thoi v thng l vo khong 50 xen. (Cc giao dch c x l thng qua cc trm u cui c hp ng ch mt khong t 3 n 5 xen) Vn bo mt, s an ton trn mng Khi DN tham gia vo TMT ngha l h thng c kt ni vo mng ton cu. Do , h thng c th b tn cng bt c lc no nu khng c h thng bo mt cht ch. Thng tin truyn qua Internet cng d b tn cng. V vy, thng tin khi gi i cn phi c m ha v ngi nhn phi c cch gi m nhn thng tin.

Hnh 1.9 - Cc vn an ton bo mt ca mt Website TMTNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 18 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Mt s giao thc bo mt thng dng C ch bo mt SSL (Secure Socket Layer) im ni bt ca SSL l c th ngay lp tc to mt trang HTML vi cc biu mu khch hng cung cp thng tin v h trong lc giao dch, v m bo rng cc thng tin ny c bo mt v m ha khi thng tin gi i trn Internet. Sau khi cc thng tin m khch hng nhp vo cc biu mu trn trang WEB hin th trn trnh duyt ca h c m ho vi SSL n c gi i trn Internet mt cch an ton. Trong thc t khi ngi s dng truy nhp vo cc trang WEB c h tr bi SSL, h s thy mt biu tng nh mt chic kho thanh cng c bn di chng trnh. C ch bo mt SET (Secure Electronic Transaction)

c pht trin bi mt tp on cc cng ty th tn dng ln nh Visa, MasterCard v American Express, cng nh cc nh bng, cc cng ty bn hng trn mng v cc cng ty thng mi khc. SET c lin quan vi SSL do n cng s dng cc kho cng cng v kho ring SET t cc kho ring trong tay ca c ngi mua v ngi bn trong mt giao dch. Ngha l mt ngi s dng thng thng cn cc kho ring ca h v cn phi ng k cc kho ny cng ging nh cc my ch phi lm. Cch thc lm vic ca h thng: Khi mt giao dch SET c xc nhn quyn s dng, m kho ring ca ngi s dng s thc hin chc nng ging nh mt ch k s, chng minh cho ngi bn v tnh xc thc ca yu cu giao dch t pha ngi mua v cc mng thanh ton cng cng. Do ngi mua khng th thot ra khi mt giao dch SET, khiu ni v vic h khng mua hng nn cc giao dch SET theo l thuyt s chy qua cc h thng thanh ton ging nh ta mua hng thit b u cui ti cc ca hng bch ho thc.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 19 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

1.4

Li ch, gii hn ca TMT Li ch ca TMT Thu thp c nhiu thng tin TMT gip ngi tham gia thu c nhiu thng tin v th trng, i tc, gim chi ph tip th v giao dch, rt ngn thi gian sn xut, to dng v cng c quan h bn hng. Cc DN nm bt c thng tin v kinh t th trng, v vy c th a ra cc chin lc sn xut v kinh doanh thch hp vi xu th pht trin ca th trng trong nc, khu vc v quc t. iu ny c bit c ngha i vi cc DN va v nh, hin nay ang c nhiu nc quan tm, c coi l mt trong nhng ng lc pht trin kinh t. Gim chi ph sn xut V chi ph vn phng (chi ph tm kim chuyn giao ti liu gim nhiu ln, khu in n c b hn). iu quan trng, v gc chin lc, gip cc nhn vin c nng lc gii phng c nhiu cng on s v c th c th tp trung vo nghin cu pht trin, s a n nhng li ch to ln lu di. Gim chi ph bn hng, tip th v giao dch TMT qua Internet/Web gip ngi tiu th v cc DN gim ng k thi gian v chi ph giao dch. Vi cc li ch trn, chu trnh sn xut (Cycle time) c rt ngn, nh sn phm mi xut hin nhanh v hon thin hn. Xy dng quan h vi i tc TMT to iu kin cho vic thit lp v cng c quan h gia cc thnh vin tham gia vo qu trnh thng mi: thng qua mng (Internet /Web) cc thnh vin tham gia (ngi tiu th, doanh nghip, cc c quan Chnh ph,...)c th giao tip trc tuyn. Nh vy s hp tc v s qun l u c tin hnh nhanh chng mt cch lin tc: cc bn hng mi, cc c hi kinh doanh mi c pht

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 20 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

hin nhanh chng trn phm vi ton quc, khu vc v th gii, c nhiu c hi la chn. To iu kin sm tip cn kinh t tr thc TMT kch thch s pht trin ca ngnh CNTT to c s cho pht trin kinh t tri thc. Li ch ny c mt ngha ln i vi cc nc ang pht trin. Kha cnh li ch ny mang tnh chin lc cng ngh v tnh chnh sch pht trin cn cho cc nc cng nghip ha. Gii hn ca TMT Hn ch v mt k thut Bo mt h thng, tnh ng tin cy, tiu chun, v cc phng thc giao tip vn cn ang tin trin. mt s ni, rng di tng ca thng tin lin lc bng cp khng . Bn cnh , cc cng c pht trin phn mm vn cn ang tin trin v thay i nhanh chng. Hn ch khng phi v mt k thut Bo mt v s ring t rt quan trng trong m hnh DN n ngi tiu dng (B2C). Trong vi trng hp, khch hng khng tin tng vo ngi bn hng m khch hng khng quen bit, khng bit mt, v nhng giao dch khng c giy t, tin in t. V nhng iu ny, vic thuyt phc khch hng chuyn t giao dch vt l thng thng sang giao dch in t rt kh khn. Nh cp trn, vn truy cp Internet cn t v tim nng khch hng cn hn ch.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 21 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

1.5

Mt s vn cn lu khi tham gia vo TMT Bo mt Khi tham gia TMT ngha l h thng c kt ni vo mng ton cu. Do , h thng c th b tn cng bt c khi no nu khng c mt c ch bo mt cht ch.

Ngoi ra, thng tin c truyn trn Internet i qua nhiu chng nn kh kim sot v d b tn cng t bn ngoi. V vy, thng tin truyn i cn phi c m ha bi bn gi v bn nhn phi c cch gii m nhn thng tin. X l t ng Trong vic kinh doanh TMT, thi gian v cng quan trng. Do , nhng cng vic lp i lp li hng ngy cn c x l t ng. Nh vy, s tit kim c thi gian x l cng vic, gim c s lng nhn vin, gim c chi ph. Trong vn x l t ng, cn phi phn chia cng vic thnh cc giai on x l sao cho ph hp, c lp, tun t v d dng trao i d liu gia cc giai on. Thanh ton in t Vn ny nhn chung l ti quan trng. V vy, cn phi c thanh ton ph hp, hiu qu, khch hng tin cy. ng thi phi bo mt ti a cc thng tin thanh ton ca khch hng. Hnh thc thanh ton cng ty thuc vo i tng thanh ton: hnh thc thanh ton gia cc c nhn mua hng trn Website siu th in t s khc hnh thc thanh ton gia cc cng ty vi nhau.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 22 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Chng 2 MT S CNG NGH V K THUT2.1 Microsoft .NET .NET l nn tng ca Microsoft cho cc dch v Web XML, l th h phn mm k tip kt ni th gii thng tin, cc thit b v tt c mi ngi trong mt th thng nht. Nn tng .NET cho php to ra v s dng cc ng dng, cc qu trnh v cc Website da trn XML nh nhng dch v chia s, kt ni thng tin v hot ng cng nhau, trn bt c nn tng hay thit b thng minh no, nhm mc ch cung cp nhng gii php theo yu cu cho cc t chc v cc c nhn ring bit. Nn tng .NET ca Microsoft a ra cc cng ngh, cc cng c v sn phm to ra v chy cc dch v Web. 2.1.1 Cc cng c pht trin Visual Studio .NET v .NET Framework l cc cng c to ra cc dch v Web XML. .NET Framework l mt tp hp nhng giao din lp trnh v l tm im ca nn tng .NET ca Microsoft. .NET Framework cung cp c s h tng xy dng v chy cc dch v Web.

Hnh 2.1 Nn tng ca .NET (.NET Platform) Visual Studio .NET

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 23 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Visual Studio .NET cung cp mt mi trng pht trin mc cao xy dng cc ng dng trn .NET Framework. Vi b Visual Studio .NET chng ta c th n gin ha vic to, trin khai v tip tc pht trin cc ng dng, dch v Web c sn mt cch an ton, bo mt v kh nng bin i c. Visual Studio .NET l mt b a ngn ng cc cng c lp trnh: Visual Studio C#.NET, Visual Basic, Visual C++, Visual J#.NET v cc ngn ng Script nh: VBScript, JSCript. Tt c cc ngn ng ny u cho php truy cp vo .NET Framework. Visual C#.NET l mt ngn ng lp trnh n gin, hng i tng (ObjectOriented Programming) an ton kiu (type-safe) v c ngun gc t cc ngn ng C, C++. y l mt ngn ng rt thn thin vi ngi lp trnh C v C++. C# c Microsoft gii thiu xy dng vi Web v i hi quyn c cung cp mt mi trng ng b vi HTML, XML, SOAP. Tm li, C# l mt ngn ng lp trnh hin i v l mt mi trng pht trin y tim nng to ra cc dch v Web XML, cc ng dng da trn Microsoft .NET v cho c nn tng Miscrosoft Window cng nh to ra cc ng dng Internet th h k tip mt cch nhanh chng v hiu qu. Visual Basic .NET (VB.NET) cho php to ra nhng ng dng y sc mnh cho nn tng Microsoft Windows vi thi gian ngn nht, kt hp cht ch vic truy cp d liu t mt phm vi rng ca cc kch bn d liu, to ra nhng thnh phn (component) vi m nh nht v xy dng cc ng dng trn c s Web khi s dng nhng k nng hin ti. VB.NET c nhiu c tnh ngn ng mi v c ci tin nh s k tha (Inheritance), giao din v overloading lm cho n tr thnh mt ngn ng lp trnh hng i tng y tim nng. Ngoi ra, nhng ngi pht trin Visual Basic by gi c th to a lung (multithreaded). Cc nh pht trin cng s tm thy nhiu c tnh

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 24 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

mi v c ci tin, v d nh cc giao din, nhng thnh vin dng chung, cc Constructor cng vi mt s kiu d liu mi, x l ngoi l c cu trc v y quyn. Visual C++.NET l phin bn k tip ca Microsoft Visual C++ 6.0. Nh chng ta thy Microsoft Visual C++ l cng c C++ hiu qu nht to ra nhng ng dng hiu nng cao cho Windows v cho World Wide Web. Hu nh tt c cc phn mm tt nht t nhng trnh duyt Web u bng cho n cc ng dng u c xy dng bng h thng pht trin Microsoft Visual C++. Visual C++ .NET mang n mt cp mi v hiu nng so vi Visual C++ m khng lm nh hng n tnh mm do, hiu sut thc hin cng nh iu khin. Visual J# .NET l mt cng c pht trin trn ngn ng Java tch hp d dng, s chuyn giao cc k nng hin ti xy dng cc ng dng v cc dch v trn nn Microsoft .NET Framework. J# cho php nhng ngi pht trin ngn ng Java c th chuyn tip vo th gii ca cc dch v Web XML v ci thin ng k kh nng vn hnh cc chng trnh vit bng ngn ng Java vi nhng phn mm hin ti c vit bng nhiu ngn ng lp trnh khc nhau. JScript .NET l b thc hin ca Microsoft cho JavaScript. Jscript.NET thm rt nhiu c tnh mi vo Jscript, bao gm c vic h tr trc tip cc k thut lp trnh hng i tng. Phin bn trc y ca Microsoft Studio .NET 2005 l Visual Studio .NET 2003 v .NET Compact Framework (trc y c tn m l Visual Studio Everett) c tnh n nh, an ton v hiu nng cao. B cng c lp trnh ny h tr nhm ng dng dch v Web mi nht nh: WS Attachment, WS Routing cng WS Security. Hin ti, Miscrosost ra mt phin bn mi ca Micrsoft Visual Studio 2005 l Micrsoft Visual Studio 2008.

NET FrameworkTrang 25 / 100 MSSV: 0311967 MSSV: 0310161

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

.NET Framework l ng c to cc dch v Web XML ca Microsoft v l mt tp nhng giao din lp trnh v l tm im ca nn tng .NET. N cung cp c s h tng xy dng v chy cc dch v Web. .NET Framework bao gm ba thnh phn chnh l: Common Language Runtime (B thc thi ngn ng chung), The Base Classes (Cc lp th vin c s) v ASP.NET (cc ng dng Web). Thc cht cn bao gm c phn pht trin cc ng dng cho Windows c tn Windows Form

Hnh 2.2 Cc thnh phn ca .NET Framework (.NET Platform) B thc thi ngn ng chung - Common Language Runtime (CLR) CLR l trung tm im ca .NET Framework. Trong .NET mi ngn ng lp trnh u c bin dch ra Microsoft Internedia Language (IL). Do bt buc mi ngn ng u phi dng cng cc loi kiu d liu (gi l Common Type System_CTS hay h thng kiu chung) nn CLR c th kim sot mi giao din, gi gia cc thnh phn v cho php cc ngn ng c th tch hp vi nhau mt cch thng sut. Khi chy mt ng dng .NET, n s c bin dch bng mt b bin dch JIT (Just-In-Time), thut ng ny ngha l ch phn m cn x l mi c bin dch thnh m my chy. im ny gip ng dng .NET chy nhanh hn m thng dch ca Java trong Java Virtual Machine (my o Java).Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 26 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Ngoi cc chc nng cung cp v qun l b nh, bo mt, CLR cn x l cng vic "gom rc" (garbage collection). Trc y mi khi mt DLL (th vin lin kt ng) c np vo b nh, h thng s ghi nhn c bao nhiu tc v dng n khi tc v cui cng chm dt th h thng gii phng DLL ny v tr li phn b nh n dng trc y cho h thng dng vo vic khc. Nu chng trnh cung cp (allocate) b nh s dng m khng nh gii phng (dispose) th n mt lc no b nh s b "cn" v chng ta s phi khi ng li h iu hnh. By gi, .NET s dng mt qu trnh c lp x l vic gom rc. Tc ng ph y l khi ta "dispose" mt i tng ri, ta vn khng bit chc chn chng no n mi thc s bin mt. V b phn "gom rc" l mt qu trnh u tin mc thp, ch khi no b nh h thng gn "cn" n mi nng cao u tin ln. Cc dch v chung ny u c qun l mt cch t ng. Nh vy, b thc thi ngn ng chung CLR cho php vic pht trin cc ng dng mt cch d dng hn, cung cp mt mi trng thc thi an ton v hiu nng, h tr a ngn ng v n gin ho vic trin khai v qun l cc ng dng. Cc lp th vin c s (The Base Class) Cc lp c s cung cp nhng c tnh ca runtime (thc hin) v cung cp nhng dch v cp cao khc m nhng ngi lp trnh i hi thng qua namespace. Namespace l mt cch t tn gip sp t cc lp (class) dng trong chng trnh mt cch th t d tm kim chng. Tt c cc m (code) trong .NET, c vit bng VB.NET, C# hay mt ngn ng no khc u c cha trong mt namespace. Sau y l mt s namespace ca ASP.NET thng dng. System.Web c cc dch v mc thp nh: lu tr (caching), bo mt, cu hnh v nhng dch v khc c chia s gia cc dch v Web v giao din ngi dng Web (UI) System.Web.Services x l cc dch v Web nh cc giao thc v pht hin (discovery)Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 27 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

System.Web.UI cung cp hai lp cho cc iu khin (control) l cc iu khin HTML v cc iu khin Web. iu khin HTML cho chng ta nh x trc tip vo cc th HTML nh u vo (input). Cng c nhng iu khin Web cho php chng ta cu trc li cc iu khin vi nhng khun mu (Template), v d nh mt Grid Control (i tng iu khin li) Ngoi cc Namespace ca ASP.NET, .NET Framework cn cung cp mt b th vin lp thit k giao din cho cc nh pht trin cc ng dng trn nn Windows. System.WinForm xy dng giao din ngi dng khch (Client). Cc lp ny cho php thc hin cc giao din ngi dng Windows chun trong cc ng dng .NET System.Drawing truy nhp vo cc c tnh mi GDI+. Lp ny h tr cho th h k tip ca Graphics Device Interface (GDI) l ha hai chiu. 2.1.2 C s h tng HH my phc v

C s h tng HH my phc v cho .NET bao gm Windows v cc .NET Enterprise Server. y l mt b cc ng dng c s h tng cho xy dng, trin khai v iu hnh cc dch v Web XML. Cc cng ngh then cht bao gm c vic h tr XML v nhng quy trnh nghip v thng qua cc ng dng v dch v. .NET Enterprise Server (HH my ch phc v X Nghip) cung cp kh nng bin i, tnh tin cy, qun l v tch hp bn trong v nhiu c tnh khc na nh c m t sau: Microsoft SQL Server 2000 bao gm chc nng XML, h tr cc chun ca WorldWideWeb Consortium (W3C), kh nng thao tc d liu XML khi s dng Transact SQL (T-SQL), s phn tch trn nn Web mt cch linh hot, mnh v truy cp an ton d liu bng Web c s dng HTTP Microsoft Host Integration Server 2000 cung cp bin php tt nht qun tr Internet, intranet v cc cng ngh khch/ch (client/server) trong khi gi gn (bo ton) nhng u t cho cc h thng tn ti ban uNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 28 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Microsoft Exchange 2000 Enterprise Server xy dng trn cng ngh cng tc v trao i thng ip v tng thm tin cy, kh nng bin i c v hiu nng kin trc li ca n. Nhng c tnh khc tng kh nng tch hp Exchange 2000 vi Microsoft Windows 2000, Microsoft Office 2000 v Internet Microsoft Application Center 2000 cho php to ra cc gii php v cung cp mt s trin khai v cng c qun l cho cc ng dng Web c tnh sn sng cao Microsoft Internet Security v Acceleration Server 2000 cung cp vic kt ni Internet bo mt, nhanh v kh nng qun l. An ninh trn Internet v my phc v gia tc (Acceleration Server) tch hp mt tng la x nghip nhiu lp, c th m rng v mt b m (cache) Web hiu sut cao v c kh nng bin i c. N xy dng trn s bo mt v th mc ca Windows 2000 cho an ninh trn nn chnh sch, gia tc v qun l trn mng Microsoft Commerce Server 2000 cung cp mt khung ng dng (application framework), cc c ch phn hi tinh vi v nhng kh nng phn tch Mobile Information Server 2001 cho php s dng cc ng dng thng qua cc thit b mobile nh l cell-phone chng hn2.1.3

Cc dch v khi hp nht (Building Block Service)

Cc dch v khi hp nht l mt tp hp trung-tm-ngi-dng (user-centric) ca cc dch v Web XML, n chuyn iu khin d liu ngi dng t cc ng dng n nhng ngi s dng v cho php ngi dng kim sot nhiu hn thng qua cc quy tc x l d liu v quyn u tin do n xc nh, trong khi bo m s ng ca ngi dng l c s cho mi giao dch. Chng cha ng Passport (cho vic nhn din ngi dng), v cc dch v cho vic phn tn thng ip, ct gi file, qun l quyn u tin ngi dng, qun l lch lm vic v cc chc nng khc.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 29 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Microsoft a ra mt vi dch v hp nht m in hnh l Microsoft HailStorm. y l mt dch v trung-tm-ngi-dng cung cp cho nhng ngidng-cui kh nng lu tr thng tin c nhn nh cc cuc hn, lch hay cc thng tin v ti chnh. Khi ng k dch v ny thng tin c chia s vi cc ng dng khc theo mun ca h. Ti y, mt phm vi rng ln cc cng s v cc nh pht trin s m rng ng k tp cc dch v khi hp nht ny. Cc dch v Web XML l nhng khi hp nht c bn trong s chuyn tip sang tnh ton phn tn trn Internet. Nhng chun m v s tp trung vo truyn thng v hp tc gia mi ngi v cc ng dng to ra mt mi trng, ni cc dch v Web XML ang tr thnh nn tng cho s hp nht cc ng dng. Cc dch v Web XML a ra chc nng hot ng hu ch ti nhng ngi dng Web thng qua mt giao thc Web chun l SOAP. Cc dch v Web XML cung cp mt cch m t nhng giao din ca chng cho php mt ngi dng xy dng mt ng dng khch (client) c th "ni chuyn" vi chng. S m t ny thng thng c cung cp trong mt ti liu XML gi l mt ti liu Web Services Description Language (WSDL). Nhng dch v Web XML c ng k nhng ngi s dng c kh nng c th tm thy h mt cch d dng. Nhng ti liu ny c hon thnh vi Universal Discovery Description and Integration (UDDI). 2.1.4 Cc Client hay thit b thng minh

.NET s dng phn mm cho cc thit b thng minh cho php cc my vi tnh (PC), my tnh xch tay (laptop), my trm (workstation), in thoi thng minh (smart phone), my tnh cm tay (handheld computer), my tnh bng (Tablet PC) v cc thit b thng minh khc iu khin v hot ng trong .NET. Mt thit b thng minh thng c kh nng nhn bit :Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 30 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

V ngi dng: thit b s dng s nhn din .NET, hin trng v d liu ca ngi dng n gin ho qu trnh s dng ca ngi dng cho php bin i nhng khai bo khi p li s hin din hoc khi thiu mt thng tin no . Trn mng: phn ng li nhng s rng buc v gii tn; cung cp s h tr cho c hai kiu s dng cc trnh ng dng trc tuyn (online) v ngoi tuyn (offline), hiu v on bit c nhng dch v no c th dng c (c sn). V thng tin: truy nhp, phn tch v x l d liu ti bt c thi im, v tr no. V cc thit b khc: pht hin ra v thng tin cho cc my vi tnh (PC), cc thit b thng minh, cc my phc v (server) v Internet; bit phi cung cp cc dch v ti cc thit b khc nh th no; thng minh khi truy cp thng tin t PC. V phn mm v cc dch v: gii thiu cc ng dng v d liu c ti u cho form factor; nhp vo cc phng php v kh nng kt ni thch hp cho tng tc ngi dng cui; dng cc dch v Web c s dng XML, SOAP, v UDDI, c th chng trnh ho v d m rng bi cc nh pht trin. Mt s phn mm ca Microsoft ang lm vic cho cc thit b thng minh bao gm Microsoft Windows XP, Windows Me, Windows CE, Windows Embedded, .NET Framework v .NET Compact Framework 2.2 Lp trnh Web v ASP.NET 2.2.1 Lp trnh Web

Hnh 2.3 - M hnh gi nhn yu cuNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 31 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Khi ngi dng duyt Web v thc hin cc chc nng m trang Web cung cp. Pha Client s yu cu (Request) 1 trang Web. Pha Web Server hi p li (Response) bng cch gi trang Web theo dng HTML v cho trnh duyt C 2 k thut lp trnh Web:

Client Side code Server Side code

K thut Client Side code Trang Web c trnh duyt ti v t Web Server v mi x l c thc hin trn my Client u im: Web Server khng cn x l nhiu. Mt s k thut lp trnh Web Client Side Code DHTML Script ny c nhng trong trang HTML (thng l Javascript) Mi thnh phn ca HTML tr thnh mt i tng gn lin vi mt s kin chng hn: OnClick. Script cung cp code phn hi li cc s kin ca trnh duyt Java Applet Da vo Java byte code Active X Mc nh th ch c Internet Explorer h tr cho cc trang Web bng ActiveX. Tuy nhin, trnh duyt NetScape cng h tr vi iu kin l c plug in. Thch hp cho Website dng trong mng ni b K thut Server Side code ng dng Web c x l trn Web Server (IIS) Qu trnh thc hin gm 2 giai on: To trang Web c cha c Script Client Side v Server Side Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 32 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Khi Client Browser yu cu thc hin, server (run-time engine) s thc hin

cc lnh server side scripts v tr trang Web HTML v trnh duyt. u im: ng dng c xy dng theo m hnh 3 tng nn c nhng li th: D truy cp: C th dng bt c trnh duyt no pha Client hay bt k thit

b no truy cp vo trang Web D qun l: Khng yu cu vic sp xp code trong ng dng v cc lp trnh

vin cng d dng thay i code D m rng Bo mt: Code khng b l khi cc tranng Web b li.

Mt s k thut lp trnh Server Side Code ASP (Active Server Page) PHP (Personal Home Page) JSP (Java Server Page) CGI (Common Gateway Interface) ISAPI (Internet Server API) 2.2.2 ASP.NET

ASP.NET l mt "khung" lp trnh c xy dng trn b thc thi ngn ng chung (CLR) v c s dng trn mt my ch phc v to ra cc ng dng Web mnh. Web Forms ca ASP.NET cho php xy dng cc giao din ngi dng Web ng (UI) mt cch hiu qu. Cc dch v ca ASP.NET cung cp nhng khi hp nht (building blocks) cho vic xy dng cc ng dng trn nn Web phn tn. Nhng dch v Web da trn cc chun Internet m nh HTTP v XML. B thc thi ngn ng chung CLR cung cp s h tr dng sn to v a ra nhng dch v Web thng qua vic s dng mt khi nim tru tng ho lp trnh ph hp v thn thin vi cc nh pht trin cho c ASP Web Forms v Visual Basic. M hnh thu c va d binNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 33 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

i, va d m rng. M hnh ny da trn cc chun Internet m (HTTP, XML, SOAP) n c th c truy cp v thng dch bi bt c mt client hay thit b h tr Internet no ASP.NET l mt th h mi ca ASP (mt k thut d vit v sa i), l k thut lp trnh Web pha Server Side. H tr cho vic xy dng, trin khai v chy cc ng dng Web. File m rng l .aspx. Bn cnh , ASP.NET cng thch hp vi nhiu trnh duyt: IE, Netscape,.. Ngoi ra, ASP.NET cn h tr nhiu ngn ng .NET: C#, VB.NET, C++, Cc trang Web vit bng ASP.NET th code x l v HTML c tch ra khc vi cc trang vit bng ASP (Code x l v HTML c vit chung 1 File). iu ny em li u im: Gip cc lp trnh vin thao tc trn HTML m khng nh hng n login

ca trang Web. Bo v tt Source Code. Qu trnh x l yu cu: Khi Client gi yu cu v pha Server, Server tin hnh cc bc sau: Cu hnh (Configuration) Khi phc li d liu cho ViewState v trang Web. Tin hnh s kin Page_Load. Chun b sn cho vic trnh din trang X l s kin (Even Handling) Xc nh cc s kin c kch hot khi yu cu gi v t Client tin hnh x l s kin Biu din (Rendering) Gi kt qu v cho trnh duyt di dng trang HTML Xa trang (Clean up) Gii phng ti nguyn s dng nh: ng kt ni c s d liu,Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 34 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Thc hin x l Page_Unload Mt s i tng Request l i tng cho php Client gi yu cu pha Server. Request c mt chc nng quan trng l thu thp thng tin trnh duyt pha Client di dng chui. V d, www.chodientu.aspx?Id=Muahang (Client yu cu trang chodientu.aspx vi Id = Request (Id)) Response l i tng cho php Server gi thng tin v Client sau khi Client yu cu. V d, Response.Redirect (TestPopupControl.aspx) (Server gi ni dung trang TestPopupControl.aspx v cho pha Client) Session dng lu tr d liu. Session c t chc thnh mt cp: mt t kha v mt gi tr. V d, Session (LoginUser) = Admin -> T kha l LoginUser v gi tr l Admin Mi Session c to ra khi mt ngi dng truy cp vo ng dng Session c to ra v lu trn b nh ca Server. Session c 2 s kin (Event): Session_OnStart v Session_OnEnd c khai bo trong file global.asax . Lp trnh vin c th nhng code vo iu khin

Hnh 2.4 M hnh m t cch s dng Session 2.3 Control trong ASP.NETTrang 35 / 100 MSSV: 0311967 MSSV: 0310161

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

2.3.1

Control l g?

Control l mt loi th vin c lin kt n ng dng v c kh nng cung cp tu chn cao giao tip gia ngi dng v control. Control c vit hay duy tr nh mt dng File thc thi c lp c gi n mi ln thc thi. Cc dng file ny l: DLLs, ASCXs, VBXs, OCXs,.. Cc kiu Control User Control: l kiu n gin nht, n k tha lp UserControl. File thc thi ca loi Control c dng: ASCXs. Custom Control: l loi Control ty bin giao din. Tu thuc vo s pht trin ca h thng, custom control c lin kt n ng dng khi n c vit hoc duy tr nh mt dng file thc thi c lp c gi n mi ln thc thi. Cc dng file ny l: DLLs, VBXs, OCXs. Cc Control c k tha (Inherited controls): n h tr mnh hn v mm do hn. Kiu Control ny k tha mt Control m gn ging vi n nht, sau c th override hoc thm cc thuc tnh v phng thc trn lp Custom Control. V d, lp Custom Control k tha lp DataGrid v override phng thc DataBind() ca n. Cc Control v li chnh n (Owner-drawn controls): n k tha t lp Control v thm cc tu chn v chc nng v giao din. B cung cp m rng hn (extender provider): c th thm cc c trng v m rng giao din ngi dng. Li ch ca cch vit Custom Control Gip tit kim thi gian v cng sc khi vit chng trnh, custom control c vit 1 ln duy nht nhng li c s dng rt nhiu ln trong chng trnh hoc cc ng dng khc nhau. Custom Control cho php lp trnh vin thoi mi trong cch vit Control dng cho mc ch ring.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 36 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

V d, FreeTextBox (http://freetextbox.com/) l mt dng Custom Control chuyn v thit k vn bn trn mi trng web c s dng cho nhiu website khc nhau. FreeTextBox c hnh dung nh l mt chng trnh Microsoft Word vi giao din ca Word 2003, p, thm m, tch hp v p ng nhiu nhu cu cho cc nh pht trin ng dng Web.

Hnh 2.5 - FreeTextBox Control2.3.2

Vng i ca mt Control

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 37 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.6 - Vng i ca Control Instantiate: Control c khi to bi trang hoc control khc qua phng thc to lp ca n. Initialize: trang v tt c cc control trong cy control gi phng thc OnInit ca chng theo mc nh (kch hot s kin Init). Nhng thuc tnh ca control c t trong c php trang c gn trc pha Initalize. C th truy xut ti nhng control con trong tp hp Controls ca n, nhng khng truy xut c ti control cha hoc control nhnh cao hn Begin Tracking View State: trong pha ny trang t ng gi phng thc TrackViewState m bo nhng thay i trn thuc tnh c lu li trn ViewState Load View State: dng khi PostBack, control khi phc li trng thi ca n ti bc x l cui cng trc khi request. C th override phng thc LoadViewState thc hin tu chn khi phc trng thi. Load Postback Data: dng khi PostBack, nu control tham gia vo x l d liu postback, bng cch thc thi phng LoadPostData ca giao tip

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 38 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

IPostBackDataHandler. Trong giai on ny control phi cp nht trng thi ca n t d liu a v t form Load: Ti thi im ny control c th truy xut an ton ti cc control khc trong trang. C th override hm OnLoad. Nu ch thc thi code cho yu cu trang ln u th nn kim tra thuc tnh IsPostBack. Raise Changed Events: dng khi PostBack, nu control tham gia vo x l d liu postback bng cch thc thi phng thc RaisePostDataChangedEvent ca giao tip IpostBackDataHandler. Trong giai on ny control gi cc s kin gn nhng thay i trng thi ca n ti kt qu postback. Raise Postback Event: dng khi PostBack, nu control tham gia vo x l s kin postback. Trong pha ny c th thc hin nh x s kin client vo trong s kin server bng cch thc thi phng thc RaisePostBackEvent ca giao tip IpostBackEventHandler.V d vi Button, kch hot s kin Click trn server cho php ngi pht trin trang x l s kin postback trn client. PreRender: y l bc cui cng trc khi render Save View State: Nn tng ca trang (page framework) t ng lu ViewState. C th override phng thc SaveViewState tu chn vic lu ny. Bt k thay i no thc hin sau pha ny s khng c duy tr trn ViewState. Render: Control vit text nh du (markup text) ti lung ra bng cch override phng thc Render hoc mt trong nhng phng thc Render khc ca WebControl Unload: trang thc hin vic dn dp Dispose: gii phng ti nguyn m control chim.2.3.3

Cu trc ca mt Control in hnh: DataGrid

Cu trc chnh K tha lp Control v thc thi lp INamingContainer trnh xung t id.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 39 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.7 - DataGird c k tha t Control, INamingContainer vi cc chc nng c bn phn trang, sp xp, cp nht. Thuc tnh ParseChildren: bng true cho php s dng thuc tnh template, false trnh control con nm trong m thay vo l cc phn t nhng vo Thuc tnh Designer kt hp vi RepeaterDesigner cho php d liu ngun c cung cp trn giao din thit k ca VS.NET. Hai phng thc ng vai tr trung tm l CreateChildControls v DataBind

Hnh 2.8 - DataBind v CreateChildControls Cc thnh phn Templates

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 40 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Datagrid c 5 template: HeaderTemplate, FooterTemplate, SeparatorTemplate, ItemTemplate v AlternatingItemTemplate. Trong hai kiu cui l: ItemTemplate v AlternatingItemTemplate c kh nng gn vi d liu (data binding). Events C cc s kin nh: ItemCommand, ItemCreated, ItemDataBound. ItemCommand c th gom cc s kin c kch hot bi nhng control cp di theo kiu ni bt. ItemCreated c kch hot mi ln RepeaterItem c to. N cho php thay i ln cui cho cc template ng trc khi c tr v client. ItemDataBound c gi sau khi cc rng buc d liu thc hin trn template. S kin ny ch dng cho template ItemTemplate v Alternating v cc template khc khng h tr rng buc d liu

DataSourceHelperDataSourceHelper ClassResolveDataSource(object DataSource, string DataMember

Cc tp hp n gin nh Array, ArrayList ch cn p kiu DataSource thnh Ienumerable, bn di l bc Hnh 2.9 - Event Bubbling x l cho kiu phc tp

Data BindingKim tra xem IListSource D liu la chn da vo DataMember trong DataSource. c cha IListSource DataSet tp hp cc danh sch khng S dng DataViewManager tm DataTable c DataMember ph hp trong tp hp cc DataTable ca DataSet IList Thc thi Trang 41 / 100 giao tip IListSource c th tr v mt IList cha tp cc IList

DataViewManager

ITypedList

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

DataTable MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.10 - Phn tch IListSource DataSource c chia theo 2 dng: Cc collection n gin nh Array, ArrayList, DataReader c p kiu v giao tip Ienumarable Collection phc tp nh DataSet c p kiu v giao tip IListSource. Thuc tnh ContainsListCollection ca giao tip trn cho php kim tra DataSet c cha nhiu DataTable khng. Nu c n phi s dng lp thc thi giao tip ITypedList l DataViewManager rng buc (bind) ti ng d liu ngun 2.3.4 Bin dch v pht hnh mt Custom Control vi ASP.NET

Cc cch to Custom Control To mt custom control t mt control c sn. (derived custom control)

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 42 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

To custom control hn hp t cc control c sn thnh mt control mi. V d: Control Login c to mi da trn control Text, Button, ... (composite custom control) To mt custom control y bng cch tha k lp System.Web.UI.WebControls.WebControl. (full custom control) To mt custom control y :

to file .dll ta lm theo cc bc sau Vo File > New > Project chn Web Control Library hoc s dng project loi Class Library.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 43 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.11 - To mt project loi Web Control Library Nhn OK to project v vo giao din chng trnh xy dng Control Sau khi vit control xong, ta nhn F5 chng trnh bin dch thnh dng file .dll

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 44 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.12 - Thng ip nhn c sau khi bin dch thnh cng c file .dll a file .dll vo project ng dng (project web): kch chut phi ln project chn Add Reference v chn ng dn ti file .dll nh hnh di

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 45 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.13 - Cch Add mt file .dll vo ng dng Web

Pht hnh

Khai bo trong web.configNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 46 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Khai bo trong ascx

S dng Control trong trang web (trang ascx hoc aspx)

La chn lp k tha: Vic la chn cc lp k tha cng c mc nh

hng n control c vit ra, sau y c cc loi chn lp k tha. Chn lp Control Khng c giao din trc quan cho thit k Chn lp WebControl C giao din trc quan cho thit k Lp WebControl h tr sn mt s style nh: Font, Color, Class. Chn cc lp Server Control c sn Khi mun thay i hoc m rng chc nng cho cc Control nh: Label, TextBox.

a Custom Control vo Toolbox

M trang .aspx trong ch thit k Kch phi vo ca s Toolbox, chn Choose Items Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 47 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Sau chn tab .Net Framework Components Kch Browse chn ng dn ti Control Kch OK ng ca s

Hnh 2.14 - a Custom Control vo Toolbox

2.3.5

So snh gia Custom Control v User Control

S ging nhau Custom Control v User Control u c tha k t lp Control. Custom Control v User Control u c s dng trong ng dng bi cc nh lp trnh vin vi cc mc ch khc nhau. S khc nhau Nu khng c loi ASP.NET server control no c c y nhu cu, chc nng trong ng dng web th cc nh lp trnh c th to ra hai dng control l:Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 48 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Web User Control v Web Custom Control p ng iu . im khc bit chnh gia hai dng control ny l cch to & cch s dng chng. Sau y l bng lit k cc s khc bit chnh gia hai loi Control ny:

Web User Controls D xy dng control Gii hn s h tr khi lp trnh vin s dng cng c thit k giao din

Web Custom Controls Kh xy dng control hn Khng gii hn

Mi ng dng web (trang web) cn phi Ch c duy nht mt phin bn control c mt phin bn ca control. c dng trong global assembly cache.

Khng th thm Control vo Toolbox C th thm Control vo Toolbox trong b trong b Visual Studio .NET Dng tt cho s b tr trang web tnh Visual Studio .NET Dng tt cho s b tr trang web ng

Bng 2.1 - Cc im khc nhau gia Custom Control v User Control

2.4

Microsoft SQL Server 2000 Gii Thiu SQL Server 2000 SQL Server 2000 l mt h thng qun l c s d liu

(Relational

Database

Management

System_RDBMS)

s

dng

Transact-SQL trao i d liu gia Client computer v SQL Server computer. Mt RDBMS bao gm databases, database engine v ccNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 49 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

ng dng dng qun l d liu v cc b phn khc nhau trong RDBMS. SQL Server 2000 c ti u c th chy trn mi trng c s d liu rt ln (Very Large Database Environment) ln n TeraByte v c th phc v cng lc cho hng ngn user. SQL Server 2000 c th kt hp "n " vi cc server khc nh Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server.... SQL Server c 7 editions: Enterprise : Cha y cc c trng ca SQL Server v c th chy tt trn h thng ln n 32 CPUs v 64 GB RAM. Thm vo n c cc dch v gip cho vic phn tch d liu rt hiu qu (Analysis Services) Standard : Rt thch hp cho cc cng ty va v nh v gi thnh r hn nhiu so vi Enterprise Edition, nhng li b gii hn mt s chc nng cao cp (advanced features) khc, edition ny c th chy tt trn h thng ln n 4 CPU v 2 GB RAM. Personal: c ti u ha chy trn PC nn c th ci t trn hu ht cc phin bn windows k c Windows 98. Developer : C y cc tnh nng ca Enterprise Edition nhng c ch to c bit nh gii hn s lng ngi kt ni vo Server cng mt lc.... y l edition m cc bn mun hc SQL Server cn c. Edition ny c th ci trn Windows 2000, NT. Desktop Engine (MSDE): y ch l mt engine chy trn desktop v khng c user interface (giao din). Thch hp cho vic trin khai ng dng my client. Kch thc database b gii hn khong 2 GB. Win CE : Dng cho cc ng dng chy trn Windows CENhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 50 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Trial: C cc tnh nng ca Enterprise Edition, download free, nhng gii hn thi gian s dng.

Cc thnh phn quan trng trong SQL Server 2000 SQL Server 2000 c cu to bi nhiu thnh phn nh Relational Database Engine, Analysis Service v English Query.... Cc thnh phn ny khi phi hp vi nhau to thnh mt gii php hon chnh gip cho vic lu tr v phn tch d liu mt cch d dng.

Hnh 2.15 M hnh m t cc thnh phn ca SQL Server Relational Database Engine - Li ca SQL Server y l mt engine c kh nng cha d liu cc quy m khc nhau di dng bng (table) v h tr tt c cc kiu kt ni d liu (data connection) thng dng caNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 51 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Microsoft nh: ActiveX Data Objects (ADO), OLE DB, v Open Database Connectivity (ODBC). Ngoi ra n cn c kh nng t iu chnh (tune up) v d nh s dng thm cc ti nguyn (resource) ca my khi cn v tr li ti nguyn cho HH khi mt user log off. Replication - C ch to bn sao (Replica) Gi s c mt database dng cha d liu c cc ng dng thng xuyn cp nht. Nu mun c mt database ging y ht nh th trn mt server khc chy bo co (report database)_cch lm ny thng dng trnh nh hng n performance ca server chnh). Vn l report server cng cn phi c cp nht thng xuyn m bo tnh chnh xc ca cc bo co. Khng th dng c ch back up and restore trong trng hp ny. Th th phi lm sao? Lc c ch replication ca SQL Server s c s dng bo m cho d liu 2 database c ng b (synchronized). Data Transformation Service (DTS) - Dch v chuyn dch d liu rt hiu qu Trong mt cng ty ln d liu c cha trong nhiu ni khc nhau v cc dng khc nhau c th nh cha trong Oracle, DB2 (ca IBM), SQL Server, Microsoft Access....Chc chn cng ty s c nhu cu di chuyn d liu gia cc server ny (migrate hay transfer) v cng mun nh dng (format) n trc khi lu vo database khc, khi DTS s gii quyt cng vic trn d dng. Analysis Service - Mt dch v phn tch d liu rt hay ca Microsoft Microsoft cung cp mt cng c rt mnh gip cho vic phn tch d liu tr nn d dng v hiu qu bng cch dng khi nim hnh khi nhiu chiu (multi-dimension cubes) v k thut "o m d liu" (data mining). Meta Data Service

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 52 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Dch v ny gip cho vic cha ng v s dng Meta data d dng hn. Meta Data l g? Meta data l nhng thng tin m t v cu trc ca data trong database nh data thuc loi no String hay Integer..., mt ct no c phi l kha chnh hay khng....Bi v nhng thng tin ny cng c cha trong database nn cng l mt dng data nhng phn bit vi data "chnh thng" ngi ta gi n l Meta Data. SQL Server Tools Cc cng c SQL Server (DBA _Database Administrator) Enterprise Manager. y l mt cng c cho thy ton cnh h thng CSDL

mt cch rt trc quan. Query Analyzer. y l mt mi trng lm vic kh tt v c th nh bt

k cu lnh hay Stored Procedure ca SQL no v thc thi chng. SQL Profiler. N c kh nng "chp" (capture) tt c cc s kin hay hot

ng din ra trn mt SQL server v lu li di dng file Text rt hu dng trong vic kim sot hot ng ca SQL Server. Ngoi ra cn c osql v bcp (bulk copy) trong command prompt.

2.5

AJAX (Asynchronous JavaScript+CSS+DOM+XMLHttpRequest) Ngun gc Ajax Ngun gc ca AJAX c bt u t khi Microsoft pht trin cng ngh Remote

Scripting vo nm 1998. Tuy nhin, phng php ti khng ng b ni dung trn mt trang Web xut hin trong thnh t IFRAME ca Internet Explorer 3 (1996) v thnh t LAYER ca Netscape 4.0 nm 1997. Khi gii thiu Internet Explorer 4.0, Microsoft s dng m hnh i tng ti liu DOM khc bit. n nm 2000, Netscape hon ton nh mt th trng trnh duyt vo tay hng phn mm ca Bill Gates v thnh t LAYER cng khng cn c cc chuyn gia pht trin Web ch ti. Vi nm sau, AJAX li li ko c s quan tm ca gii cng ngh v tr thnhNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 53 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

cng c ci tin giao din ngi dng cho ng dng Web. Thut ng ny xut hin vo thng 2/2005 trong bi vit ni ting ca Jesse James Garrett trn trang Adaptive Path. T , AJAX tr thnh trung tm trong mi cu chuyn lin quan n th h Web 2.0. Ajax l g? y l nh ngha ca Garrett v AJAX: AJAX khng phi l mt cng ngh. N l tp hp ca nhiu cng ngh vi th mnh ca ring mnh to thnh mt sc mnh mi AJAX bao gm: Th hin Web theo tiu chun XHTML v CSS Nng cao tnh nng ng v phn hi bng DOM (Document Object Model ) Trao i v x l d liu bng XML v XSLT v d liu s c ly v t Server Truy cp d liu theo kiu bt ng b (asynchronous) bng XMLHttpRequest V tt c cc k thut trn c lin kt li vi nhau bng JavaScript Ti sao phi la chn Ajax Vi Ajax khng nhng c th xy dng c mt trang Web ng v nhanh , m cn tit kim c ti nguyn (V d, khi ngi dng gi yu cu ln server, server s hi p li m khng refresh li ton b trang, d liu s c load ngm) Vi ngun ti nguyn chia s gip tn dng nng lc ca tt c my tnh client hn l ch s dng duy nht mt server v mng. Ajax cho php thc hin vic truy xut trn my client (trong JavaScript) vi d liu c ly v t server Tin trnh ca mt trang Web trc y ch t mt pha server, s dng dch v Web (Web services) hoc PHP scripts, trc y ton b trang c gi trong vng mt mng. Nhng vi cng ngh Ajax c th chn, chnh sa ch mt phn ca trangNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 54 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

c hin th bi trnh duyt, v cp nht ni dung ca n m khng cn phi load li (reload) li ton b d liu ging nh vi cc: images, menus, v.v Chiu su Ajax Ajax l nt tp hp cc cng ngh, c h tr bi trnh duyt Web, bao gm cc yu t sau: HTML v CSS cho trnh din JavaScript cho tin trnh cc b, v DOM (Document Object Model) truy xut d liu bn trong trang Web hoc truy xut cc thnh phn ca file XML c trn Server (vi phng thc getElementByTagName) Lp XMLHttpRequest c hoc gi d liu trn Server mt cch khng ng b. Bn cnh cn c cc tu chn khc nh: Lp DomParser PHP hoc cc ngn ng kch bn khc c th c s dng trn Server XML v XSLT x l d liu c tr v di nh dng XML SOAP c th c s dng i thoi vi Server

T Asynchronous - (bt ng b) ngha l s phn hi li t Server c sn sng x l m khng cn ch v ng bng s hin th ca trang Web. S khc bit gia AJAX v trang Web truyn thng Hai m hnh di y minh ha 2 c ch lm vic hon ton khc nhau: mt bn l c ch ca cc ng dng Web truyn thng v mt bn l ng dng Web s dng cng ngh Ajax.Hnh 2.16 (a) -M hnh c in ca mt ng dng Web

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 55 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

R rng im khc bit l thay v phi ti c trang Web th vi

Hnh 2.16 (b) M hnh s dng Ajax

AJAX bn ch cn ti v phn ca trang Web m bn mun thay i. iu ny gip cho ng dng Web ca bn phn hi nhanh hn, thng minh hn. im c bit quan trng trong cng ngh AJAX nm ch A (Asynchronous) bt ng b.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 56 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Mt trong nhng im mu cht ca cng ngh Ajax l bn khng tng tc trc tip vi my ch nh cch truyn thng m l qua mt lp trung gian ca Ajax. C 3 l do: Khng phi lc no bn cng cn phi tng tc vi my ch. Nh trong trng hp ca Gmail, mt khi giao din ca Gmail c ti v xong th nhng tc v nh chuyn t th mc ny sang xem th mc khc khng nht thit phi hi li my ch (tt nhin vi iu kin d liu c sn) Bng cch ch nhn nhng thng tin cn thit ( dng XML), dung lng truyn ti gia my tnh ca bn v my ch s gim i rt nhiu. Sau khi giao din c ti v 1 ln, Ajax s khng cn phi ti li ton b giao din mi khi tng tc vi my ch. Thay vo , Ajax s gi yu cu n my ch v nhn kt qu t my ch v nhng g thay i sau khi my ch thc hin yu cu . Ajax sau s thng bo cho phn giao din (thng qua cc li gi Javascript) thc hin cc thay i tng ng trn giao din.

Tng tc gia phn giao din v Ajax l tng tc ni b

bn trong trnh duyt, gip cho cc thay i s c th hin gn nh tc th. Ct li ca Ajax Cc ng dng Web thng thng lm vic trn m hnh ng b, ngha l khi c yu cu Web ca ai th i cng vi n l mt p ng thc hin mt vi hnh ng trong lp trnh din (presentation). V d, vic click mt link hay nhn nt submit s to ra mt yu cu n Web server vi cc tham s c lin quan. Thi quen click v wait ny gii hn s tng tc ca cc ng dng. Vn nyNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 57 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

c lm gim bt bng vic s dng cng ngh Ajax. Vi mc ch ca bi vit ny chng ti ch xem Ajax nh mt phng thc gi khng ng b ca n tc ng n Web server m khng phi refresh ton b trang Web. Loi tng tc ny c th thc hin c bi ba thnh phn: ngn ng scripting trnh khch, i tng XmlHttpRequest(XHR) v XML. Ngn ng scripting trnh khch: khi to cc lnh gi n server, sau truy cp chng trnh v update DOM bn trong trnh duyt ca trnh khch. S la chn ph bin nht trn trnh khch l Javascript v s hin th ca n vi cc trnh duyt l kh tt. XHR - y mi thc s l tri tim ca k thut ny. Javascript s dng i tng XHR gi cc yu cu n Web server n di kch bn v s dng HTTP nh mt trung gian truyn ti. XML s nh dng d liu cho cc messages m c th thay i. XML: Nhiu trang s dng JSON (Javascript Object Notation) trong phn XML bi v c php ca n d hn. Khi s dng Javascript phn tch c php JSON th n n gin nhiu. Mt khc ai cng c th s dng Xpath phn tch quay tr li c php XML. Cng c nhiu trang Ajax khng s dng XML hay JSON, thay vo ch gi nhng mu HTML c chn ng tnh vo trong trang Web. Trong thc t, tt c cc yu cu XHR vn c x l bi server side frameworks in hnh nh cc chun ging J2EE, .Net v PHP. Tnh khng ng b ca cc ng dng Ajax c th hin trong hnh di y.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 58 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.17 Tng tc gia Client v Server Hot ng ca Ajax T lu, mi ngi tng tng ng dng my tnh ri s c lu v chy hon ton trn Web thay v nm b buc trong cng. D vy, vin cnh vn cha th xy ra do ng dng Web b hn ch bi nguyn l rng tt c cc thao tc phi c thc hin thng qua HTTP (HyperText Transfer Protocol - Giao thc truyn ti siu lin kt). Nhng hot ng ca ngi s dng trn trang Web s to ra mt yu cu HTTP ti server. My ch thc hin mt s khu x l nh ly li d liu, tnh ton, kim tra s hp l ca thng tin, sa i b nh, sau gi li mt trang HTML hon chnh ti my khch. VNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 59 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

mt k thut, phng php ny kh bt tin v mt thi gian v khi server ang thc hin vai tr ca n th ngi dng s phi ch i.

Hnh 2.18 ng dng Web truyn thng (tri) v Ajax (phi) khc phc hn ch trn, cc chuyn gia pht trin gii thiu hnh thc trung gian - c ch x l AJAX - gia my khch v my ch. iu ny ging nh vic tng thm mt lp gia cho ng dng gim qu trnh "i li" ca thng tin v gim thi gian phn ng. Thay v ti li (refresh) ton b mt trang, n ch np nhng thng tin c thay i, cn gi nguyn cc phn khc. V vy, khi duyt mt trang h tr AJAX, ngi dng khng bao gi nhn thy mt ca s trng (blank) v biu tng ng h ct - du hiu cho thy my ch ang thc hin nhim v. V d: trong mt Website nh, vi ng dng truyn thng, ton b trang cha cc nh s phi m li t u nu c mt thay i no trn trang. Cn khi p dng AJAX, DHTML ch thay th on tiu.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 60 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Jesse James Garrett vit "Mi thao tc ca ngi s dng s gi lnh JavaScript ti b x l AJAX, thay v to ra mt yu cu HTTP (HTTP request) v truy vn ti my ch. Nu cn g t server, nh ti v b sung m giao din hay nhn d liu mi, AJAX s truyn yu cu ti my ch mt cch khng ng b, thng thng s dng XML, m khng lm gin on s tng tc ca ngi dng vi ng dng Web".

Hnh 2.19 Tng tc ng b trong ng dng web truyn thng (trn) v d b trong ng dng AJAX. (Adaptive Path) Cc yu t trong Ajax JavaScript l mt ngn ng lp trnh a nng, n JavaScriptNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

tng i ging C. JavaScript c bit di dng mt ngn ng c kiu t do, thng dch.Trang 61 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

CSS a ra mt phng php nh ngha giao din CSS (Cascading Style Sheets) ngi s dng cho cc thnh phn ca trang Web. Trong mt ng dng ca Ajax, cc kiu giao din ngi s dng c th c chnh sa thng qua CSS. DOM gip phn tch mt ti liu (mt trang web chng DOM (Document Object Model) hn) phc v cho c ch ca JavaScript. S dng DOM, cu trc ca ti liu c th c phn r theo cu trc cy v thao tc theo cc nt XHR khng phi l mt chun, nn c nhng s khc i tng XMLHttpRequest (XHR) bit nh trong cc trnh duyt v h tr i tng ny, tuy nhin hu ht cc phng thc v thuc tnh ca n u c h tr. Hin thi, Firefox, Safari, Opera, Konqueror, v Internet Explorer tt c u h tr XHR tng t nhau. Bng 2.2 Cc yu t trong AJAX

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 62 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.20 - Bn thnh phn chnh ca Ajax JavaScript Cch thc Ajax lm vic vi JavaScript Trong trnh duyt, code c vit trong Javascript c th ly d liu v t Server. Khi qu nhiu d liu c ly v t Server, Javascript s dng mt item c bit c h tr bi trnh duyt l i tng XmlHttpRequest (XHR). Javascript trong trnh duyt khng dng mi vic ch i d liu c ly v t Server. N c th ch d liu trong mt background a d liu vo trang Web khi d liu xut hin (y l mt hnh thc load d liu ngm t Server - S bt ng b). Ajax khng phi l mt cng ngh phc tp! im mu cht ca Ajax nm XMLHttpRequest. y l mt k thut do Microsoft khi xng v tch hp ln u tin vo IE5 di dng mt ActiveX . Mozilla tch hp cng ngh ny vo Mozilla 1.0/Netscape 6 sau . V d nhin tt c cc version ca Firefox u h tr XMLHttpRequest , hin nay c trong trnh duyt Safari 1.2 (Apple) v Opera 8 tr ln. Thng thng, khi ngi dng c mt yu cu thay i d liu trn trang Web, yu cu thay i c gi v server di dng HTTP request (hay cn gi postback), server s x l yu cu ny v gi tr li trang HTML khc thay th trang c. Qui trnh ny c m t l nhp-ch v ti li (click-wait-and-refresh). Gii thiu v DOM DOM gip phn tch mt ti liu (mt trang web chng hn) phc v cho c ch ca JavaScript. S dng DOM, cu trc ca ti liu c th c phn r theo cu trcNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 63 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

cy, c cc phn t l cc nt, cc nt con v thao tc theo cc nt ( qui). y l mt kh nng c bit hu ch vit mt ng dng Ajax. Trong cc ng dng web truyn thng, trnh duyt phi ti np cc trang HTML theo mt lung t server. Trong mt ng dng AJAX, s thay i giao din ngi dng ch yu c to ra bi DOM. Cc th HTML trong trang web c t chc theo cu trc cy. Gc ca cy l th , biu din ti liu. Trong th biu din phn thn ca ti liu, l gc ca phn hin th ca ti liu. Trong thn ca ti liu, c cc bng, paragraph, list, v cc loi th khc vi cc th mc thp hn na. JavaScript lm vic vi nt gc ca trang web hin thi qua mt bin ton cc gi l document, bin ny l im bt u ca mi thao tc trn DOM. Phn t DOM c c t bi W3C. Mi phn t DOM c mt phn t cha duy nht, c hoc khng c cc phn t con, v c mt s bt k cc thuc tnh, chng c lu tr trong mng mc ni. Mi quan h gia cc phn t DOM c th c i chiu bi danh sch cc thnh phn HTML. Mi quan h ny l hai chiu. Sa i m hnh DOM s thay i cu trc HTML v dn n thay i cch biu din mt trang web. Gii thiu v XmlHttpRequest (XHR) XHR c a ra ban u trong Internet Explorer 5 nh l mt ActiveX component. N ch hot ng trong Internet Explorer lm cho s t cc nh pht trin lm vic vi XHR, cho ti khi n tr thnh mt chun khng chnh thc trong Mozilla 1.0 v Safari 1.2. Mt iu rt quan trng cn ch l XMLHttpRequest khng l chun ca W3C nn c nhng s khc bit nh trong cc trnh duyt v h tr i tng ny, tuy nhin hu ht cc phng thc v thuc tnh ca n u c h tr. Hin thi, Firefox, Safari, Opera, Konqueror, v Internet Explorer tt c u h tr XMLHttpRequest tng t nhau. To mt th hin ca i tng XMLHttpRequestNhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 64 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest();} }

Vic to mt i tng XMLHttpRequest kh n gin. Trc tin, to mt bin ton cc xmlHttp lu tr mt tham chiu n i tng. Phng thccreateXMLHttpRequest thc hin vic to mt th hin ca XMLHttpRequest.

on chng trnh ny cha mt cu lnh r nhnh n gin xc nh cch thc to mt i tng. Lnh gi window.ActiveXObject s tr v mt bin kiu object hay gi tr null, tng ng vi iu kin true hay false ca cu lnh if, y l du hiu ch ra cho ta bit trnh duyt h tr ActiveX control, l Internet Explorer. Nu vy, XMLHttpRequest c to ra l mt th hin ca ActiveXObject, truyn mt ch bo kiu string xc nh loi i tng ActiveX cn to. Trong th hin ny, ta cung cp tham s Microsoft.XMLHTTP cho hm to, ch ra rng cn to mt th hin ca XMLHttpRequest. Nu lnh gi ti window.ActiveXObject khng c thc thi (iu kin false ca lnh if), lnh JavaScript s r nhnh tng ng vi lnh else, xc nh rng trnh duyt thc thi XMLHttpRequest di dng mt i tng JavaScript nguyn thy. Nuwindow.XMLHttpRequest tn ti, sau mt th hin ca XMLHttpRequest c

to ra. Kiu d liu XMLHttpRequest ca JavaScript tng thch vi rt nhiu trnh duyt khc nhau, c th truy cp cc thuc tnh v phng thc ca mt th hin ca XMLHttpRequest m khng cn quan tm ti cch to cc th hin ny. iu ny lm cho vic pht trin cc ng dng n gin hn v lm cho JavaScript khng ph thuc vo trnh duyt c th.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 65 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

X l HttpRequest gi mt HttpRequest n server bng JavaScript, bn cn to mt i tng ca lp cung cp tnh nng ny. Trong IE th lp ny tn ti di dng mt i tng ActiveX c tn l XMLHttp. i tng ny c t IE 4.0.var httpRequest = new ActiveXObject("Microsoft.XMLHTTP");

Nu MSXML c ci t th bn cng c th gi:var httpRequest = new ActiveXObject("Msxml2.XMLHTTP");

Mozilla, Firefox, Opera 8.0, Safari v cc trnh duyt khc th lp ny c tn l XMLHttpRequest. i tng XMLHttpRequest khng phi l mt chun ca W3C (tng lai c th c W3C chp thun). i tng XMLHttpRequest c h tr IE 5.0+, Safari 1.2+, Mozilla 1.0+/ Firefox, Opera 8.0+ v Netscape 7+.var httpRequest = new XMLHttpRequest();

Do s khc bit ny, nn ng dng ca bn chy trn nhiu trnh duyt th bn c th lm nh sau:if (window.XMLHttpRequest) { // Mozilla, Safari, ... httpRequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE httpRequest=new ActiveXObject("Microsoft.XMLHTTP");}

Do ActiveX trn IE rt nguy him cho ngi dng nn nhiu trng hp tnh nng ny c mc nh cm, v vy bn cn kim tra trnh duyt ca ngi s dng trc khi gi i tng xmlhttp. Vic kim tra ny c thc hin qua gi tr cawindow.ActiveXObject. V d, if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") } else { ...} Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 66 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Mt s phin bn ca trnh duyt Mozilla khng lm vic ng khi nhn p tr t server khng c header cha XML mime-type. khc phc vn ny, bn c th s dng phng thc nh ngha li phn header do server gi n trong trng hp n khng phi l text/xml.httpRequest = new XMLHttpRequest(); httpRequest.overrideMimeType(text/xml);

Tip theo, bn cn xc nh mun lm g sau khi nhn c p tr (response) t server. Giai on ny, bn ch cn bo cho i tng HttpRequest bit hm JavaScript s lm cng vic x l p tr. iu ny c thc hin bng cch thit lp thuc tnhonreadystatechange ca i tng thnh tn ca hm JavaScript:httpRequest.onreadystatechange = nameOfTheFunction;

Ch khng dng cp ngoc n () sau tn hm v khng truyn tham s vo hm . Thm na, thay v trao tn hm th bn c th s dng k thut nh ngha hm ng:httpRequest.onreadystatechange = function() { // do the thing };

Sau khi khai bo nhng g s din ra lc nhn c response, bn tin hnh gi request. Bn cn gi cc phng thc open() v send() ca lp HttpRequest:httpRequest.open(GET, http://www.example.org/some.file,%20, true); httpRequest.send(null);

Tham s GET l phng thc HttpRequest GET, POST, HEAD hay bt c phng thc no m bn mun s dng v phng thc cn c server h tr.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 67 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Tham s th hai l a ch URL ca trang m bn gi request n. Do thit lp bo mt, bn khng th gi cc trang trn tn min ca bn th ba. Ch l nu bn khng gi ng tn min trn tt c cc trang th bn s nhn c thng bo permission denied khi gi open(). Tham s th ba xc lp request c bt i xng hay khng (asynchronous). Nu TRUE, th vic thc thi hm JavaScript s tip tc trong khi response ca server cha n. y l ch A trong Ajax. Tham s gi n phng thc send() c th l bt c d liu no m bn mun gi ti server nu bn dng phng thc POST gi request. D liu s c dng ca mt chui truy vn:name=value&anothername=othervalue&so=on

i tng XMLHttpRequest c mt tp cc thuc tnh dng chung trn tt c cc mi trng h tr. Di y l danh sch cc thuc tnh ch yu ca i tng ny. X l ServerResponse Khi gi request, bn cung cp tn ca hm JavaScript c thit k x l response.httpRequest.onreadystatechange = nameOfTheFunction;

u tin, hm cn kim tra trng thi ca request. Nu trng thi c gi tr l 4, ngha l ng dng ca bn nhn c response y t server v l du hiu tt bn tip tc x l n.if (httpRequest.readyState == 4) { // khng xy ra vn g v bn nhn c response } else { // cha sn sng } Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 68 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Tip theo cn kim tra m trng thi ca HTTP server response. Tt c cc m c th tham kho site ca W3C. Trong bi vit ny, chng ta quan tm n response 200 (OK).if (httpRequest.status == 200) { // trng thi response tr li du hiu tt! } else { // c vn trong vic tip nhn v x l request, // v d 404 (Not Found) // hay 500 (Internal Server Error) }

Sau khi kim tra trng thi ca request v m trng thi ca HTTP response, vic x l d liu m server gi ti ty bn. Bn c hai la chn:HttpRequest.responseText tr li di dng chui vn bn HttpRequest.responseXML

tr

li

di

dng

i

tng

XMLDocument v bn c th duyt bng cch s dng cc hm JavaScript DOM Cc thuc tnh v phng thc XMLHttpRequest Bng sau ch ra cc phng thc in hnh ca i tng XMLHttpRequest:abort()

Hy request hin thi. di dng cp kha / gi tr ( key/value).

getAllResponseHeaders() Tr v tt c cc response header cho HTTP request getResponseHeader ("header")

Tr v gi tr kiu string ca header xc nh.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 69 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

open("method","url")

Thit lp giai on cho mt li gi ti server. Tham s ca method c th l GET, POST, hay PUT. Tham s url c th l quan h hay trc tip. Phng thc ny cn c 3 tham s ty chn.

send(content) setRequestHeader ("header","value")

Gi request ti server. Thit lp header xc nh cho gi tr cung cp. open() phi c gi trc khi c gng thit lp bt

k mt header no. Bng 2.3 Bng m t cc phng thc in hnh ca XmlHttpRequest By gi ta s xt c th cc phng thcvoid open (string method, string url, boolean asynch, string username, string password)

Phng thc ny thit lp mt phin gi ti server( khi to mt request). N c hai tham s yu cu v ba tham s ty chn; ta phi cung cp c t ca phng thc c triu gi (GET, POST, hay PUT) v a ch URL ca ti nguyn c gi. Cng c th truyn mt bin ch bo kiu Boolean, xc nh vic truyn l bt ng b - gi tr mc nh l true, ngha l cc request lun bt ng b theo mc nh. Nu truyn mt gi tr false, qu trnh x l s phi i cho n khi c phn hi t server. Vic truyn d liu bt ng b l mt li th ca vic dng Ajax, v vy thit lp tham s ny gi tr false thay i mc ch vic s dng XMLHttpRequest. Ta thy n rt hu ch trong mt s trng hp chng hn nh chng thc ngi dng (validating user) trong khi trang web ca khng h b thay i. Hai tham s cui ty chn, cho php s dng username v password.

void send(content) Phng thc ny thc hin gi request ti server. Nu request

c khai bo bt ng b, kt qu c tr v ngay, cn khng n s i cho ti khi nhn c response t server.Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 70 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Tham s c th l mt th hin ca mt i tng DOM, mt lung d liu vo (input stream), hay mt kiu string. Ni dung truyn cho phng thc ny c gi i nh mt phn trongvoid setRequestHeader (string header, string value)

request. Phng thc thit lp gi tr cho phn header cho trong HTTP request. Tham s bao gm mt bin kiu string biu th header c thit lp v mt string khc biu din gi tr thay th trong header. Ch l n cn phi c gi trc khi gi n open(). Trong hu ht cc phng thc th cp open() v send() thng xuyn c gi. Phng thc ny rt d hiu, n s hy Request. Tr v mt bin kiu string cha response header ca HTTP URI. Phng thc ny tng t nh getAllResponseHeaders(); ngoi tr vic n nhn mt tham s biu din gi tr xc nh

void abort() string

getAllResponseHead request. Header bao gm cc trng Content-Length, Date, v ers() string getResponseHeader (string header)

header m ta cn n bt, gi tr tr v cng c kiu string Bng 2.4 M t chi tit cc phng thc ca XmlHttpRequest

Phn tch cc c tnh - S tng tc Xt mt v d tm hiu cc tng tc ca Ajax. Hnh sau cho thy m hnh tng tc chun trong mt ng dng Ajax.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 71 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

Hnh 2.21 - M hnh tng tc chun trong mt ng dng Ajax Khng ging nh cc cch tip cn kiu request/response thng thng trong cc chun Web client, mt ng dng Ajax c nhng khc bit, sau y l m t qu trnh tng tc: Mt event client-side gy ra mt s kin - Ajax event. Bt k mt tc ng no cng c th gy ra Ajax event, t mt s kin onchange n gin cho n mt s tc ng ca ngi dng. V d vi on m sau:

Mt th hin ca XMLHttpRequest c to ra. Dng phng thc open(), to li gi hm - a ch URL c thit lp cng vi phng thc HTTP yu cu, thng thng l GET hay POST. Request c to ra qua vic gi phng thc send(). on m ngun sau th hin iu :var xmlHttp; function validateEmail() { var email = document.getElementById("email"); var url = "validate?email=" + escape(email.value); if (window.ActiveXObject) Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn Trang 72 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");} else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest();} xmlHttp.open("GET", url); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); }

Mt request c to v gi n server. C th l mt li gi ti mt servlet, mt CGI script, hay mt cng ngh pha server no tng t nh ASP.NET, JSP, hay PHPServer x l cc yu cu, chng hn nh truy cp c s d liu hay mt tc v h thng no y. Response c tr v cho trnh duyt. Trng Content-Type c thit lp dng text/xml; XMLHttpRequest ch c th x l kt qu dng text/html. Trong cc th hin phc tp hn, response kh rc ri v bao gm JavaScript, cc thao tc trn i tng DOM, hoc cc cng ngh lin quan khc. Ch l cng cn thit lp header v th trnh duyt s khng lu kt qu mt cch cc b. Ta s lm nh sau:response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache");

Trong v d sau, cu hnh XMLHttpRequest gi hm callback() khi kt qu x l c tr v. Hm ny kim tra thuc tnh readyState trn i tng XMLHttpRequest v sau xem xt m trng thi tr v t server. Mi th hon ton bnh thng, hm callback() c th lm nhiu vic trn pha client. Mt phng thc callback thng c dng sau:function callback() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //do something interesting here } } } Trang 73 / 100 MSSV: 0311967 MSSV: 0310161

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii php Ch in t

C mt s khc bit vi m hnh request/response thng thng. Phi xem xt thm v vic to v thit lp mt i tng XMLHttpRequest v sau (hm) callback s kim tra cc trng thi. Thng th cc li gi chun ny c ng gi vo mt th vin dng trong ng dng, hay ni cch khc l dng mt th vin c sn thc thi Ajax cho ng dng Web. Hu ht cc framework v toolkit Ajax trn cc trang Web u dng cc k thut c bn v tru tng ha cc trnh duyt, v thm vo mt s component giao din ngi dng (UI). Mt s l cc framework thun client; cn li lm vic trn server. Nhiu framework trong s ny mi c bt u xy dng, nhng chng lin tc c cc phin bn v c thn cc th vin mi. Mt s gii php thc thi Ajax l cc th vin Ajax.NET, Atlas, libXmlRequest, RSLite, sarissa, JavaScript Object Notation (JSON), JSRS, Direct Web Remoting (DWR), v Ruby on Rails GET v POST GET: Trn l thuyt, s dng GET khi request khng thay i gi tr, tc l nhiu request s tr v cng kt qu. Trong thc t, nu phng thc tng ng server thay i trng thi theo mt vi cch, th iu ny khng cn ng na. iu ny c ngha, n l mt chun. Tm li, dng GET truy lc d liu t server; hay ni cch khc trnh c vic thay i trng thi trn vi li gi GET. POST: Phng thc POST c dng khi mun thay i trng thi trn server. Khng ging nh GET, phi thit lp phn Content-Type header trn i tng XMLHttpRequest nh sau:xmlHttp.setRequestHeader("Content-Type","application/x-www-formurlencoded");

POST khng hn ch kch thc ca payload c gi ti server, v POST request khng cn bo m tnh khng i.

Nhm SVTH: T Hong Thng Bi Nguyn Thanh Yn

Trang 74 / 100 MSSV: 0311967 MSSV: 0310161

Trng i Hc Lt Khoa Cng Ngh Thng Tin

Kha lun tt nghip k s CNTT K27 Xy dng v trin khai gii