Taøi lieäu moân hoïc Coâng cuï phaùt trieån öùng duïng
KYÕ THUAÄT VEÀ CAÙC MOÂ HÌNH LAÄP TRÌNH ÖÙNG DUÏNG, CAÙC KIEÁN TRUÙC COM/DCOM VAØ
CAÙCH HIEÄN THÖÏC ÖÙNG DUÏNG DÖÏA TREÂN CAÙC KIEÁN TRUÙC NAØY
I. Giôùi thieäu moâ hình laäp trình öùng duïng:
1. Giôùi thieäu moâ hình client/server :
Moâ hình client/server laø moâ hình coù aûnh höôûng lôùn nhaát ñeán ngaønh coâng ngheä thoâng tin. Moâ hình client/server giuùp cho
nhöõng maùy tính rieâng leû, khaû naêng xöû lyù thaáp coù theå chaïy ñöôïc nhöõng öùng duïng raát lôùn, phöùc taïp. Moâ hình client/server giuùp
phaùt trieån moät phöông thöùc phaùt trieån öùng duïng môùi laø vieäc phaân chia öùng duïng thaønh nhieàu lôùp thöïc hieän nhöõng chöùc naêng
chuyeân bieät. Moät öùng duïng thoâng thöôøng ñöôïc chia laøm 3 lôùp:
o Giao dieän (Presentation logic): lôùp naøy laø caàu noái giöõa ngöôøi duøng vôùi öùng duïng, cung caáp nhöõng chöùc naêng öùng duïng
cho ngöôøi duøng vaø nhaän leänh töø ngöôøi duøng cho öùng duïng. Lôùp naøy ñöôïc thieát keá sao cho caøng thaân thieän vôùi ngöôøi
duøng caøng toát.
o Chöùc naêng (Business logic): ñaây laø phaàn loõi cuûa moät chöông trình, cung caáp taát caû nhöõng chöùc naêng coù theå coù cuûa
chöông trình cho lôùp giao dieän beân treân.
o CSDL (Data Access logic): lôùp naøy cung caáp khaû naêng truy xuaát ñeán CSDL cho lôùp chöùc naêng neáu caàn.
Vieäc phaân chia öùng duïng thaønh nhieàu lôùp coøn giuùp cho öùng duïng trôû neân deã daøng thay ñoåi, caäp nhaät vaø ñaùng tin caäy hôn.
2. Moâ hình hai möùc (2 – tier) client/server:
ÔÛ moâ hình naøy khi client yeâu caàu moät thoâng tin gì ñoù thì client seõ gôûi yeâu caàu ñeán cho server, server xöû lyù caùc yeâu caàu töø
client gôûi veà ñuùng nhöõng thoâng tin maø client caàn.
Moâ hình naøy ñöôïc chia laøm hai loaïi:
o Tính toaùn taäp trung ôû client hay coøn goïi laø fat client – thin server: ôû loaïi naøy, phía client phaûi ñaûm nhaän caû 2 lôùp laø
giao dieän vaø chöùc naêng, coøn server chæ ñaûm nhaän nhieäm vuï cuûa lôùp CSDL.
Öu ñieåm cuûa moâ hình naøy laø ñôn giaûn, thích hôïp cho nhöõng öùng duïng nhoû. Tuy nhieân noù cuõng coù moät soá nhöôïc ñieåm
sau:
+ Do tính toaùn nghieâng veà phía client nhieàu neân ñoøi hoûi client phaûi coù caáu hình ñuû maïnh.
+ Do lôùp chöùc naêng cuûa chöông trình naèm ôû phía client neân khi chöông trình caàn naâng caáp thì seõ raát khoù khaên
vì phaûi caäp nhaät laïi chöông trình naèm ôû toaøn boä caùc client.
+ Do moïi thao taùc naèm treân client neân thao taùc yeâu caàu döõ lieäu giöõa client vaø server nhieàu daãn ñeán toác ñoä
chöông trình chaäm.
o Tính toaùn taäp trung ôû server(fat server – thin client): ôû loaïi naøy, client ñaûm nhaän phaàn giao dieän coøn server thöïc hieän
nhieäm vuï lôùp chöùc naêng vaø lôùp CSDL.
Ngöôïc laïi vôùi loaïi treân, loaïi naøy giaûm söï löu thoâng giöõa client vaø server. Tuy nhieân do coâng vieäc taäp trung nhieàu taïi
server neân ñoøi hoûi caáu hình server ñuû maïnh, ñaët bieät laø khi coù nhieàu client truy xuaát cuøng moät luùc.
3. Moâ hình ba möùc (3 – tier) client/server:
Trong moâ hình 3 möùc, lôùp chöùc naêng cuûa chöông trình ñöôïc taùch ra thaønh moät möùc taïo thaønh 3 möùc rieâng bieät. Vieäc taùch
lôùp naøy laøm cho caùc phaàn cuûa chöông trình ñoäc laäp hôn, ñaùng tin caäy hôn, chöông trình trôû neân linh ñoäng hôn trong vieäc thay
theá, naâng caáp vaø do ñoù moâ hình naøy raát thích hôïp vôùi nhöõng öùng duïng coù yeâu caàu thay ñoåi thöôøng xuyeân.
II. Giôùi thieäu sô löôït veà COM:
COM (Component Object Model) laø moät caùch thöùc ñeå vieát caùc thaønh phaàn phaàn meàm(software componet) cung caáp caùc
chöùc naêng phuïc vuï cho caùc öùng duïng, caùc thaønh phaàn khaùc. Vieát moät thaønh phaàn COM cuõng nhö vieát moät haøm API ñoäng,
höôùng ñoái töôïng. Caùc thaønh phaàn COM coù theå ñöôïc noái keát vôùi caùc öùng duïng cuõng nhö caùc thaønh phaàn COM khaùc.
a. COM laø gì ?
COM chæ laø moät söï ñaët taû. Noù chæ ra laøm theá naøo ñeå xaây döïng caùc thaønh phaàn coù theå thay theá moät caùch “ñoäng”. COM
cung caáp moät “chuaån” ñeå caùc öùng duïng vaø caùc thaønh phaàn phaûi tuaân theo ñeå chuùng coù theå hoaït ñoäng ñöôïc vôùi nhau.
b. Thaønh phaàn COM laø gì ?
Thaønh phaàn COM laø nhöõng ñoaïn maõ hieän thöïc caùc haøm, caùc chöùc naêng ñöôïc chöùa trong file .DLL hoaëc .EXE. Thaønh
phaàn COM caàn phaûi thoûa maõn ñöôïc nhöõng “chuaån” cuûa COM. Caùc thaønh phaàn COM coù theå ñöôïc lieân keát ñoäng.
Caùc thaønh phaàn COM coù theå ñöôïc ñoùng bao vì noù thoûa maõn caùc raøng buoäc:
o Thaønh phaàn COM hoaøn toaøn ñoäc laäp vôùi ngoân ngöõ hieän thöïc noù. Thaønh phaàn COM coù theå ñöôïc hieän thöïc baèng nhieàu
ngoân ngöõ nhö Visual C++, Visual Basic, Java …..
o Thaønh phaàn COM ñöôïc söû duïng döôùi daïng maõ nhò phaân.
o Thaønh phaàn COM coù theå ñöôïc naâng caáp maø khoâng laøm hoûng chöông trình ñang chaïy.
o Thaønh phaàn COM trong suoát veà vò trí.
c. Giao dieän (Interface)
GV:Hoà Quang Khaûi 1