Xây dựng Web site khối phổ thông chuyên Toán - Tin trường Đại học Sư phạm Hà Nội

Tài liệu Xây dựng Web site khối phổ thông chuyên Toán - Tin trường Đại học Sư phạm Hà Nội: ... Ebook Xây dựng Web site khối phổ thông chuyên Toán - Tin trường Đại học Sư phạm Hà Nội

doc104 trang | Chia sẻ: huyen82 | Lượt xem: 1278 | Lượt tải: 0download
Tóm tắt tài liệu Xây dựng Web site khối phổ thông chuyên Toán - Tin trường Đại học Sư phạm Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giíi thiÖu ®Ò tµi §Ò tµi “ X©y dùng Web site khèi phæ th«ng chuyªn To¸n-Tin tr­êng ®¹i häc S­ ph¹m Hµ néi” ra ®êi nh»m môc ®Ých phôc vô cho viÖc qu¶n lý th«ng tin cña gi¸o viªn vµ häc sinh còng nh­ viÖc t×m hiÓu th«ng tin cña häc sinh cò vÒ khèi. Thùc chÊt ®©y lµ mét bµi to¸n qu¶n lÝ trªn Web. Nh­ vËy, Web site nµy kh«ng ®¬n gi¶n lµ cung cÊp th«ng tin mµ nã ph¶i cã kh¶ n¨ng xö lý d÷ liÖu, tr¶ kÕt qña ®éng vÒ cho m¸y kh¸ch. Mäi ng­êi cã thÓ t×m hiÓu th«ng tin vÒ khèi, trao ®æi th¶o luËn víi nhau th«ng qua diÔn ®µn, ... Ngoµi nh÷ng chøc n¨ng trªn th× em ®· ®­a vµo trang qu¶n lÝ nhiÒu chøc n¨ng phôc vô cho ng­êi qu¶n trÞ Web site, më ra kh¶ n¨ng lµm viÖc th«ng qua m¹ng. Ng­êi qu¶n trÞ cã kh¶ n¨ng ngåi ë nhµ cã thÓ truy cËp vµo trang qu¶n lý cña m×nh (cã mËt khÈu riªng vµ ®Þa chØ URL kh¸c) ®Ó thay ®æi, cËp nhËt th«ng tin vÒ ®iÓm, ... VÒ néi dung b¸o c¸o chia lµm 5 ch­¬ng nh­ sau: Ch­¬ng 1 M¹ng m¸y tÝnh vµ Internet: ®­a ra c¸c kh¸i niÖm vÒ m¹ng m¸y tÝnh nh­ m¹ng m¸y tÝnh lµ g×, m« h×nh OSI, giao thøc TCP/IP, ... Giíi thiÖu Internet , Interanet vµ c¸c øng dông cña nã. Ch­¬ng 2 Tæng quan vÒ CSDL - VÊn ®Ò tÝch hîp Web víi CSDL: tr×nh bµy c¸c kiÕn thøc c¬ b¶n vÒ CSDL. Nghiªn cøu c¸c gi¶i ph¸p tÝch hîp Web víi CSDL phôc vô cho viÖc x©y dùng Web database. Ch­¬ng 3 C«ng nghÖ ASP: Nªu ra vÊn ®Ò lùa chän c«ng nghÖ thùc hiÖn ®Ò tµi. Tr×nh bµy ASP vµ c«ng nghÖ ®­îc sö dông trong ®Ò tµi. Ch­¬ng 4 Ph©n tÝch vµ thiÕt kÕ hÖ thèng: §i s©u vµo viÖc x©y dùng ®Ò tµi. Ch­¬ng 5 Giíi thiÖu ch­¬ng tr×nh: H­íng dÉn cµi ®Æt, triÓn khai ch­¬ng tr×nh. Nªu lªn c¸c mÆt m¹nh vµ h¹n chÕ cña ch­¬ng tr×nh. Em ®· cè hÕt søc ®Ó hoµn thµnh ®Ò tµi ë møc tèt nhÊt cã thÓ. Tuy nhiªn, do thêi gian thùc hiÖn ®Ò tµi kh«ng ph¶i lµ dµi vµ khèi l­îng c«ng viÖc l¹i lín. MÆt kh¸c, tr­íc khi nhËn ®Ò tµi, nghiÖp vô x©y dùng Web cßn rÊt míi ®èi víi em nªn em ph¶i nghiªn cøu nhiÒu vÒ vÊn ®Ò vÒ lý thuyÕt nªn ch­¬ng tr×nh cßn nhiÒu thiÕu sãt, h¹n chÕ, em rÊt mong ®­îc sù chØ b¶o, gãp ýcña thµy c« gi¸o vµ c¸c b¹n ®Ó em cã thÓ n©ng cÊp ch­¬ng tr×nh hoµn thiÖn h¬n. Em xin ch©n thµnh c¶m ¬n! Lêi c¸m ¬n Tr­íc tiªn, em xin ch©n thµnh c¶m ¬n Tiến sĩ Phan Trung Huy ®· tËn t×nh h­íng dÉn vµ gióp ®ì em trong qu¸ tr×nh lµm ®å ¸n tèt nghiÖp. Em còng xin c¶m ¬n sù gióp ®ì cña thµy Do·n Minh C­êng ®· gióp ®ì em vÒ mÆt t­ liÖu ®Ó hoµn thµnh ®Ò tµi. Xin c¶m ¬n sù gãp ý quý b¸u cña b¹n bÌ cïng líp ®· quan t©m vµ chia sÎ khã kh¨n trong qu¸ tr×nh thùc hiÖn ®Ò tµi. Nh©n ®©y, em còng xin bµy tá lßng biÕt ¬n ®èi víi c¸c thµy, c« gi¸o trong khoa To¸n øng dông nãi riªng vµ c¸c thµy c« gi¸o cña tr­êng §¹i häc B¸ch Khoa Hµ néi nãi chung ®· truyÒn ®¹t kiÕn thøc cho em trong suèt 5 n¨m häc tËp t¹i tr­êng. Nh÷ng kiÕn thøc ®ã lµ hµnh trang kh«ng thÓ thiÕu cïng em trong qu¸ tr×nh c«ng t¸c sau nµy. §­îc trë thµnh sinh viªn cña tr­êng §¹i häc B¸ch Khoa Hµ néi lµ niÒm vinh dù lín ®èi víi em vµ em cè g¾ng phÊn ®Êu häc tËp vµ lao ®éng ®Ó xøng ®¸ng víi niÒm vinh dù ®ã. Ch­¬ng 1. M¹ng m¸y tÝnh vµ internet 1.1. M¹ng m¸y tÝnh. 1.1.1. Kh¸i niÖm vÒ m¹ng m¸y tÝnh. M¹ng m¸y tÝnh lµ mét tËp hîp c¸c m¸y tÝnh ®­îc nèi víi nhau bëi c¸c ®­êng truyÒn vËt lý theo mét kiÕn tróc nµo ®ã . §­êng truyÒn vËt lý dïng ®Ó chuyÓn c¸c tÝn hiÖu ®iÖn tö gi÷a c¸c m¸y tÝnh. C¸c tÝn hiÖu ®iÖn tö ®ã biÓu thÞ c¸c gi¸ trÞ d÷ liÖu d­íi d¹ng c¸c xung nhÞ ph©n (on - off). TÊt c¶ c¸c d÷ liÖu ®­îc truyÒn gi÷a c¸c m¸y tÝnh ®Òu thuéc mét d¹ng sãng ®iÖn tõ (EM) nµo ®ã, tr¶i qua c¸c tÇn sè radio tíi sãng cùc ng¾n (viba) vµ tia hång ngo¹i. Tuú theo tÇn sè sãng ®iÖn tõ cã thÓ dïng c¸c ®­êng truyÒn vËt lý kh¸c nhau ®Ó truyÒn c¸c tÝn hiÖu. KiÕn tróc m¹ng m¸y tÝnh thÓ hiÖn c¸ch nèi c¸c m¸y tÝnh víi nhau ra sao vµ tËp hîp tÊt c¶ c¸c quy t¾c, quy ­íc mµ tÊt c¶ c¸c thùc thÓ tham gia truyÒn th«ng trªn m¹ng ph¶i tu©n theo ®Ó cho m¹ng ho¹t ®éng tèt. C¸ch nèi c¸c m¸y tÝnh ®­îc gäi lµ h×nh tr¹ng (topolopy) cña m¹ng (gäi t¾t lµ topo). Cßn c¸c tËp quy t¾c, quy ­íc truyÒn th«ng th× ®­îc gäi lµ giao thøc (protocol) cña m¹ng. 1.1.2. M« h×nh m¹ng OSI. Khi thiÕt kÕ m¹ng, c¸c nhµ thiÕt kÕ tù do lùa chän kiÕn tróc m¹ng cña m×nh. Tõ ®ã dÉn ®Õn t×nh tr¹ng kh«ng t­¬ng thÝch gi÷a c¸c m¹ng: ph­¬ng ph¸p truy nhËp ®­êng dÉn kh¸c nhau, sö dông hä giao thøc kh¸c nhau .. . Sù kh«ng t­¬ng thÝch ®ã lµ trë ng¹i cho sù t­¬ng t¸c cña ng­êi sö dông c¸c m¹ng kh¸c nhau. Nhu cÇu trao ®æi th«ng tin cµng lín th× trë ng¹i ®ã cµng kh«ng thÓ chÊp nhËn ®­îc víi ng­êi sö dông. Sù thóc b¸ch cña kh¸ch hµng ®· khiÕn cho c¸c nhµ s¶n xuÊt vµ c¸c nhµ nghiªn cøu – th«ng qua c¸c tæ chøc chuÈn ho¸ quèc gia vµ quèc tÕ – tÝch cùc t×m kiÕm mét sù héi tô cho c¸c s¶n phÈm m¹ng trªn thÞ tr­êng. V× lý do trªn, vµo n¨m 1984 Tæ chøc tiªu chuÈn ho¸ ISO ®· x©y dùng mét m« h×nh tham chiÕu cho viÖc kÕt nèi ®Õn c¸c hÖ thèng më (Reference Model for Open Systems Interconnection hay gän h¬n: ISO Reference Model) ®Ó lµm chuÈn cho c¸c nhµ thiÕt kÕ vµ chÕ t¹o c¸c s¶n phÈm vÒ m¹ng. M« h×nh nµy gåm b¶y tÇng nh­ sau: Sending Application Receiver Application APPLICATION LAYER presentation LAYER session LAYER transport LAYER datalink LAYER network LAYER physical LAYER APPLICATION LAYER presentation LAYER session LAYER Transport LAYER Datalink LAYER network LAYER physical LAYER H×nh 1.1. M« h×nh m¹ng OSI Application layer: chøa c¸c dÞch vô phôc vô cho ng­êi dïng nh­ truyÒn nhËn file hay email, ... Presentation layer: chøa c¸c dÞch vô vÒ thao t¸c d÷ liÖu nh­ nÐn, gi¶i nÐn, ... CÊp nµy kh«ng cã c¸c dÞch vô th«ng tin cña riªng nã. Session layer: chøa c¸c dÞch vô cho phÐp trao ®æi th«ng tin gi÷a c¸c qu¸ tr×nh, t¹o vµ kÕt thóc kÕt nèi cña c¸c qu¸ tr×nh trªn c¸c m¸y kh¸c nhau. Transport layer: chøa c¸c dÞch vô t×m vµ söa lçi nh»m b¶o ®¶m tÝnh ®óng ®¾n cña d÷ liÖu nhËn. Network layer: qu¶n lý viÖc kÕt nèi trong m¹ng liªn quan ®Õn ®Þa chØ cña m¸y tÝnh göi vµ m¸y tÝnh nhËn còng nh­ sù t¾c nghÏn giao th«ng cña m¹ng. Datalink layer: b¶o ®¶m c¸c gãi d÷ liÖu ®­îc göi ®i th«ng qua m¹ng vËt lý. Physical layer: phôc vô cho viÖc göi c¸c d÷ liÖu lµ c¸c bÝt th« th«ng qua kªnh truyÒn. Do ®Æc tÝnh cña m« h×nh OSI, d÷ liÖu göi ph¶i ®i qua tÊt c¶ 14 cÊp ®Ó ®Õn ®­îc ch­¬ng tr×nh nhËn. ë mçi cÊp, d÷ liÖu sÏ bÞ trÔ mét kho¶ng thêi gian. §iÒu nµy lµm gi¶m hiÖu suÊt cña m¹ng. M« h×nh TCP/IP cã ­u ®iÓm h¬n vµ hiÖn ®ang ®­îc sö dông réng r·i. 1.1.3. Hä giao thøc TCP/IP. N¨m 1970, Vint Cerf vµ Robert Kahn ®· ®­a ra viÖc thiÕt kÕ chi tiÕt cho mét protocol ®Ó liªn l¹c gi÷a c¸c m¹ng kh¸c nhau. §Õn n¨m 1982, viÖc thiÕt kÕ nµy ®­îc cµi ®Æt réng r·i vµ ®­îc gäi lµ TCP/IP (Transmission control protocol). TCP/IP gåm bèn líp ®­îc m« t¶ b»ng h×nh sau: Application layer HTTP, FTP, Telnet, smtp Transport layer Tcp, udp Network layer Ip Physical layer Ethernetx.25, token ring Sending Data Receiving Data H×nh 1.2. KiÕn tróc TCP/IP Application layer: chøa c¸c øng dông cã sö dông m¹ng. Líp nµy t­¬ng øng víi hai líp trªn cïng ( application vµ presentation layer) cña m« h×nh OSI. Transport layer: cung cÊp c¸c dÞch vô truyÒn nhËn d÷ liÖu gi÷a c¸c qu¸ tr×nh víi nhau. C¸c qu¸ tr×nh nµy cã thÓ trao ®æi th«ng tin víi nhau th«ng qua ®Þa chØ cña m¸y tÝnh göi/ nhËn vµ cæng th«ng tin. CÊp nµy t­¬ng øng víi hai cÊp kÕ tiÕp (session vµ transport layer) cña m« h×nh OSI. Network layer: ®¶m nhËn viÖc x¸c ®Þnh, t×m ®­êng vµ ph©n phèi c¸c gãi th«ng tin tíi ®Þa chØ ®Ých. Network layer trong m« h×nh TCP/IP t­¬ng øng víi hai líp network vµ datalink cña m« h×nh OSI. Physical layer: sö dông c¸c giao tiÕp chuÈn hiÖn cã nh­ Ethernet, Tokenring, .. ®Ó phôc vô cho viÖc göi vµ nhËn d÷ liÖu. TCP lµ giao thøc truyÒn ®iÒu khiÓn “cã liªn kÕt”, nã göi tõng gãi d÷ liÖu ®i, n¬i nhËn d÷ liÖu theo giao thøc nµy ph¶i cã tr¸ch nhiÖm th«ng b¸o vµ kiÓm tra d÷ liÖu ®· ®ñ hay ch­a, cã lçi hay kh«ng cã lçi, nÕu d÷ liÖu bÞ mÊt hay háng TCP sÏ yªu cÇu göi l¹i d÷ liÖu cho ®Õn khi hÕt c¸c lçi. Tr­íc khi truyÒn d÷ liÖu bao giê còng cã sù kÕt nèi gi÷a m¸y göi vµ m¸y nhËn (do ®ã míi gäi lµ “cã liªn kÕt”). TruyÒn d÷ liÖu theo TCP ®¶m b¶o viÖc truy cËp, truyÒn d÷ liÖu trªn m¹ng lµ kh«ng mÊt m¸t. Nã thÝch hîp cho c¸c øng dông ®ßi hái ®é tin cËy khi truyÒn d÷ liÖu, nh­ng l¹i kh«ng thÝch hîp cho c¸c øng dông ®ßi hái l­u th«ng trªn m¹ng réng r·i. Muèn göi gãi d÷ liªu (datagram) ®Õn nhiÒu ®Ých, TCP ph¶i thiÕt lËp ®Õn mét m¹ch ¶o. §©y lµ mét tiÕn tr×nh tiªu thô thêi gian vµ tËp trung tµi nguyªn. §èi víi c¸c øng dông phô thuéc vµo viÖc truyÒn réng r·i, UDP lµ mét giao thøc líp vËn chuyÓn thÝch hîp h¬n. UDP cã thÓ truyÒn d÷ liÖu mµ kh«ng ®ßi hái ph¶i thiÕt lËp mét m¹ch d÷ liÖu. Mçi ®¬n vÞ d÷ liÖu ®­îc gëi víi mét ®Þa chØ nguån vµ ®Ých ®Çy ®ñ vµ chØ sè cæng liªn quan cho viÖc truyÒn d÷ liÖu. UDP lµ mét giao thøc vËn chuyÓn “kh«ng liªn kÕt”v× nã kh«ng sö dông mét kÕt nèi ®­îc thiÕt lËp ®Ó truyÒn d÷ liÖu vµ nã còng kh«ng cã c¬ chÕ ®Ó kiÓm tra d÷ liÖu. UDP cã xu thÕ ho¹t ®éng nhanh h¬n TCP. Tuy nhiªn, UDP kh«ng b¶o ®¶m r»ng ®Õn theo thø tù nã ®­îc göi. Mét thuËn lîi lín cña UDP so víi TCP lµ giao thøc nµy thÝch hîp cho nh÷ng øng dông ®­îc truyÒn réng r·i. Mét gãi d÷ liÖu cã thÓ truyÒn trªn m¹ng b»ng c¸ch x¸c ®Þnh mét ®Þa chØ truyÒn réng r·i (broadcast address) trªn ®Þa chØ ®Ých. IP lµ giao thøc liªn m¹ng cung cÊp kh¶ n¨ng kÕt nèi c¸c m¹ng con thµnh liªn m¹ng ®Ó truyÒn d÷ liÖu. Vai trß cña IP t­¬ng tù giao thøc tÇng m¹ng trong m« h×nh OSI, nã gi¶i m· c¸c ®Þa chØ vµ t×m ®­êng ®Ó ®­a d÷ liÖu ®Õn ®Ých. TCP/IP cã nh÷ng ®Æc ®iÓm sau ®©y – nh÷ng ®Æc ®iÓm ®· lµm nã trë nªn phæ biÕn: TÝnh ®éc lËp vÒ topolopy cña m¹ng: TCP/IP ®­îc dïng trªn m¹ng bus, rimg vµ star. Nã cã thÓ dïng trong m¹ng côc bé (LAN) còng nh­ m¹ng diÖn réng (WAN). TÝnh ®éc lËp vÒ phÇn cøng m¹ng: TCP/IP cã thÓ dïng Ethernet, tokenring, ... ChuÈn nghi thøc më: Víi chuÈn TCP/IP cã thÓ hiÖn thùc trªn bÊt kú phÇn cøng hay hÖ ®iÒu hµnh nµo. Do ®ã, TCP/IP lµ tËp nghi thøc lý t­ëng ®Ó kÕt hîp phÇn cøng còng nh­ phÇn mÒm kh¸c nhau. S¬ ®å ®Þa chØ toµn cÇu: mçi m¸y tÝnh trªn m¹ng TCP/IP cã mét ®ia chØ x¸c ®Þnh duy nhÊt. Mçi packed d÷ liÖu ®­îc göi trªn m¹ng TCP/IP cã mét header gåm ®Þa chØ cña m¸y ®Ých còng nh­ ®Þa chØ cña m¸y nguån. Khung Client-Server: TCP/IP lµ khung cho nh÷ng øng dông client-server m¹nh ho¹t ®éng trªn m¹ng côc bé vµ m¹ng diÖn réng. ChuÈn nghi thøc øng dông: TCP/IP kh«ng chØ cung cÊp cho mäi ng­êi lËp tr×nh ph­¬ng thøc truyÒn d÷ liÖu trªn m¹ng gi÷a c¸c øng dông mµ cßn cung cÊp nhiÒu nghi thøc ë møc øng dông (nh÷ng nghi thøc hiÖn thùc c¸c chøc n¨ng th­êng dïng nh­ email, truyÒn nhËn file). 1.2. INTERNET. 1.2.1. Giíi thiÖu vÒ internet. Internet lµ mét m¹ng m¸y tÝnh cã ph¹m vi toµn cÇu bao gåm nhiÒu m¹ng nhá còng nh­ c¸c m¸y tÝnh riªng lÎ ®­îc kÕt nèi víi nhau ®Ó cã thÓ liªn l¹c vµ trao ®æi th«ng tin. Trªn quan ®iÓm Client/ Server th× cã thÓ xem lµ Internet nh­ lµ m¹ng cña c¸c m¹ng cña c¸c Server, cã thÓ truy xuÊt bëi hµng triÖu Client. ViÖc chuyÓn vµ nhËn th«ng tin trªn Internet ®­îc thùc hiÖn b»ng giao thøc TCP/IP ( tr×nh bµy ë phÇn 1.3) Internet b¾t nguån tõ APANET trùc thuéc Bé quèc phßng Mü vµ ®­îc më réng cho c¸c viÖn nghiªn cøu, sau nµy ®­îc ph¸t triÓn cho hµng triÖu ng­êi cïng sö dông nh­ ngµy h«m nay. Ban ®Çu c¸c nhµ nghiªn cøu liªn l¹c víi nhau qua m¹ng b»ng dÞch vô th­ ®iÖn tö, sau ®ã ph¸t sinh thªm mét sè m¹ng m¸y tÝnh nh­ m¹ng Usernet, ngµy nay lµ dÞch vô b¶ng tin ®iÖn tö. M¹ng nµy ®­îc thiÕt lËp lÇn ®Çu tiªn ë University of North Carolina, mµ qua ®ã ng­êi dïng cã thÓ göi vµ ®äc c¸c th«ng ®iÖp theo c¸c ®Ò tµi tù chän. ë viÖt Nam th× m¹ng TrÝ TuÖ ViÖt Nam cña c«ng ty FPT lµ m¹ng ®Çu tiªn ®­îc x©y dùng theo d¹ng b¶ng tin ®iÖn tö. C¸c nhµ khoa häc kh¾p n¬i trªn thÕ giíi tham gia vµo hÖ thèng th«ng tin më nµy, nh÷ng ng­êi dïng víi môc ®Ých th­¬ng m¹i vµ c«ng chóng còng tham gia vµo hÖ thèng nµy th«ng qua c¸c nhµ cung cÊp dÞch vô Internet. V× thÕ g©y ra sù ph¸t triÓn bïng næ th«ng tin liªn l¹c toµn cÇu qua m¹ng m¸y tÝnh. §ã chÝnh lµ m¹ng Internet hiÖn nay. 1.2.2. C¸c dÞch vô th«ng tin trªn Internet. Cïng víi TCP/IP, c¸c chuÈn cho tÇng øng dông còng ®­îc ph¸t triÓn ngµy cµng phæ biÕn trªn Internet. C¸c øng dông cã sím nhÊt lµ Telnet, FTP, SMTP vµ DNS ®· trë thµnh nh÷ng dÞch vô th«ng tin quen thuéc trªn Internet. Víi sù ph¸t triÓn cña c«ng nghÖ th«ng tin vµ nhu cÇu x· héi, danh s¸ch c¸c dÞch vô th«ng tin trªn Internet ngµy cµng dµi thªm víi sù ®ãng gãp s¶n phÈm cña nhiÒu nhµ cung cÊp dÞch vô kh¸c nhau. Sau ®©y lµ mét vµi dÞch vô ®iÓn h×nh nhÊt: 1.2.2.1. DÞch vô tªn miÒn (DNS) ViÖc ®Þnh danh c¸c phÇn tö cña liªn m¹ng b»ng c¸c con sè nh­ trong ®Þa chØ IP râ rµng kh«ng lµm cho ng­êi sö dông hµi lßng bëi chóng khã nhí, dÔ nhÇm lÉn. V× thÕ ng­êi ta ®· x©y dùng hÖ thèng ®Æt tªn cho c¸c phÇn tö cña Internet, cho phÐp ng­êi dïng chØ cÇn nhí c¸c tªn chø kh«ng cÇn nhí ®Þa chØ IP n÷a. Còng gièng nh­ ®Þa chØ IP, tªn mçi m¸y tÝnh trªn m¹ng ph¶i lµ duy nhÊt. Ngoµi ra cÇn ph¶i cã c¸ch ®Ó chuyÓn ®æi t­¬ng øng gi÷a c¸c tªn vµ c¸c ®Þa chØ sè. §èi víi mét mét liªn m¹ng tÇm cì toµn cÇu nh­ Internet ph¶i cã mét hÖ thèng ®Æt tªn trùc tuyÕn vµ ph©n t¸n thÝch hîp. HÖ thèng nµy ®­îc gäi lµ DNS ( Domain Name System). §©y lµ mét ph­¬ng ph¸p qu¶n lý c¸c tªn b»ng c¸ch giao tr¸ch nhiÖm ph©n cÊp cho c¸c nhãm tªn. Mçi cÊp trong hÖ thèng ®­îc gäi lµ mét miÒn ( domain), c¸c miÒn ®­îc t¸ch nhau bëi dÊu chÊm. VÝ dô: java.sun.com. 1.2.2.2. §¨ng nhËp tõ xa (Telnet) Telnet cho phÐp ng­êi sö dông tõ mét tr¹m lµm viÖc cña m×nh cã thÓ ®¨ng nhËp vµo mét tr¹m ë xa qua m¹ng vµ lµm viÖc víi hÖ thèng y nh­ lµ mét tr¹m cuèi nèi trùc tiÕp víi tr¹m tõ xa ®ã. §Ó khëi ®éng Telnet, tõ tr¹m lµm viÖc cña m×nh ng­êi sö dông chØ viÖc gâ: telnet Sau ®ã, nÕu m¹ng ho¹t ®éng tèt th× ng­êi sö dông chØ viÖc lµm theo c¸c th«ng b¸o hiÓn thÞ trªn mµn h×nh. Telnet cã mét tËp lÖnh ®iÒu khiÓn hç trî cho qu¸ tr×nh thùc hiÖn. 1.2.2.3. TruyÒn tÖp (FTP). DÞch vô truyÒn tÖp trªn Internet ®­îc ®Æt tªn theo giao thøc mµ nã sö dông lµ FTP ( File Transfer Protocol). FTP cho phÐp chuyÓn c¸c tÖp tõ mét tr¹m nµy sang tr¹m kh¸c, bÊt kÓ c¸c tr¹m ®ã ë ®©u vµ sö dông hÖ ®iÒu hµnh g×, chØ cÇn chóng ®­îc nèi Internet vµ cµi ®Æt FTP. §Ó khëi ®éng FTP, tõ tr¹m lµm viÖc cña m×nh ta chØ cÇn gâ: ftp FTP sÏ thiÕt lËp liªn kÕt víi tr¹m ë xa vµ lóc ®ã ta sÏ ph¶i lµm c¸c thao t¸c ®Ó ®¨ng nhËp hÖ thèng. Sau khi trªn mµn h×nh hiÓn thÞ dÊu nh¾c ftp> ta cã thÓ gâ tiÕp c¸c lÖnh cho phÐp truyÒn tÖp theo c¶ hai chiÒu. Trong tr­êng hîp kh«ng cã account th× ta kh«ng thÓ sö dông nh­ trªn ®­îc. Tuy nhiªn, c¸c t¸c gi¶ FTP ®¨ cung cÊp mét dÞch vô gäi lµ “ FTP v« danh” ( anonymuos FTP) cho phÐp nh÷ng ng­êi kh«ng cã account cã thÓ truy cËp tíi mét sè tÖp nhÊt ®Þnh. Khi sö dông ch­¬ng tr×nh FTP ®Ó kÕt nèi vµo mét anonymous FTP host, nã ho¹t ®éng gièng nh­ nghi thøc FTP, ngo¹i trõ khi nã ®ßi hái mét User ID, ®ã lµ anonymous. Khi nã ®ßi hái password, chóng ta ®¸nh vµo mét x©u ký tù bÊt kú. Khi ng­êi qu¶n trÞ hÖ thèng cµi ®Æt mét m¸y tÝnh nh­ lµ mét anonymous FTP host, ®Þnh râ nh÷ng th­ môc dïng cho viÖc truy cËp chung. Nh­ mét biÖn ph¸p an toµn, hÇu hÕt nh÷ng anonymous FTP host cho phÐp User download file, nh­ng kh«ng cho phÐp upload file ( chÐp lªn Server). 1.2.2.4. Th­ ®iÖn tö ( Email). §©y lµ mét trong nh÷ng dÞch vô th«ng tin phæ biÕn nhÊt trªn Internet hiÖn nay. Tuy nhiªn, kh¸c víi c¸c dÞch vô DNS, Telnet, FTP, th­ ®iÖn tö kh«ng ph¶i lµ dÞch vô “tõ ®Çu - ®Õn cuèi” (end to end), nghÜa lµ m¸y göi th­ vµ m¸y nhËn th­ kh«ng cÇn thiÕt ph¶i liªn kÕt trùc tiÕp víi nhau ®Ó thùc hiÖn viÖc chuyÓn th­. Nã lµ dÞch vô kiÓu “ l­u vµ chuyÓn tiÕp” (Store and Forward). Th­ ®iÖn tö ®­îc chuyÓn tõ m¸y nµy sang m¸y kh¸c cho ®Õn m¸y ®Ých ( gièng nh­ trong hÖ thèng b­u chÝnh th«ng th­êng: th­ ®­îc chuyÓn ®Õn tay ng­êi nhËn sau khi ®i qua mét sè b­u côc trung chuyÓn). H×nh sau cho s¬ ®å vÝ dô ho¹t ®éng cña m¹ng th­ ®iÖn tö: Mçi ng­êi dïng ( Client) ®Òu ph¶i kÕt nèi víi mét Email Server gÇn nhÊt ( ®ãng vai trß b­u côc ®Þa ph­¬ng). Sau khi so¹nh th¶o xong th­ vµ ®Ò râ ®Þa chØ ®Ých ( ng­êi nhËn), ng­êi sö dông sÏ göi th­ ®Õn Email Server cña m×nh ®· ®¨ng ký. Email Server nµy cã nhiÖm vô chuyÓn th­ ®Õn ®Ých hoÆc ®Õn mét Email Server trung gian kh¸c. Th­ sÏ chuyÓn ®Õn Email Server cña ng­êi nhËn vµ ®­îc l­u t¹i ®ã. §Õn khi ng­êi nhËn thiÕt lËp mét kÕt nèi ®Õn Email Server ®ã th× th­ sÏ ®­îc chuyÓn vÒ m¸y cña ng­êi nhËn, nÕu kh«ng th× th­ vÉn tiÕp tôc ®­îc gi÷ t¹i Server ®Ó ®¶m b¶o kh«ng bÞ mÊt th­. Giao thøc truyÒn thèng sö dông cho hÖ thèng ®iÖn tö cña Internet lµ SMTP ( Simple Mail Transfer Prot«cl). Giao thøc nµy ®­îc ®Æc t¶ trong hai chuÈn lµ RFC 822 ( ®Þnh nghÜa cÊu tróc cña th­) vµ RFC 821 ( ®Æc t¶ trao ®æi th­ gi÷a hai tr¹m cña m¹ng). HÖ thèng ®Þa chØ th­ ®iÖn tö trªn Internet kh«ng chØ ®Þnh danh cho c¸c host cña m¹ng mµ ph¶i x¸c ®Þnh râ ng­êi sö dông trªn c¸c host ®ã ®Ó trao ®æi th­. D¹ng tæng qu¸t cña ®Þa chØ Email lµ: Login-name@host-name VÝ dô: hoanhn@yahoo.com 1.2.2.5. Nhãm tin ( New groups) §©y lµ dÞch vô cho phÐp nhiÒu ng­êi sö dông ë nhiÒu n¬i kh¸c nhau cã cïng mèi quan t©m cã thÓ tham gia vµo mét “nhãm tin” vµ trao ®æi c¸c vÊn ®Ò quan t©m cña m×nh th«ng qua c¸c nhãm tin nµy. Cã thÓ cã nhiÒu nhãm tin kh¸c nhau nh­: nhãm tin vÒ nh¹c cæ ®iÓn, nhãm tin vÒ héi ho¹, ... Trong mçi nhãm tin cã thÓ cã nhiÒu néi dung th¶o luËn kh¸c nhau. Tªn nhãm tin ®­îc cÊu tróc theo kiÓu ph©n cÊp, c¸c cÊp ph©n c¸ch bëi mét dÊu chÊm. VÝ dô: Rec. music. Classic Trªn Internet cã nhiÒu Server tin kh¸c nhau, trong ®ã tin tøc ®­îc thu thËp tõ nhiÒu nguån kh¸c nhau. C¸c Server tin còng cã thÓ t¹o c¸c nhãm tin côc bé ®¸p øng nhu cÇu cña ng­êi sö dông. Ng­êi sö dông t­¬ng t¸c víi mét Server tin th«ng qua mét ch­¬ng tr×nh ®­îc ®Æt tªn lµ ch­¬ng tr×nh ®äc tin (News Reader). Vµ ng­êi sö dông chØ biÕt ®Õn mét Server tin duy nhÊt, ®ã lµ Server mµ m×nh kÕt nèi vµo. Mäi sù trao ®æi, t­¬ng t¸c gi÷a c¸c Server tin vµ c¸c nhãm tin hoµn toµn “trong suèt” ®èi víi ng­êi sö dông. Víi dÞch vô nµy, mét ng­êi sö dông cã thÓ nhËn ®­îc c¸c th«ng tin mµ m×nh quan t©m cña nhiÒu ng­êi tõ kh¾p n¬i, ®ång thêi cã thÓ göi th«ng tin cña m×nh ®i cho nh÷ng ng­êi nµy. 1.2.2.6. T×m kiÕm tÖp (Archie). Archie lµ mét dÞch vô Internet cho phÐp t×m kiÕm theo chØ sè (index) c¸c tÖp kh¶ dông trªn c¸c Server c«ng céng (Archie Server) cña m¹ng. Ng­êi sö dông cã thÓ yªu cÇu Archie t×m c¸c tÖp cã chøa mét x©u v¨n b¶n hoÆc chøa mét tõ nµo ®ã. Archie sÏ tr¶ lêi b»ng tªn c¸c tÖp tho¶ m·n yªu cÇu vµ chØ ra tªn cña c¸c Server chøa c¸c tÖp ®ã. §Ó dïng Archie, ta ph¶i chän mét Archie Server. Sau ®ã, cã thÓ dïng Telnet ®Ó truy cËp tíi Server vµ t×m kiÕm tÖp mong muèn. Ta còng cã thÓ dïng th­ ®iÖn tö ( chøa c¸c lÖnh t×m kiÕm mong muèn) göi tíi ®Þa chØ Archie@Server trong ®ã Server chÝnh lµ Archie Server mµ ta ®· chän, vµ chê ®îi ®Ó nhËn th­ tr¶ lêi ( vÒ kÕt qu¶ t×m kiÕm) tõ Server. Ngoµi dÞch vô t×m kiÕm tÖp hiÖn nay cßn cã c¸c dÞch vô t×m kiÕm kh¸c nh­ t×m kiÕm th«ng tin theo thùc ®¬n Gopher, t×m kiÕm th«ng tin theo chØ sè WAIS (Wide Area Infomation Server)... 1.2.2.7. World Wide Web (WWW). WWW lµ mét dÞch vô th«ng tin míi nhÊt vµ hÊp dÉn nhÊt trªn Internet. Nã dùa trªn kü thuËt biÓu diÔn th«ng tin cã tªn lµ siªu v¨n b¶n (hypertext), trong ®ã c¸c tõ ®­îc chän trong v¨n b¶n cã thÓ ®­îc “më réng” bÊt kú lóc nµo ®Ó cung cÊp c¸c th«ng tin chi tiÕt. Sù më réng ë ®©y ®­îc hiÓu theo nghÜa lµ chóng cã c¸c liªn kÕt tíi c¸c tµi liÖu kh¸c ( cã thÓ lµ v¨n b¶n, ©m thanh, ...) cã chøa c¸c th«ng tin bæ sung. ThuËt ng÷ World Wide Web ®­îc c«ng bè lÇn ®Çu tiªn vµo th¸ng 8/1991 trªn nhãm tin alt.hypertext. Tõ ®ã nhiÒu nhµ ph¸t triÓn ®· tham gia ph¸t triÓn Web trªn c¸c hÖ ®iÒu hµnh kh¸c nhau (Unix, Macintosh, Window, ...). Web sö dông mét ng«n ng÷ cã tªn lµ HTML. HTML cho phÐp ®äc vµ liªn kÕt c¸c kiÓu d÷ liÖu kh¸c nhau trªn cïng mét trang th«ng tin. §Ó thùc hiÖn viÖc truy nhËp, liªn kÕt c¸c tµi nguyªn kh¸c nhau theo kü thuËt siªu v¨n b¶n, WWW sö dông kh¸i niÖm URL (Uniform Resource Locator). §©y chÝnh lµ mét d¹ng tªn ®Ó ®Þnh danh duy nhÊt cho mét tµi liÖu hoÆc mét dÞch vô Web. Ho¹t ®éng cña Web dùa trªn m« h×nh Client/Server. T¹i tr¹m Client, ng­êi sö dông sÏ dïng Web Browser ®Ó göi yªu cÇu t×m kiÕm c¸c tËp tin HTML ®Õn Web Server ë xa trªn m¹ng Internet nhê ®Þa chØ URL. Web Server nhËn yªu cÇu råi göi kÕt qu¶ tr¶ vÒ cho Client. Víi sù hÊp dÉn cña m×nh, Web ®· ph¸t triÓn m¹nh tíi møc mµ ng­êi ta gäi lµ “ bïng næ Web”. Ngµy nay, Web kh«ng chØ ®¬n thuÇn lµ cung cÊp th«ng tin trªn Internet mµ nã ®· ®­îc øng dông réng r·i trong lÜnh vùc th­¬ng m¹i nh­ qu¶ng c¸o, ®Æt hµng trùc tuyÕn, ... 1.2.3. Interanet. Do nhËn thøc ®­îc vai trß cña th«ng tin trong ho¹t ®éng kinh tÕ thÞ tr­êng c¹nh tranh gay g¾t nªn c¸c tæ chøc , doanh nghiÖp ®Òu t×m mäi c¬ héi vµ biÖn ph¸p ®Ó x©y dùng vµ hoµn thiÖn c¸c hÖ thèng th«ng tin néi bé cña m×nh. HÖ thèng nµy bao gåm mét c¬ së h¹ tÇng truyÒn th«ng m¸y tÝnh vµ mét tËp hîp c¸c ch­¬ng tr×nh øng dông nh»m tin häc ho¸ c¸c ho¹t ®éng t¸c nghiÖp cña ®¬n vÞ. Víi hÖ thèng nµy, th«ng tin néi bé ph¶i lu«n chÝnh x¸c, tin cËy, hiÖu qu¶, .. ®Æc biÖt hÖ thèng ph¶i cã kh¶ n¨ng truyÒn th«ng víi thÕ giíi bªn ngoµi qua m¹ng toµn cÇu Internet khi cÇn thiÕt. Tõ nh÷ng môc tiªu trªn, ng­êi ta thÊy cÇn ph¶i x©y dùng mét m¹ng th«ng tin néi bé cho c¸c ®¬n vÞ, nã ®­îc gäi lµ m¹ng Internet. Còng nh­ Internet, Interanet ®· ph¸t triÓn kh«ng ngõng vµ ngµy cµng thu hót ®­îc sù quan t©m cña ng­êi sö dông lÉn nhµ cung cÊp. Song song víi viÖc ph¸t triÓn c¸c c«ng cô tiÖn Ých vµ c¸c dÞch vô th«ng tin cho Internet, ng­êi ta còng tËp trung vµo viÖc chän lùa c¸c gi¶i ph¸p cho Interanet. Mét sè s¶n phÈm nh­ Lotus Notes, Novell GroupWise, Microsoft Exchange, ... ®Òu ®· h­ímg môc tiªu ®Õn Interanet. M¹ng néi bé cã thÓ lµ m¹ng côc bé LAN, hoÆc kÕt nèi c¸c m¸y tÝnh vïng réng h¬n WAN 1.3. Mô hình ứng dụng Client- Server và ứng dụng trên Web Client - Server là một mô hình tính toán khi máy Client gởi một yêu cầu nào đó tới máy server. Yêu cầu thường là để truy xuất thông tin như những yêu cầu trong database, hay yêu cầu để xử lý như cập nhật database hoặc chạy một số quá trình nào đó. Máy client thực hiện yêu cầu, và máy server đáp ứng yêu cầu này. Lợi ích của hệ thống client-server là tận dụng được sức mạnh của mỗi máy hoặc hệ điều hành. Client thực hiện một số ứng dụng về mặt logic và thể hiện cho người sử dụng, trong khi server thực hiện việc xử lý phía sau và các chức năng về cơ sở dữ liệu. Client Request Response Server Hình 1.4 Mô hình client – server. Cấu hình cơ bản của ứng dụng Client - Server : Database Server - Quaûn lyù döõ lieäu - Lệnh SQL truy xuất database - Chương trình ứng dụng Application Server Client Hình 1.5 Cấu hình cơ bản của ứng dụng Client – Server Đối với ứng dụng trên Web, trình duyệt (browser) phục vụ như là client chung, gởi yêu cầu về một trang web, nhận hồi đáp là ngôn ngữ HTML, và hiển thị nó cho người sử dụng. Web server nhận yêu cầu thông qua giao thức dịch chuyển siêu văn bản (HTTP) và trả về thông tin cần thiết trong dạng HTML mà client có thể hiểu được. Tương tự như mô hình client-server, ta có thể phân bố việc xử lý ứng dụng và quản lý cơ sở dữ liệu thành từng phần với những mức độ khác nhau giữa máy client và máy server. Hình1.3 mô tả cấu trúc của một ứng dụng web điển hình : Client Server HTTP Request for a web page HTML Document response Hình 1.6 Mô hình web điển hình So với ứng dụng client - server, ưu điểm chính của ứng dụng trên web là việc triển khai ứng dụng. Với ứng dụng client-server, ta phải cài đặt lại thành phần trên client mỗi khi thay đổi và cập nhật ứng dụng. Trong một ứng dụng web, với mỗi tính năng hay việc cập nhật mới ứng dụng, ta không phải đưa ra một chương trình thực thi mới trên mỗi máy desktop của người sử dụng. Browser phục vụ như là client chung, cung cấp việc truy cập tới thông tin hiện có trên server. Chi phí trong việc kiểm soát phiên bản, phân bố phần mềm, và quản trị hệ thống giảm đi rất nhiều đối với ứng dụng trên Web. Hình 1.4 mô tả cấu hình cơ bản của ứng dụng trên Web Hình 1.7 Cấu hình cơ bản của ứng dụng trên Web Khác với ứng dụng chạy trên máy tính đơn lẻ khi mà việc xử lý được thực hiện trên mỗi máy tính, ứng dụng Web tập trung xử lý trên server (gồm một hay nhiều server). Vì browser chỉ đưa ra giao diện người sử dụng, toàn bộ ứng dụng được đặt trên server : Web Browser Web server Internet/Intranet Network Application Server Network Database Application Server (Server ứng dụng) : là phần mềm cung cấp các dịch vụ để hỗ trợ cho các ứng dụng Web làm chức năng kết nối người dùng đầu cuối với cơ sở dữ liệu cộng tác. Nó hoạt động như một môi giới trung gian giữa trình duyệt Web và Database Server, nhờ đó không cần phải cài đặt ứng dụng đòi hỏi cao về mặt bảo trì cho người dùng đầu cuối . Trong hình 1.8 dưới đây, ta có một giao diện, những đối tượng bên trong để thực hiện công việc nào đó cùng với những dịch vụ. Hình vẽ cho thấy tất cả những công việc chính đều đặt trên server, trên browser (client) chỉ còn mỗi user-interface. Web Browser Internet/Intranet Network Network User Interface Application Server Data service objects Web server Business Objects Web Interface Database Hình 1.8 Đối với Web server, thay vì user-interface, ta sẽ có Web-interface. Đây là một lớp chương trình tương tác với Web server nhằm mục đích giao tiếp với client. Web-interface đóng vai trò như lớp keo giữa những đối tượng và trang HTML được gửi tới browser của client. Web-interface cung cấp HTML cho browser thông qua Web server và nhận những input từ user thông qua browser và Web server. Có nhiều công nghệ được dùng để xây dựng Web-interface này, chẳng hạn như CGI, ISAPI, ASP . . .Giữa những công nghệ này, có những ưu và nhược điểm khác nhau, tuỳ theo yêu cầu của ứng dụng mà ta sẽ chọn công nghệ thích hợp. Ch­¬ng 2: tæng quan vÒ C¬ së d÷ liÖu – vÊn ®Ò tÝch hîp web víi c¬ së d÷ liÖu 2.1. Tæng quan vÒ c¬ së d÷ liÖu (CSDL) 2.1.1. ThÕ nµo lµ mét CSDL? CSDL lµ mét tËp hîp c¸c d÷ liÖu cã liªn hÖ víi nhau ®­îc tæ chøc vµ l­u tr÷ l¹i trªn c¸c thiÕt bÞ l­u tr÷ tin. Nã cho phÐp nhiÒu ng­êi sö dông, nhiÒu ch­¬ng tr×nh øng dông víi c¸c môc ®Ých kh¸c nhau ®ång thêi truy cËp vµ khai th¸c. D÷liÖu vµo Xö lý D÷ liÖu ra D÷ liÖu l­u tr÷ 2.1.2. C¸c m« h×nh CSDL. Nh×n chung mäi øng dông CSDL ®Òu bao gåm c¸c phÇn: Thµnh phÇn xö lý øng dông ( Application procesing compoents) Thµnh phÇn phÇn mÒm CSDL ( Database software components) B¶n th©n CSDL (The database itselt) Th«ng th­êng cã 5 m« h×nh kiÕn tróc dùa trªn cÊu h×nh ph©n t¸n vÒ truy nhËp d÷ liÖu cña hÖ thèng m¸y tÝnh Client/Server: M« h×nh CSDL tËp trung (Centralized database model) M« h×nh CSDL theo kiÓu File-Server (File-Server database model) M« h×nh xö lý tõng phÇn CSDL (Database extract processing model) M« h×nh CSDL Client/ Server ( Client/ Server database model) M« h×nh CSDL ph©n t¸n (Distributed database model) 2.1.2.1. M« h×nh CSDL tËp trung. Trong m« h×nh nµy, c¸c thµnh phÇn xö lý øng dông, phÇn mÒm CSDL vµ b¶n th©n CSDL ®Òu ë trªn cïng mét bé vi xö lý. VÝ dô ng­êi dïng m¸y tÝnh c¸ nh©n cã thÓ ch¹y c¸c ch­¬ng tr×nh øng dông cã sö dông phÇn mÒm CSDL Oracle ®Ó truy nhËp tíi CSDL n»m trªn ®Üa cøng cña mét c¸ nh©n ®ã. Khi c¸c thµnh phÇn øng dông, phÇn mÒm CSDL vµ b¶n th©n CSDL cïng n»m trªn mét m¸y tÝnh th× øng dông ®· thÝch hîp víi m« h×nh tËp trung. HÇu hÕt c«ng viÖc xö lý luång th«ng tin chÝnh ®­îc thùc hiÖn bëi nhiÒu tæ chøc mµ vÉn phï hîp víi m« h×nh tËp trung. VÝ dô mét bé xö lý mainframe ch¹y phÇn mÒm CSDL IMS hoÆc DB2 cña IBM cã thÓ cung cÊp cho c¸c tr¹m lµm viÖc ë c¸c vÞ trÝ ph©n t¸n sù truy cËp nhanh chãng tíi CSDL trung t©m. Tuy nhiªn, trong rÊt nhiÒu hÖ thèng nh­ vËy, c¶ ba thµnh phÇn cña øng dông CSDL ®Òu thùc hiÖn trªn cïng mét m¸y mainframe do ®ã cÊu h×nh nµy còng t­¬ng tù m« h×nh tËp trung. 2.1.2.2. M« h×nh CSDL theo kiÓu File – Server. Trong m« h×nh CSDL theo kiÓu File – Server c¸c thµnh phÇn øng dông vµ phÇn mÒm CSDL ë trªn mét hÖ thèng m¸y tÝnh vµ c¸c file vËt lý t¹o nªn CSDL n»m trªn hÖ thèng m¸y tÝnh kh¸c. Mét cÊu h×nh nh­ vËy th­êng ®­îc dïng trong m«i tr­êng côc bé, trong ®ã mét hay nhiÒu hÖ thèng m¸y tÝnh ®ãng vai trß cña Server, l­u gi÷ c¸c file d÷ liÖu cho hÖ thèng m¸y tÝnh kh¸c th©m nhËp tíi. Trong m«i tr­êng File-Server, phÇn mÒm m¹ng ®­îc thi hµnh vµ lµm cho phÇn mÒm øng dông còng nh­ phÇn mÒm CSDL trªn hÖ thèng cña ng­êi dïng cuèi coi c¸c file hoÆc CSDL trªn Server thùc sù nh­ lµ trªn m¸y tÝnh cña chÝnh hä. M« h×nh File-Server rÊt gièng víi m« h×nh tËp trung. C¸c file CSDL n»m trªn m¸y kh¸c víi c¸c thµnh phÇn øng dông vµ phÇn mÒm CSDL. Tuy nhiªn, c¸c thµnh phÇn øng dông vµ c¸c phÇn mÒm CSDL cã thÓ cã cïng mét thiÕt kÕ ®Ó vËn hµnh mét m«i tr­êng tËp trung. Thùc chÊt phÇn mÒm m¹ng ®· lµm cho phÇn mÒm øng dông vµ phÇn mÒm CSDL t­ëng r»ng chóng ®ang truy xuÊt CSDL trong m«i tr­êng côc bé. Mét m«i tr­êng nh­ vËy cã thÓ phøc t¹p h¬n m«i tr­êng tËp trung bëi v× phÇn mÒm m¹ng cã thÓ ph¶i thùc hiÖn c¬ chÕ ®ång thêi cho phÐp nhiÒu ng­êi sö dông cuèi cã thÓ truy cËp vµo cïng CSDL. 2.1.2.3. M« h×nh xö lý tõng phÇn CSDL Trong mét m« h×nh kh¸c trong ®ã mét CSDL ë xa cã thÓ ®­îc truy cËp bëi phÇn mÒm CSDL, ®­îc gäi lµ xö lý d÷ liÖu tõng phÇn. Víi m« h×nh nµy, ng­êi sö dông cã thÓ ë t¹i mét m¸y tÝnh c¸ nh©n kÕt nèi víi hÖ thèng m¸y tÝnh ë xa n¬i cã d÷ liÖu mong muèn. Ng­êi sö dông sau ®ã cã thÓ t¸c ®éng trùc tiÕp ®Õn phÇn mÒm ch¹y trªn m¸y ë xa vµ t¹o yªu cÇu ®Ó lÊy d÷ liÖu tõ CSDL ®ã. Ng­êi sö dông còng cã thÓ chuyÓn d÷ liÖu tõ m¸y tÝnh ë xa vÒ chÝnh m¸y tÝnh cña m×nh vµo ®Üa cøng vµ cã thÓ thùc hiÖn viÖc sao chÐp b»ng phÇn mÒm CSDL trªn m¸y c¸ nh©n. Víi c¸ch tiÕp cËn nµy, ng­êi sö dông ph¶i biÕt ch¾c ch¾n lµ d÷ liÖu n»m ë ®©u vµ lµm nh­ thÕ nµo ®Ó truy nhËp vµ lÊy d÷ liÖu tõ mét m¸y tÝnh ë xa. PhÇn mÒm øng dông ®i kÌm cÇn ph¶i cã trªn c¶ hai hÖ thèng m¸y tÝnh ®Ó kiÓm so¸t sù truy cËp vµ chuyÓn d÷ liÖu gi÷a hai hÖ thèng. Tuy nhiªn, phÇn mÒm CSDL ch¹y trªn hai m¸y kh«ng cÇn biÕt r»ng viÖc xö lý CSDL tõ xa ®ang diÔn ra v× ng­êi sö dông t¸c ®éng tíi chóng mét c¸ch ®éc lËp. 2.1.2.4. M« h×nh CSDL Client/Server. Trong m« h×nh CSDL Client/Server, CSDL nÇm trªn mét m¸y kh¸c víi mét m¸y cã thµnh phÇn xö lý øng dông. Nh­ng phÇn mÒm CSDL ®­îc t¸ch ra gi÷a hÖ thèng Client ch¹y c¸c ch­¬ng tr×nh øng dông vµ hÖ thèng Server l­u tr÷ d÷ liÖu. Trong m« h×nh nµy, c¸c thµnh phÇn xö lý øng dông trªn hÖ thèng Client ®­a ra yªu cÇu cho phÇn mÒm CSDL ch¹y trªn m¸y Client, phÇn mÒm nµy sÏ kÕt nèi víi phÇn mÒm CSDL ch¹y trªn Server. PhÇn mÒm CSDL trªn Server sÏ truy cËp vµo CSDL vµ göi tr¶ kÕt qu¶ cho m¸y Client. Míi nh×n, m« h×nh CSDL Client/Server cã vÎ gièng nh­ m« h×nh File-Server. Víi m« h×nh File-Server, th«ng tin g¾n víi sù truy cËp CSDL vËt lý ph¶i ch¹y trªn toµn m¹ng. Mét giao t¸._.c yªu cÇu nhiÒu sù truy cËp d÷ liÖu cã thÓ g©y ra t¾c nghÏn l­u l­îng truyÒn trªn m¹ng. Gi¶ sö mét ng­êi dïng cuèi t¹o mét query ®Ó lÊy d÷ liÖu tæng sè, yªu cÇu ®ßi hái lÊy d÷ liÖu tõ 1000 b¶n ghi víi c¸ch tiÕp cËn File-Server néi dung cña tÊt c¶ 1000 b¶n ghi ph¶i ®­a lªn m¹ng, v× phÇn mÒm CSDL ch¹y trªn m¸y ng­êi sö dông ph¶i truy cËp tõng b¶n ghi ®Ó tho¶ m·n yªu cÇu cña ng­êi sö dông. Víi c¸ch tiÕp cËn CSDL Client/Server, chØ cã query khëi ®éng ban ®Çu vµ kÕt qu¶ cuèi cïng ®­a lªn m¹ng, phÇn mÒm CSDL ch¹y trªn m¸y l­u gi÷ CSDL sÏ truy cËp c¸c b¶n ghi cÇn thiÕt, xö lý chóng vµ gäi c¸c thñ tôc cÇn thiÕt ®Ó ®­a ra kÕt qu¶ cuèi cïng. Trong m« h×nh CSDL Client/Server, th­êng nãi ®Õn c¸c phÇn mÒm front-end software vµ back-end software. Front-end software ®­îc ch¹y trªn mét m¸y tÝnh c¸ nh©n hoÆc ch¹y trªn mét workstation vµ ®¸p øng yªu cÇu ®¬n lÎ riªng biÖt, phÇn mÒm nµy ®ãng vai trß cña Client trong øng dông CSDL Client/Server vµ thùc hiÖn c¸c chøc n¨ng h­íng tíi nhu cÇu ng­êi dïng cuèi cïng. PhÇn mÒm front-end software th­êng chia thµnh c¸c phÇn sau: End User database software: PhÇn mÒm CSDL nµy cã thÓ ®­îc thùc hiÖn bëi ng­êi sö dông cuèi trªn chÝnh hÖ thèng cña hä ®Ó truy nhËp c¸c CSDL côc bé nhá còng nh­ kÕt nèi víi c¸c CSDL lín h¬n trªn trªn CSDL Server. Simple query and reporting software: PhÇn mÒm nµy ®­îc thiÕt kÕ ®Ó cung cÊp c¸c c«ng cô dÔ dµng h¬n trong viÖc lÊy d÷ liÖu tõ CSDL vµ t¹o c¸c b¸o c¸o ®¬n gi¶n tõ CSDL ®· cã. Data analysic software: PhÇn mÒm nµy cung cÊp c¸c hµm vÒ t×m kiÕm, kh«i phôc, chóng cã thÓ cung cÊp c¸c ph©n tÝch phøc t¹p cho ng­êi dïng. Application development tools: C¸c c«ng cô nµy cung cÊp c¸c kh¶ n¨ng vÒ ng«n ng÷ mµ c¸c nh©n viªn hÖ thèng th«ng tin chuyªn nghiÖp sö dông ®Ó x©y dùng c¸c øng dông CSDL cña hä. C¸c c«ng cô ë ®©y bao gåm c¸c c«ng cô vÒ th«ng dÞch, biªn dÞch ®¬n ®Õn c¸c c«ng cô CASE (Computer Aided Software Enginerring), chóng tù ®éng tÊt c¶ c¸c b­íc trong qu¸ tr×nh ph¸t triÓn øng dông vµ sinh ra ch­¬ng tr×nh cho c¸c øng dông CSDL. Database administration Tools: C¸c c«ng cô nµy cho phÐp ng­êi qu¶n trÞ CSDL sö dông m¸y tÝnh c¸ nh©n hoÆc tr¹m lµm viÖc ®Ó thùc hiÖn viÖc qu¶n trÞ CSDL nh­ ®Þnh nghÜa c¸c c¬ së d÷ liÖu, thùc hiÖn l­u tr÷ hay phôc håi. Back-end software: PhÇn mÒm nµy bao gåm phÇn mÒm CSDL Client/Server vµ phÇn mÒm ch¹y trªn m¸y ®ãng vai trß lµ Server CSDL. 2.1.2.5. M« h×nh CSDL ph©n t¸n. C¶ hai m« h×nh File-Server vµ Client/Server ®Òu gi¶ ®Þnh lµ d÷ liÖu n»m trªn mét bé xö lý vµ ch­¬ng tr×nh øng dông truy nhËp d÷ liÖu n»m trªn mét m¸y kh¸c, cßn m« h×nh CSDL ph©n t¸n l¹i gi¶ ®Þnh b¶n th©n CSDL cã ë trªn nhiÒu m¸y kh¸c nhau. M« h×nh nµy cã nhiÒu ­u ®iÓm nh­: dÔ më réng CSDL, hiÖu n¨ng cao ... Tuy nhiªn, nã kh¸ phøc t¹p, chi phÝ x©y dùng cao vµ tÝnh an toµn kÐm h¬n so víi CSDL tËp trung. 1.1.3. ODBC và OLEDB, ADO 1.1.3.1. ODBC ( Open Database Connectivity) Có rất nhiều hệ thống database khác nhau, nếu không có một chuẩn chung để giao tiếp giữa những hệ database này thì khi ứng dụng chuyển đổi từ hệ database này sang hệ database khác, mã của chương trình phải thay đổi lại cho phù hợp. Để giải quyết tình trạng này, người ta đã đưa ra một chuẩn để các kiểu database khác nhau có thể giao tiếp được, đó là ODBC (Open DataBase Connectivity). Chuẩn ODBC, là một tập mở rộng của những thư viện liên kết động (DLL), cung cấp giao diện lập trình ứng dụng cơ sở dữ liệu chuẩn. ODBC dựa trên phiên bản được chuẩn hoá của SQL. ODBC là một lớp nằm giữa chương trình ứng dụng và hệ thống database. Với ODBC và SQL, ta có thể viết mã truy xuất đến cơ sở dữ liệu mà không phụ thuộc vào bất kỳ hệ quản trị cơ sở dữ liệu nào. Chuẩn ODBC không chỉ định nghĩa luật văn phạm của SQL mà còn định nghĩa giao diện lập trình của ngôn ngữ C cho một databse SQL. Do đó, đối tượng C hay C++ có thể truy xuất tới bất kỳ DBMS nào có driver ODBC. ODBC là lớp phục vụ giao tiếp giữa chương trình ứng dụng và hệ điều hành cũng như hệ thống file của database. ODBC nhận những yêu cầu truy xuất thông tin từ chương trình ứng dụng, chuyển nó thành ngôn ngữ mà database engine hiểu được để truy xuất thông tin từ database. Như vậy, nó cho phép chúng ta phát triển tập hợp các function và method để truy xuất đến database mà không cần phải hiểu sâu về database đó. Ví dụ, MS Access cho phép chúng ta liên kết (link) hay gắn (attach) một bảng đến database. Khi thực hiện điều này, Access sẽ yêu cầu chúng ta chọn loại database (database mà Access trực tiếp hỗ trợ), nếu không có loại database phù hợp chúng ta có thể chọn ODBC. Khi chọn ODBC, nó sẽ liệt kê tất cả các cấu hình khác nhau mà chúng ta đã thành lập, và chọn một trong số đó bất kể database engine nào. Khi ứng dụng làm việc với ODBC, nó làm việc với data source và database engine mà nó tham khảo. Khi thiết lập cấu hình cho client mà cài đặt những kết hợp driver với database. Những kết hợp này sẽ được đặt tên và được sử dụng khi chúng ta muốn yêu cầu kết nối để truy xuất đến database đó. Những kết hợp giữa database và driver gọi là những Data Source Name hay những DSN. Khi muốn mở một database thông qua ODBC, chúng ta phải cung cấp DSN, UserID và Password. ODBC sẽ lấy những thông số mà chúng ta đã thiết lập cấu hình sẵn (trong Control Panel - ODBC32) để tạo kết nối. Những thành phần chung của DSN : DSN : Tên DSN mà chúng ta đã đặt khi thiết lập cấu hình ODBC UID : UserID được sử dụng để login vào database PWD : Password được sử dụng khi login Như vậy, để truy xuất đến các database thông qua ODBC, ta phải cài đặt driver cho database đó. ODBC có nhiều driver để hỗ trợ cho các database khác nhau nhằm chuyển các bảng tính hay các tập tin văn bản thành data source. Hệ điều hành căn cứ vào thông tin được ghi bởi ODBC Administrator trong Registry để xác định cấp của ODBC driver giao tiếp với data source. Việc nạp ODBC driver là "trong suốt" (transparent) đối với chương trình ứng dụng. Trong môi trường mạng, ODBC đảm nhận luôn cả việc xử lý những vấn đề truy xuất dữ liệu trên mạng như việc truy xuất đồng thời hay giải quyết tranh chấp. Tóm lại, ODBC là một giao tiếp lập trình chuẩn cho người phát triển ứng dụng và nhà cung cấp database. Trước khi ODBC trở thành một chuẩn không chính thức cho các chương trình ứng dụng trên Windows giao tiếp với các hệ thống database, người lập trình phải sử dụng các ngôn ngữ riêng cho mỗi database mà họ muốn kết nối tới. Khi ODBC ra đời thì người lập trình không còn bận tâm về điều này nữa, họ có thể truy xuất đến các database khác nhau bằng các thủ tục và hàm như nhau. Mã của chương trình ứng dụng không thay đổi khi data source chuyển từ hệ thống database này sang hệ thống khác (ví dụ từ Oracle sang SQL server). Ưu điểm và nhược điểm của ODBC Vì ODBC cung cấp việc truy xuất đến bất kỳ dạng database thông dụng có sẵn, do đó tạo nên sự uyển chuyển trong những ứng dụng. Ta có thể chuyển ứng dụng từ hệ thống database này sang hệ thống database khác mà không tốn nhiều chi phí và công sức. DSN của ta có thể tham khảo đến bất kỳ một database nào. Điều này cho phép ta có thể tham khảo đến bất kỳ một database nào. Như vậy, ta có thể phát triển ứng dụng theo một hệ thống database này (chẳng hạn như Microsoft Access) nhưng lại biến đổi thành sản phẩm sử dụng hệ thống database khác (ví dụ như Microsoft SQL Server) bằng cách đơn giản là thay đổi driver được sử dụng DSN mà chúng ta định nghĩa trong ứng dụng. Việc gọi hàm qua lớp ODBC đến database engine không phải là không tổn phí. ODBC phải hỗ trợ khả năng chuyển đổi các hàm được gọi từ ứng dụng, việc này cần phí tổn cho việc xử lý và làm quá trình truy xuất database chậm đi. Hơn nữa, ODBC không hỗ trợ việc truy xuất cơ sở dữ liệu đối tượng (Object Database) 1.1.3.2. OLEDB và ADO OLEDB được thiết kế để thay thế ODBC như một phương thức truy cập dữ liệu. ODBC hiện thời là tiêu chuẩn phía Client được Windows sử dụng rất phổ biến để truy cập các dữ liệu quan hệ vì nó thiết lập các Server cơ sở dữ liệu càng tổng quát càng tốt đến các ứng dụng Client. OLEDB đi sâu hơn một bước, bằng cách làm cho tất cả nguồn dữ liệu trở thành tổng quát đối với ứng dụng Client.. Client Application RDO (Remote Data Objects) ADO (ActivexX Data Objects) ADO (ActivexX Data Objects) ODBC Driver RDO (Remote Data Objects) ODBC Driver Maứnger OLEDB Relational Database Document Server Email Server Client Application ADO là giao diện dựa trên đối tượng của công nghệ OLEDB. ADO là công nghệ truy cập cơ sở dữ liệu hướng đối tượng. ADO hiện nay được Microsoft xem là kĩ thuật để truy cập cơ sở dữ liệu từ Web Server. Hình vẽ sau cho ta cách nhìn tổng quát về ODBC và OLEDB: Vậy ngoài ADO, có cách nào để đưa dữ liệu lên Web nữa không? Thực ra, trước khi có ADO, người ta thường dùng CGI (Common Gateway Interface) cùng với ODBC. Hiện nay, đa số các trang Web động sử dụng cơ sở dữ liệu vẫn còn được tạo bằng CGI. Phương pháp CGI đòi hỏi ta yêu cầu Web Server một trang Web HTML bình thường. Ở một nơi nào đó trong trang Web sẽ có lời gọi đến một ứng dụng CGI. Giả sử ta sẽ dùng form ở những nơi ta muốn lưu chi tiết về người dùng trong cơ sở dữ liệu: To subscript to our email list, you must enter your details here: Name: Address: Phone: INPUT TYPE= “Text” NAME= ”phone” > Email: INPUT TYPE= “Text” NAME= ”email” > Server sẽ thực thi ứng dụng CGI và ứng dụng CGI sẽ gửi trả về dòng văn bản và HTML cho Server. Ứng dụng CGI có thể là một tập tin thực thi hoặc là một tập tin viết bằng ngôn ngữ kịch bản. Các kịch bản của CGI có thể viết bằng nhiều ngôn ngữ khác nhau như Perl, C, C++, Tcl hay Python. Các kịch bản sẽ điều khiển dòng dữ liệu giữa ngôn ngữ HTML và cơ sở dữ liệu. Bản thân Web Server sẽ sử dụng ODBC để giao tiếp với cơ sở dữ liệu. Server nhận dữ liệu xuất ra từ cơ sở dữ liệu và dùng nó để tạo ra một trang Web mới, sau đó trang này sẽ được gửi về trình duyệt. Mặc dù CGI được sử dụng rộng rãi nhưng nó có một số khuyết điểm. Một trong những khuyết điểm đó là giảm tính trực tiếp trong tương tác giữa Server và trình duyệt vì Server buộc phải gọi ứng dụng CGI. Một khó khăn khác là các mã mà CGI chuyển nhận rất khó xử lý nên ta thường phải chọn một ngôn ngữ có công cụ soạn thảo và giao tiếp tốt. Ngoài ra CGI cũng không phải là phương pháp nhanh nhất để truy xuất cơ sở dữ liệu. Vì vậy ta thường dùng ADO với nhiều ưu điểm hơn để kết nối với cơ sở dữ liệu cho Web. Có một lý do nữa để ta chọn lựa ADO, đó là ta phải nhận thấy rằng không phải tất cả dữ liệu đều được lưu trong cơ sở dữ liệu. Ví dụ: một văn bản Word hay một từ điển tự nó không phải là cơ sở dữ liệu. Ta gọi tất cả các nguồn dữ liệu là data store. Nếu sử dụng ODBC thì ta chỉ có thể truy xuất với cơ sở dữ liệu, tuy nhiên OLEDB cho phép người dùng truy xuất mọi data store. OLEDB có thể thay thế ODBC, tuy nhiên nó lại tồn tại ở lớp trên ODBC và cho phép ta sử dụng các ODBC Driver có sẵn. Ở OLEDB, Provider là khái niệm tương đương với ODBC Driver. Provider được hiểu đơn giản là một cái gì đó cung cấp dữ liệu. Provider không giống như Driver. Do không có nhiều OLEDB Provider như ODBC Driver nên nếu ta muốn truy cập thông tin từ cơ sở dữ liệu, gần như chắc chắn bạn phải dùng ODBC cùng với OLEDB. Giản đồ dưới đây cho thấy chúng ta làm việc như thế nào: Program ActiveX Data Objects (ADO) OLEDB Provider OLEDB Provider OLEDB Provider OLEDB Provider OLEDB Provider ODBC ODBC Data Access SQL Server Exchange Non Relational Data Store Dù rằng OLEDB dễ dàng hơn ODBC nhưng nó cũng không hoàn toàn dễ hiểu và chỉ có một số ít ngôn ngữ lập trình có thể xử lý nó như C++. Tuy nhiên, nó có một vỏ bọc không những dấu bớt những phức tạp bên trong đối với người sử dụng mà còn cho phép các ngôn ngữ khác (như nhôn ngữ kịch bản) có thể xử lý Data Store. Đó chính là ActiveX Data Objects hay gọi tắt là ADO. ADO là một phần tử COM( Component Object Model) và do đó có thể được dùng trong bất kì ngôn ngữ nào tương thích với COM. ADO không độc lập với hệ điều hành nhưng độc lập với ngôn ngữ lập trình vì thế nó có thể được xử lý bằng các ngôn ngữ như C++, VB, Java, Java Script hay VbScript.. ADO được thiết kế để cung cấp một phương pháp truy cập dữ liệu cho tất cả mọi người.. Để thực hiện điều đó, nó đưa ra một mô hình đối tượng sau: Recordset Connection Errors Command Collection Error Parameter Field Parameters Fields Object Trong đó: Đối tượng Connection: Đối tượng Connection dùng để tạo một kết nối đến Data Store. Khi kết nối đã được thiết lập, ta có thể dùng nó bao nhiêu lần tuỳ ý. Mặc dù ta cần một kết nối trước khi ta có thể truy xuất dữ liệu trong cơ sở dữ liệu nhưng thật ra ta không phải sử dụng đối tượng Connection để tạo kết nối. Cả hai đối tượng Command và Recordset đều có thể tạo kết nối một cách độc lập. Đối tượng Command: Đối tượng Command được dùng để thực hiện các lệnh trên cơ sở dữ liệu. Những lệnh này không phải là lệnh kịch bản của ASP mà là các câu lệnh SQL. Các lệnh này dùng để lấy thông tin từ cơ sở dữ liệu hay thêm, xoá, sửa các mẩu tin, các bảng mới vào cơ sở dữ liệu. Đối tượng Recordset: Đối tượng Recordset là đối tượng thường dùng nhất trong ADO, vì thế có nhiều đặc tính và phương thức nhất. Nó được dùng để giữ thông tin về các Recordset mà ta tạo ra. Tập Fields: Chứa thông tin về các trường có trong các bản ghi của Recordset. Tập Errors: Chứa các lỗi gặp phải trong quá trình truy cập cơ sở dữ liệu. 2. 2. VÊn ®Ò tÝch hîp Web víi CSDL. 2.2.1. §Æt vÊn ®Ò. Trong qu¸ tr×nh khai th¸c Web Server, do sù bïng næ th«ng tin nªn sè l­îng c¸c trang Web (mµ vèn ®­îc l­u tr÷ d­íi d¹ng c¸c tËp tin) t¨ng lªn rÊt nhanh dÉn ®Õn viÖc qu¶n lý Web Server ngµy cµng trë nªn khã kh¨n. Web Server lµ träng t©m cña hÖ thèng, do ®ã viÖc qu¶n lý tèt Web Server sÏ lµm cho toµn hÖ thèng ho¹t ®éng tèt h¬n. Trong v« sè c¸c trang Web chøa trong mét Web Server ng­êi ta thÊy r»ng rÊt nhiÒu trang mµ néi dung cña chóng hoµn toµn cã thÓ ®­a vµo CSDL. NÕu thay c¸c trang Web nh­ trªn b»ng mét trang Web duy nhÊt cã kh¶ n¨ng hiÓn thÞ th«ng tin lÊy tõ CSDL th× tèt h¬n t×m kiÕm trªn nh÷ng tËp tin rêi r¹c. Nh­ vËy, vÊn ®Ò qu¶n lý tèt Web Server dÉn ®Õn viÖc x©y dùng mét CSDL l­u tr÷ th«ng tin. Khi x©y dùng mét øng dông CSDL, ngo¹i trõ CSDL ®ã chØ phôc vô cho môc ®Ých c¸ nh©n, cßn kh«ng th× ph¶i xem xÐt viÖc t¹o kh¶ n¨ng ®Ó nhiÒu ng­êi cã thÓ truy xuÊt ®Õn CSDL. Muèn vËy, th× cÇn cã mét hÖ thèng gåm nhiÒu m¸y tÝnh, tÊt c¶ ®Òu ®­îc kÕt nèi víi nhau vµ nèi víi Server chøa CSDL. Khi ®ã sÏ n¶y sinh mét sè vÊn ®Ò sau: Víi tr­êng hîp nh÷ng ng­êi muèn truy xuÊt ®Õn ë xa Server, viÖc thiÕt lËp riªng mét hÖ thèng m¹ng trªn diÖn réng lµ kh«ng kh¶ thi. C¸c m¸y tÝnh truy xuÊt ®Õn CSDL cã thÓ thuéc nhiÒu hä m¸y, ch¹y trªn nhiÒu hÖ ®iÒu hµnh kh¸c nhau. Do ®ã, cÇn ph¶i x©y dùng c¸c øng dông thÝch hîp víi c¸c nÒn t¶ng ®ã, vµ c¸c øng dông nµy sÏ ®­îc ph©n tÝch t¹i mçi Client. Sau mét thêi gian khai th¸c, khi ®ã nhu cÇu söa ®æi c¸c øng dông Client th× ph¶i söa c¸c øng dông trªn tõng Client. C¸c chuyªn gia cho r»ng World Wide Web lµ mét gi¶i ph¸p cho vÊn ®Ò nµy, v× c¸c lÝ do sau: - Hç trî ®a nÒn t¶ng. - Hç trî m¹ng Hç trî ®a nÒn t¶ng: Mét trong nh÷ng ®iÓm næi bËt cña Web lµ mét trang Web cã thÓ xem ®­îc trªn nhiÒu hä m¸y tÝnh kh¸c nhau. Do ®ã, trong hÖ thèng CSDL Web, c¸c Client cã thÓ gåm nhiÒu m¸y tÝnh ch¹y trªn c¸c hÖ ®iÒu hµnh kh¸c nhau mµ kh«ng cÇn ph¶i ph¸t triÓn c¸c øng dông ch¹y trªn tõng m¸y mµ chØ cÇn x©y dùng mét trang Web ®Æt t¹i Web Server. §iÒu nµy sÏ gi¶m thêi gian vµ chi phÝ ph¸t triÓn øng dông, gi¶m chi phÝ b¶o tr× vµ cËp nhËt c¸c øng dông ®ã. Hç trî m¹ng: Mét ®iÒu quan träng cÇn ph¶i xÐt ®Õn khi thiÕt kÕ c¸c øng dông CSDL lµ lµm thÕ nµo ®Ó truy xuÊt CSDL tõ c¸c m¸y ë xa (remote computer). Nh­ ®· ®Ò cËp ë trªn kh«ng mét c¸ nh©n hay tæ chøc nµo cã thÓ x©y dùng mçi mét hÖ thèng m¹ng m¸y tÝnh tr¶i réng trªn quy m« hµng tr¨m, ngµn km trong khi ®ã tån t¹i mét hÖ thèng m¹ng cã ph¹m vi toµn cÇu lµ Internet. Web Server vµ Web Brower cã nh÷ng tÝnh n¨ng vÒ m¹ng. Chóng ®­îc thiÕt kÕ ®Ó chuyÓn vµ nhËn th«ng tin qua Internet hay m¹ng côc bé. VËy t¹i sao kh«ng sö dông Internet cho môc ®Ých truy cËp CSDL. NÕu xÐt ë khÝa c¹nh qu¶n lÝ tèt tµi liÖu cña Web Server hay ë khÝa c¹nh khai th¸c tèt CSDL trªn ph¹m vi réng ®Òu dÉn ®Õn mét nhu cÇu lµ tÝch hîp Web víi CSDL. TÝch hîp Web víi CSDL bao gåm viÖc t¹o kh¶ n¨ng truy cËp vµ cËp nhËt d÷ liÖu th«ng qua Web. §Ó thùc hiÖn viÖc tÝch hîp Web víi CSDL th× cÇn ph¶i x©y dùng l¹i hÖ thèng trong ®ã cã c¬ chÕ chuyÓn th«ng tin gi÷a trang Web vµ CSDL, c¬ chÕ truy cËp ®Õn CSDL vµ nh÷ng trang Web ®éng trong m«i tr­êng Web vµ ph¶i cã nh÷ng tÝnh n¨ng nh­ lµ mét hÖ thèng øng dông CSDL trªn Web. Trong trang Web th× viÖc giao tiÕp víi ng­êi sö dông ®­îc thùc hiÖn th«ng qua c¸c “HTML Form ”. C¸c form nµy chøa c¸c phÇn tö dïng ®Ó nhËp liÖu nh­ lµ textbox, chechbox, option button. Khi hoµn tÊt viÖc nhËp liÖu b»ng c¸ch bÊm vµo mét nót ®Ó chÊp nhËn submit, hµnh ®éng nµy sÏ gëi néi dung cña form ®Õn Web Server. Do World Wide Web lµ hÖ thèng Web Client/Server nªn hÖ thèng øng dông CSDL trªn Web sÏ mang nh÷ng ®Æc ®iÓm cña mét hÖ thèng øng dông CSDL Client/Server. V× vËy, viÖc nghiªn cøu, tiÕp cËn ®Ó x©y dùng hÖ thèng øng dông Client/Server lµ rÊt cÇn thiÕt. HiÖn nay, ®a sè nhµ ph¸t triÓn phÇn mÒm cho r»ng c¸ch tiÕp cËn dùa trªn thµnh phÇn lµ c¸ch tiÕp cËn tèt ®Ó ph¸t triÓn c¸c øng dông Client/Server. 2.2.2. C¸c gi¶i ph¸p tÝch hîp Web vµ CSDL. PhÇn nµy sÏ nghiªn cøu sù ph¸t triÓn cña m« h×nh Client/Server øng dông cho viÖc tÝch hîp Web site víi CSDL. Chóng ta sÏ xem xÐt nã ë hai khÝa c¹nh: thø nhÊt, sù liªn l¹c gi÷a Client vµ Server ; thø hai, ph­¬ng ph¸p truy xuÊt CSDL. M« h×nh Client/Server, trªn thùc tÕ, ®· gióp cho viÖc gi¶i quyÕt nh÷ng bµi to¸n phøc t¹p mét c¸ch trë nªn dÔ dµng b»ng c¸ch ph©n chia bµi to¸n ®ã thµnh nhiÒu bµi to¸n con vµ gi¶i quyÕt tõng bµi to¸n con mét. Nh­ng quan träng h¬n hÕt kh«ng ph¶i lµ viÖc gi¶i ®­îc nh÷ng bµi to¸n lín mµ lµ c¸ch thøc gi¶i bµi to¸n. M« h×nh Client/Server ®· gióp ph¸t triÓn mét ph­¬ng thøc ph¸t triÓn øng dông míi lµ viÖc ph©n chia øng dông thµnh nhiÒu líp thùc hiÖn nh÷ng chøc n¨ng chuyªn biÖt. Mét øng dông th«ng th­êng ®­îc chia thµnh ba líp: Giao diÖn (Presentation logic): líp nµy lµ cÇu nèi gi÷a ng­êi dïng víi øng dông, cung cÊp nh÷ng chøc n¨ng cña øng dông cho ng­êi dïng vµ nhËn nh÷ng lÖnh tõ ng­êi dïng cho øng dông. Líp nµy ®­îc thiÕt kÕ sao cho cµng th©n thiÖn víi ng­êi dïng cµng tèt. Chøc n¨ng (t¹m dÞch tõ Business logic): ®©y lµ phÇn lâi cña mét ch­¬ng tr×nh, cung cÊp tÊt c¶ nh÷ng chøc n¨ng cã thÓ cã cña ch­¬ng tr×nh cho líp giao diÖn bªn trªn. CSDL (Data Access logic): líp nµy lµ CSDL cña øng dông, cung cÊp kh¶ n¨ng truy xuÊt ®Õn CSDL cho líp chøc n¨ng nÕu cÇn. ViÖc ph©n chia øng dông thµnh nhiÒu líp cßn gióp cho øng dông dÔ dµng thay ®æi, cËp nhËt vµ ®¸ng tin cËy h¬n. øng dông ®Çu tiªn cña m« h×nh Client/Server lµ øng dông chia sÎ file (do c¸c tæ chøc cã nhu cÇu chia sÎ th«ng tin gi÷a c¸c bé phËn trong tæ chøc ®­îc dÔ dµng vµ nhanh chãng h¬n). Trong øng dông nµy, th«ng tin ®­îc chøa trong c¸c file vµ ®­îc ®Æt t¹i mét m¸y (Server) cña mét phßng ban. Khi mét phßng ban kh¸c cã nhu cÇu trao ®æi th«ng tin víi phßng ban nµy th× sÏ sö dông mét m¸y (Client) kÕt nèi víi m¸y Server vµ t¶i nh÷ng file th«ng tin cÇn thiÕt vÒ. 2.2.2.1. M« h×nh hai møc (2-tier) Client/Server. M« h×nh hai møc lµ mét sù ph¸t triÓn tõ øng dông chia sÎ file ë trªn. Trong øng dông chia sÎ file, ta thay thÕ file Server b»ng mét hÖ thèng qu¶n trÞ CSDL (DBMS). Khi client cÇn th«ng tin tõ CSDL, nã sÏ yªu cÇu DBMS th«ng qua m¹ng m¸y tÝnh gi÷a c¸c phßng ban; DBMS xö lý yªu cÇu vµ sau ®ã tr¶ vÒ cho Client nh÷ng th«ng tin client yªu cÇu. ¦u ®iÓm cña m« h×nh hai møc so víi øng dông chia sÎ file lµ lµm gi¶m bít ®­îc l­u th«ng trªn m¹ng. ë øng dông chia sÎ file, ®¬n vÞ truyÒn nhËn gi÷a Client vµ Server lµ mét file, do ®ã, khi client yªu cÇu th«ng tin tõ Server th× Server sÏ tr¶ cho Client toµn bé mét file cã chøa th«ng tin ®ã. Trong khi ë m« h×nh hai møc th× Server cã thÓ tr¶ cho Client ®óng nh÷ng g× mµ Client yªu cÇu víi ®¬n vÞ truyÒn nhËn cã thÓ tÝnh b»ng byte. Ngoµi ra, hiÖn nay c¸c DBMS cßn cung cÊp nhiÒu kh¶ n¨ng kh¸c nh­ hç trî giao dÞch, cho phÐp nhiÒu ng­êi dïng cïng thao t¸c trªn CSDL cïng lóc mµ vÉn ®¶m b¶o ®­îc tÝnh toµn vÑn cña d÷ liÖu. TÝnh to¸n tËp trung ë Client (fat Client-thin Server): ë lo¹i nµy, phÝa Client ph¶i ®¶m nhËn c¶ hai líp lµ giao diÖn vµ chøc n¨ng cßn Server chØ lµm nhiÖm vô cña líp CSDL. Database Server DBMS Data access logic -presentation logic -business logic ¦u ®iÓm cña m« h×nh lo¹i nµy lµ ®¬n gi¶n, thÝch hîp cho c¸c øng dông nhá vµ võa. Tuy nhiªn, nã còng cã mét sè nh­îc ®iÓm sau: Do phÇn tÝnh to¸n nghiªng vÒ phÝa Client nhiÒu nªn ®ßi hái Client ph¶i cã cÊu h×nh ®ñ m¹nh. Còng do phÇn lâi (chøc n¨ng) cña ch­¬ng tr×nh n»m ë phÝa Client nªn khi ch­¬ng tr×nh cÇn n©ng cÊp th× sÏ rÊt khã kh¨n v× ph¶i cËp nhËt l¹i ch­¬ng tr×nh n»m ë toµn bé c¸c Client. Do mäi thao t¸c trªn CSDL ®Òu th«ng qua m¹ng gi÷a Client vµ Server nªn tèc ®é cña ch­¬ng tr×nh sÏ chËm ®i. TÝnh to¸n tËp trung ë Server (fat Server-thin Client): ë lo¹i nµy, Client chØ ®¶m nhiÖm phÇn giao diÖn cßn Server thùc hiÖn chøc n¨ng cña líp chøc n¨ng vµ líp CSDL. Ng­îc l¹i, víi lo¹i fat Client-thin Server th× lo¹i nµy cã ­u ®iÓm lµ gi¶m sù l­u th«ng trªn m¹ng vµ tèc ®é nhanh h¬n do líp chøc n¨ng cña ch­¬ng tr×nh n»m ë Server cïng víi CSDL, do ®ã mäi thao t¸c víi CSDL cña ch­¬ng tr×nh ®Òu ®­îc thùc hiÖn ngay trªn Server vµ th«ng tin l­u th«ng trªn m¹ng chØ lµ nh÷ng kÕt qu¶ ®­îc tr¶ vÒ cho ng­êi dïng sau khi ®­îc tÝnh to¸n. MÆt kh¸c, do phÇn lâi cña ch­¬ng tr×nh ®­îc ®Æt tËp trung t¹i Server nªn viÖc cËp nhËt ch­¬ng tr×nh sÏ dÔ dµng h¬n. Tuy nhiªn, do c«ng viÖc ®­îc tËp trung qu¸ nhiÒu t¹i Server nªn ®ßi hái cÊu h×nh Server ph¶i ®ñ m¹nh, ®Æc biÖt lµ khi cã nhiÒu Client cïng truy xuÊt tíi Server cïng lóc. Database Server DBMS Data access logic Data access logic -presentation logic 2.2.2.2. M« h×nh ba møc(3-tier) Client/Server Database Server DBMS Data access logic Application Server -business logic -presentation logic Trong m« h×nh 3 møc, líp chøc n¨ng cña ch­¬ng tr×nh ®­îc t¸ch ra thµnh mét møc t¹o thµnh mét møc riªng biÖt. ViÖc t¸ch líp nµy lµm cho c¸c phÇn cña ch­¬ng tr×nh ®éc lËp h¬n, ®¸ng tin cËy h¬n, ch­¬ng tr×nh trë nªn linh ®éng h¬n trong viÖc thay thÕ, n©ng cÊp vµ do ®ã, m« h×nh nµy rÊt thÝch hîp víi øng dông cã yªu cÇu thay ®æi th­êng xuyªn nh­ øng dông Web. §Ó thÊy ®­îc tÝnh linh ho¹t cña m« h×nh ba møc, ta lÊy mét øng dông cã cÊu tróc theo m« h×nh ba møc, cã møc gi÷a chøc n¨ng lµ c¸c thµnh phÇn COM giao tiÕp víi møc giao diÖn th«ng qua c¸c nhËp xuÊt chuÈn (standard I/O) vµ víi møc CSDL b»ng c¸c c©u lÖnh SQL th«ng qua ODBC hoÆc ADO. Khi ®ã, møc CSDL cña øng dông cã thÓ lµ bÊt cø DBMS nµo mµ ODBC hoÆc ADO hç trî nh­ Access, SQL Server, .. vµ øng dông cã thÓ lµ mét øng dông stand-alone ch¹y trªn mét m¸y hoÆc trë thµnh mét øng dông Web ch¹y trªn nhiÒu m¸y kh¸c nhau b»ng c¸ch nhóng thµnh phÇn COM nµy vµo phÇn giao diÖn lµ mét cöa sæ øng dông hoÆc mét trang Web. Ch­¬ng 3: C«ng nghÖ ASP 3.1 Lùa chän c«ng nghÖ cho ®Ò tµi X©y dùng Web site khèi PTCTT ®ång nghÜa víi viÖc x©y dùng mét Web Server trªn m¸y chñ chøa d÷ liÖu, c¸c trang Web vµ c¸c ch­¬ng tr×nh phôc vô cho viÖc qu¶n lý c¸c th«ng tin nh­: th«ng tin vÒ gi¸o viªn, häc sinh, ... Web Server nµy ph¶i cã kh¶ n¨ng t­¬ng t¸c víi Client, xö lý d÷ liÖu do Client göi ®Õn, tr¶ vÒ kÕt qu¶ ®éng tuú thuéc vµo néi dung d÷ liÖu mµ Client yªu cÇu, ... Tøc lµ chóng ta ph¶i x©y dùng c¸c trang Web ®éng. NÕu kh«ng x©y dùng nh÷ng trang Web ®éng th× ng­êi thiÕt kÕ ph¶i thiÕt kÕ l¹i nh÷ng trang Web ®ã mçi khi cã yªu cÇu cËp nhËt. ViÖc x©y dùng c¸c trang Web ®éng cã thÓ sö dông c¸c c«ng nghÖ nh­: CGI, Perl, ISAPI, ASP, JSP,Servlet ... CGI ( C«mmon Gateway Interface) CGI lµ mét ph­¬ng thøc giao tiÕp gi÷a Web Server vµ ch­¬ng tr×nh øng dông. Mét ch­¬ng tr×nh CGI thùc chÊt lµ mét ch­¬ng tr×nh .exe (trªn Windows) hoÆc mét ch­¬ng tr×nh thùc thi (trªn Unix). Nã cã thÓ ®­îc x©y dùng tõ nhiÒu ng«n ng÷ nh­ C, Pascal, Visual Basic, .. ThuËn lîi cña øng dông CGI lµ tÝnh phæ biÕn vµ dÔ viÕt (v× c¸c ng«n ng÷ nh­ C, Pascal, Visual Basic ... lµ rÊt th«ng dông). CGI còng tá ra rÊt hiÖu qu¶ trong c¸c øng dông truy xuÊt Web trªn Internet. Ngµy nay CGI hiÖn vÉn cßn ®­îc sö dông réng r·i trªn c¸c tr×nh Web Server ch¹y trªn m¸y chñ Unix vµ Linux. Tuy nhiªn, nã cã nh­îc ®iÓm lµ tiªu tèn tµi nguyªn vµ h¹n chÕ vÒ tèc ®é thùc thi. Mçi khi cã yªu cÇu göi tõ Client, Web Server ph¶i triÖu gäi CGI theo c¸c b­íc: - N¹p ch­¬ng tr×nh vµo bé nhí. - Thùc thi ch­¬ng tr×nh. - Tr¶ kÕt qu¶ vÒ cho Client. - Gi¶i phãng CGI khái bé nhí ViÖc l­u vÕt tr¹ng th¸i trong mçi kÕt nèi gi÷a Client vµ Server cña øng dông .Web CGI còng rÊt khã qu¶n lý. Perl (Practical Extraction and Report Language): Perl lµ mét ng«n ng÷ lËp tr×nh dïng cho CGI, do Larry Wall t¹o ra, ®­îc dïng kh¸ réng r·i trªn Unix vµ Linux. Perl kh¸c biÖt víi c¸c ng«n ng÷ kh¸c lµ cã tÝnh chÊt xö lý text rÊt m¹nh do cã nhiÒu to¸n còng nh­ hµm ®Ó hç trî riªng cho xö lý text. Nã cã thÓ xö lý dÔ dµng nh÷ng t¸c vô gièng nh­ C hoÆc Unix shell th­êng lµm trong viÖc viÕt mét Script nh­ng cã thÓ ng¾n gän vµ ®¬n gi¶n h¬n. Kh«ng gièng nh­ c¸c tr×nh biªn dÞch C hay C++, Perl lµ mét tr×nh th«ng dÞch. V× lµ mét ng«n ng÷ lËp tr×nh cho nªn Perl còng cã ®Çy ®ñ c¸c c«ng cô hç trî cho nã nh­ tÊt c¶ c¸c ng«n ng÷ lËp tr×nh kh¸c nh­: biÕn, d·y, danh s¸ch, ... Perl ®· më réng c¸c chøc n¨ng cña tr×nh CGI phôc vô cho Web Server. Më ®Çu cho thêi kú viÕt øng dông biªn dÞch kÞch b¶n (scipting) phôc vô cho phÝa m¸y chñ (Server side) nh­ ASP, JSP, ... IASP , Servlet, ASP, JSP: Nh­ ta ®· biÕt, nh­îc ®iÓm chÝnh cña ch­¬ng tr×nh CGI lµ vÊn ®Ò tèc ®é. Mçi lÇn thùc thi ch­¬ng tr×nh CGI, Web Server ph¶i n¹p vµ gi¶i phãng ch­¬ng tr×nh CGI ra khái bé nhí. C«ng nghÖ Web ®· ®­a ra rÊt nhiÒu gi¶i ph¸p kh¾c phôc yÕu ®iÓm nµy. Windows cung cÊp cho ta c¸ch thøc x©y dùng c¸c ch­¬ng tr×nh CGI ë d¹ng th­ viÖn liªn kÕt ®éng DLL. øng dông CGI kiÓu míi nµy cßn gäi lµ c¸c øng dông ISAPI. Ch­¬ng tr×nh ISAPI chØ ph¶i n¹p mét lÇn vµo bé nhí khi lÇn ®Çu tiªn Web Server gäi nã. Do kh«ng ph¶i n¹p nhiÒu lÇn nªn tèc ®é thùc thi ®­îc c¶i thiÖn ®¸ng kÓ. H¬n n÷a, c¸c ch­¬ng tr×nh ISAPI phôc vô Web Server hiÖu qu¶ vµ Ýt tèn tµi nguyªn h¬n c¸c ch­¬ng tr×nh ISAPI th«ng th­êng. §Ó viÕt ISAPI ta cã thÓ sö dông bÊt kú c«ng cô nµo trªn Windows hç trî viÖc biªn dÞch th­ viÖn liªn kÕt ®éng DLL nh­ Visual Basic, Delphi, ... VÒ phÝa Java, c©u tr¶ lêi t­¬ng tù cho ISAPI cña Windows ®ã lµ Servlet. Servlet lµ c¸c ch­¬ng tr×nh java chØ cÇn n¹p mét lÇn vµo m¸y ¶o. Chøc n¨ng cña nã còng t­¬ng tù nh­ c¸c ch­¬ng tr×nh CGI hay ISAPI. §èi víi ng«n ng÷ kÞch b¶n, Microsoft ®­a ra ph­¬ng ¸n thiÕt kÕ c¸c trang ASP, ®ã lµ sù kÕt hîp gi÷a c¸c thÎ ®Þnh d¹ng HTML vµ ng«n ng÷ Vbscipt. Cßn java ®­a ra ph­¬ng ¸n thiÕt kÕ c¸c trang JSP lµ sù kÕt hîp gi÷a HTML vµ ng«n ng÷ java. ASP vµ JSP cÇn mét bé diÔn dÞch (ASP, JSP engine) ®Ó th«ng dÞch chóng. XÐt vÒ ph­¬ng diÖn “søc m¹nh” th× Servlet, ISAPI, ASP hay JSP cã thÓ coi lµ ngang nhau. Tuy nhiªn, trong ®Ò tµi nµy em chän ASP lµm c«ng cô ph¸t triÓn bëi nã ®­îc hç trî thiÕt kÕ m¹nh mÏ cña Visual InterDev vµ FrontPage. Sau ®©y, em xin giíi thiÖu vÒ ASP vµ mét kü thuËt lËp tr×nh liªn quan – lËp tr×nh COM. 3.2. ASP – ACTIVE SERVER PAGES 3.2.1. Nh÷ng kh¸i niÖm më ®Çu vÒ ASP. ASP lµ g×? ASP (Microsort ® Active Server Page) lµ mét m«i tr­êng Server-side scripting cho phÐp ta t¹o ra vµ ch¹y c¸c øng dông Wed ®éng, t­¬ng t¸c víi Client mét c¸ch hiÖu qu¶. ASP ho¹t ®éng dùa vµo c¸c script do ng­êi lËp tr×nh t¹o s½n. M«i tr­êng ho¹t ®éng cña ASP: Microsoft Internet Internet Server 3.0 trë lªn ch¹y trªn WinNT Server trë lªn. Microsoft Personal Web Server ch¹y trªn Window 9x. CÊu tróc cña mét trang ASP. Trang ASP ®¬n gi¶n lµ mét trang v¨n b¶n víi phÇn më réng lµ .asp, gåm cã 3 thµnh phÇn: V¨n b¶n (Text) HTML tag (HTML: Hypertext Markup Langue) C¸c ®o¹n script ASP. Khi thªm mét ®o¹n script vµo HTML, ASP dïng dÊu ph©n c¸ch ®Ó ph©n biÖt gi÷a ®o¹n HTML vµ ®o¹n ASP. < % m· ASP %> Cã thÓ xem trang ASP nh­ mét trang HTML cã bæ sung c¸c ASP Script Command. VÝ dô: B¹n b¾t ®Çu víi trang ASP nµy ngµy: Client side scripting. Mét Client side scripting ®­îc thªm vµo trang html sö dông cÆp tag . §Ó ®Þnh nghÜa ng«n ng÷ script, ta sö dông thuéc tÝnh language chÌn vµo tag . VÝ dô: ASP dïng Client side scripting ®Ó cã thÓ t­¬ng t¸c víi c¸c ®èi t­îng nguyªn tè (c¸c tag, h×nh ¶nh, v¨n b¶n ...), víi c¸c ®èi t­îng brower (window, frame, history ...) vµ bÊt kú thµnh phÇn ActiveX nµo bªn trong m¸y chñ Microsoft. Server side scripting: ASP dïng Server side scripting ®Ó t¹o tù ®éng t¹o c¸c trang Web tr¶ vÒ cho Client, nh÷ng néi dung ®­îc ph¸t sinh dùa trªn nh÷ng ®Þnh nghÜa cña User nh­ c¸c tham sè, c¸c HTTP request vµ bÊt kú t­¬ng t¸c nµo víi c¸c ®èi t­îng kh¸c (®èi t­îng ASP, c¸c ®èi t­îng business Client/Server ®a líp, middleware truy cËp DBS vµ c¸c hÖ thèng kÕ thõa, c¸c thµnh phÇn BackOffice ..). ASP cung cÊp c¸c ®èi t­îng cã s½n vµ c¸c component cã Ých (Active Server components vµ DB Access component). C¸c ®èi t­îng cã s½n ®¬n gi¶n ho¸ nh÷ng nhiÖm vô cña Server side nh­ viÖc xö lý c¸c HTTP request vµ respone, phiªn lµm viÖc cña User vµ m«i tr­êng web. Server side scripting còng sö dông cÆp tag hoÆc . Kh¸c víi Client side script, Server side sö dông thªm thuéc tÝnh runat=”Server”. MÆc ®Þnh cña Server side scripting lµ Vbscript. Active Server Components. Nh­ ®· biÕt, ta cã thÓ t¹o c¸c trang Web ®éng b»ng c¸ch sö dông Server side script, vµ nã hÇu nh­ kh«ng giíi h¹n ®èi víi nh÷ng g× ta muèn thùc hiÖn. TiÕn tr×nh nµy gièng nh­ viÖc viÕt mét ch­¬ng tr×nh øng dông h¬n lµ t¹o mét trang HTML. Tuy nhiªn, Vbscript hay javascript còng cã nh÷ng mÆt h¹n chÕ ch¼ng h¹n nh­ nã kh«ng thÓ truy cËp trùc tiÕp vµo file hoÆc c¸c ch­¬ng tr×nh øng dông kh¸c. Vµ do ®ã sÏ gÆp khã kh¨n khi viÕt c¸c øng dông th­¬ng m¹i phøc t¹p. C¸ch hay nhÊt ®Ó kh¾c phôc nh÷ng h¹n chÕ cña ng«n ng÷ Script lµ tÝch hîp c¸c thµnh phÇn phÇn mÒm (software components) viÕt b»ng ng«n ng÷ bËc cao víi ASP sö dông chuÈ._.

Các file đính kèm theo tài liệu này:

  • docP0106.doc
Tài liệu liên quan