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
104 trang |
Chia sẻ: huyen82 | Lượt xem: 1381 | Lượt tải: 0
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 cha, 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, nhng l¹i kh«ng thÝch hîp cho c¸c øng dông ®ßi hái lu 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, nhng 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 “ lu 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 bu chÝnh th«ng thêng: th ®îc chuyÓn ®Õn tay ngêi nhËn sau khi ®i qua mét sè bu 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ß bu 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 lu 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µ lu tr÷ l¹i trªn c¸c thiÕt bÞ lu 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 lu 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, lu 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. Nhng 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 lu 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 lu 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 lu 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 lu 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 lu 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 lu 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. Nhng 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 lu 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ù lu 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 lu 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 lu 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 nhng 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:
- P0106.doc