Xây dựng cửa hàng bán linh kiện máy tính trên mạng (Java Servlet)

Tài liệu Xây dựng cửa hàng bán linh kiện máy tính trên mạng (Java Servlet): ... Ebook Xây dựng cửa hàng bán linh kiện máy tính trên mạng (Java Servlet)

doc92 trang | Chia sẻ: huyen82 | Lượt xem: 1471 | Lượt tải: 0download
Tóm tắt tài liệu Xây dựng cửa hàng bán linh kiện máy tính trên mạng (Java Servlet), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHÖÔNG 1 DAÃN NHAÄP Ngaøy nay, coâng ngheä thoâng tin ñaõ vaø ñang daàn daàn chuyeån höôùng phaùt trieån cuûa mình sang caùc dòch vuï Web.Vaø moät trong nhöõng dòch vuï ñöôïc moïi ngöôøi quan taâm nhaát laø Thöông maïi Ñieän töû. Dòch vuï naøy ñaõ thay ñoåi moâ hình doanh nghieäp toaøn caàu vaø cô caáu kinh teá moät caùch hoaøn toaøn.Vôi söï phaùt trieån cuûa internet ñaõ taïo ra moät chôï ñieän töû toaøn caàu maø noù vöôït xa giôùi haïn cuûa khoâng gian vaø thôøi gian. Nhôø Thöông maïi Ñieän töû, vôùi nhöõng thao taùc ñôn giaûn treân maùy coù noái maïng Internet baïn seõ coù taän tay mua nhöõng gì mình caàn maø khoâng phaûi ñi ñaâu. Baïn chæ caàn click vaøo trang dòch vuï Thöông maïi Ñieän töû, laøm theo höôùng daãn vaø click vaøo nhöõng gì baïn caàn. Caùc nhaø dòch vuï seõ mang ñeán taän nhaø cho baïn. Vieäc thanh toaùn cuõng deã daøng qua heä thoáng ngaân haøng hay tröïc tieáp neáu baïn muoán.Vôùi nhòp ñoä phaùt trieån nhö vuõ baõo cuûa Internet vaø söï soâi ñoäng cuûa thò tröôøng nhö hieän nay, baïn khoâng theå khoâng gheù thaêm dòch vuï Thöông maïi Ñieän töû duø chæ laø moät laàn. Ñeå tieáp caän vaø goùp phaàn ñaåy maïnh söï phoå bieán cuûa Thöông maïi Ñieän töû ôû Vieät Nam, em xin trình baøy “Xaây döïng cöûa haøng baùn linh kieän maùy tính treân maïng”. Ñaây laø moät daïng cuûa chöông trình öùng duïng maïng neân thöôøng lieân quan ñeán moät maùy chuû vaø nhieàu maùy khaùch. Do ñoù chuùng ta phaûi khaûo saùt,choïn löïa giaûi phaùp nhö theá naøo ñeå cho chöông trình ñoäc laäp hôn,ñaùng tin caäy hôn vaø chöông trình cuõng trôû neân linh ñoäng trong vieäc thay theá naâng caáp sau naøy.Beân caïnh ñoù chuùng ta phaûi tìm hieåu caùc coâng ngheä giuùp taïo moät trang web theå hieän ñöôïc giao dieän nhaäp döõ lieäu vaø keát quaû. Ñi ñoâi vôùi vieäc khaûo saùt,choïn löïa giaûi phaùp vaø tìm hieåu caùc coâng ngheä ñoù laø phaàn phaân tích vaø thieát keá heä thoáng”xaây döïng cöûa haøn baùn linh kieän maùy tính treân maïng.Döïa treân nhöõng khaûo saùt thöïc teá ta phaûi thieát laäp moät cô sôû döõ lieäu coù ñaày ñuû caùc thoâng tin caàn thieát.Vaø ñeå xaây döïng moät cô sôû döõ lieäu nhö theá ta trình baøy ba möùc tieáp caän : Möùc quan nieäm: xaùc ñònh heä thoáng coù nhöõng ñoái töôïng gì, chuùng quan heä vôùi nhau ra sao? Möùc logic: laø möùc ñaët caùc ñoái töôïng heä thoáng vaøo moät toå chöùc vaø chuùng laøm baèng phöông tieän naøo? Möùc vaät lyù: nhaèm xaùc ñònh phaûi laøm nhö theá naøo thì heä thoáng vaän haønh ñöôïc? Tieáp ñeán laø hieän thöïc heä thoáng thöông maïi ñieän töû ñôn giaûn ñieån hình laø “xaây döïng cöûa haøng baùn linh kieän maùy tính treân maïng”. Nhö vaäy,ta ñaõ coù caùi nhìn chung veà quaù trình xaây döïng heä thoáng thöông maïi ñieän töû trong luaän vaên naøy.Vaø ñeå hieåu roõ chi tieát hôn chuùng haõy laàn löôït ñi vaøo caùc chöông sau. Luaän vaên naøy goàm boán chöông: Chöông 1: Daãn nhaäp _ Giôùi thieäu toång quan veà quaù trình xaây döïng heä thoáng baùn haøng qua maïng Chöông 2: Khaûo saùt löïa choïn giaûi phaùp vaø tìm hieåu coâng ngheä JavaServlet,JSP,JavaBean _ Laø quaù trình khaûo saùt choïn löïa giaûi phaùp vaø tìm hieåu caùc coâng ngheä ñöôïc öùng duïng trong quaù trình xaây döïng vaø phaùp trieån heä thoáng baùn haøng naøy. Chöông 3: Phaân tích vaø hieän thöïc cöûa haøng baùn linh kieän maùy tính treân maïng. _ Trong chöông naøy luaän vaên seõ trình baøy tieán trình phaân tích,thieát keá vaø hieän thöïc heä thoáng “xaây döïng cöûa haøng baùn linh kieän maùy tính treân maïng? Chöông 4: Keát luaän vaø höôùng phaùt trieån CHÖÔNG 2 KHAÛO SAÙT,CHOÏN LÖÏA GIAÛI PHAÙP VAØ TÌM HIEÅU CAÙC COÂNG NGHEÄ 2.1 KHAÛO SAÙT VAØ CHOÏN LÖÏA GIAÛI PHAÙP _ Heä thoáng “ xaây döïng cöûa haøng baùn haøng treân maïng” laø moät chöông trình öùng duïng maïng. Ñeå xaây döïng ñöôïc heä thoáng caàn phaûi nghieân cöùu, khaûo saùt caùc coâng ngheä laäp trình maïng, töø ñoù coù moät löïa choïn giaûi phaùp toát nhaát thoûa maõn caùc yeâu caàu cuûa ñeà taøi. _ Laäp trình maïng thöôøng lieân quan ñeán moät maùy chuû vaø moät hay nhieàu maùy khaùch.Maùy khaùch gôûi yeâu caàu ñeán maùy chuû vaø maùy chuû hoài ñaùp yeâu caàu. Maùy khaùch baét ñaàu baèng caùch coá thieát laäp noái keát vôùi maùy chuû. Maùy chuû coù theå chaáp nhaän hay töø choái keát noái. Maùy chuû phaûi ñang chaïy khi maùy khaùch khôûi ñoäng. Maùy chuû chôø noái keát töø maùy khaùch. Coù caùc caâu leänh caàn ñeå taïo maùy chuû vaø maùy khaùch cuõng nhö ñeå chuùng trao döõ lieäu vôùi nhau. Caùc maùy giao tieáp vôùi nhau laø döïa theo quy öôùc hay giao thöùc coát loõi TCP/IP (Trasmission Control Protocol / Internet Protocol). ö MOÂ HÌNH GIÖÕA CAÙC MAÙY 1- Khaûo saùt moâ hình a-Moâ hình khaùch / chuû Moät moâ hình nhö ñaõ trình baøy ôû treân ñöôïc goïi laø moâ hình khaùch/ chuû. Laäp trình maïng ngaøy caøng trôû neân phöùc taïp. Moâ hình laäp trình ñôn leû truyeàn thoáng ñaõ bò thay ñoåi raát nhieàu. Ngaøy nay, baïn khoâng coøn ñôn thuaàn ngoài vieát nhöõng öùng duïng ñeå chaïy treân moät maùy duy nhaát. Chöông trình öùng duïng ñoøi hoûi söï töông taùc töø nhieàu phía ngöôøi duøng, chia seû taøi nguyeân, trieäu goïi töø xa, lieân keát giao taùc, phaân taùn döõ lieäu … Vôùi nhöõng yeâu caàu treân moâ hình khaùch/ chuû ñaõ ra ñôøi vaø toàn ñeán ngaøy nay. Theo moâ hình khaùch / chuû taát caû caùc thao taùc xöû lyù phöùc taïp ñeàu ñöôïc chuyeån giao cho maùy chuû xöû lyù. Maùy khaùch chæ ñoùng vai troø göûi yeâu caàu vaø hieån thò döõ lieäu. Ñieån hình cuûa moâ hình naøy laø caùc öùng duïng cô sôû döõ lieäu. Maùy khaùch laø trình öùng duïng coù khaû naêng keát noái vaø truy vaán döõ lieäu töø moät maùy chuû ôû xa . Moâ hình maùy khaùch /maùy chuû ngaøy caøng bò quaù taûi bôûi ñoä phöùc taïp vaø nhu caàu cuûa ngöôøi duøng. Neáu quaûn lyù vaø phaân phoái öùng duïng ñeán 100 maùy khaùch naèm ôû nhieàu quoác gia khaùc nhau, ñieàu naøy gaây trôû ngaïi veà maët ñòa lyù. Vieäc caøi ñaët trình ñieàu khieån keát noái cô sôû döõ lieäu MS SQL Server leân töøng maùy laø maát nhieàu coâng söùc, ñoù laø chöa keå khi muoán chuyeån heä cô sôû döõ lieäu MS SQL Server sang heä Oracle vaø thay caáu hình vaø keát noái vôùi töøng heä cô sôû döõ lieäu xem ra thaät khoù khaên. Hay khi baïn muoán thay ñoåi maõ nguoàn cuûa öùng duïng khaùch. Neáu öùng duïng khaùch laø bao goàm nhieàu taäp tin thöïc thi .exe vaø caùc thö vieän lieân keát ñoäng (dll ) leân ñeán haøng chuïc MB, thì baïn phaûi göûi baûn caäp nhaät haøng chuïc MB naøy ñeán 100 maùy khaùch yeâu caàu caäp nhaät laïi chöông trình. Moâ hình phaùt trieån öùng duïng ña taàng seõ giuùp giaûi quyeát ñieàu naøy . Caùc öùng duïng xöû lyù cuûa baïn khoâng caøi ñaët treân maùy khaùch nöõa maø caøi ñaët treân ôû moät maùy chuû khaùc . Nhôø vaäy maø maùy khaùch trôû neân goïn nheï , deã caáu hình , deã thay ñoåi phía maùy chuû . Neáu muoán thay ñoåi maõ nguoàn cuûa trình öùng duïng, baïn chæ caàn thay ñoåi treân moät maùy chuû. Coù theå noùi moâ hình maùy khaùch/maùy chuû laø moâ hình coù aûnh höôûng nhaát ñeán coâng ngheä thoâng tin. Thaät vaäy, moâ hình khaùch/chuû ñaõ 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 taàng: 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 cuûa öùng duïng cho ngöôøi duøng vaø nhaän nhöõng 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.Chöùc naêng (taïm dòch töø 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. Cô Sôû Döõ Lieäu (Data Access logic): lôùp naøy laø Cô Sôû Döõ Lieäu cuûa öùng duïng, cung caáp khaû naêng truy xuaát ñeán Cô Sôû Döõ Lieäu 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. ÖÙng duïng ñaàu tieân cuûa moâ hình khaùch/chuû laø öùng duïng chia xeû taäp tin (do caùc toå chöùc coù nhu caàu chia xeû thoâng tin giöõa caùc boä phaän trong toå chöùc ñöôïc deã daøng vaø nhanh choùng hôn). Trong öùng duïng naøy, thoâng tin ñöôïc chöùa trong caùc taäp tin vaø ñöôïc ñaët taïi moät maùy chuû cuûa moät phoøng ban. Khi moät phoøng ban khaùc coù nhu caàu trao ñoåi thoâng tin vôùi phoøng ban naøy thì seõ söû duïng moät maùy khaùch keát noái vôùi maùy chuû vaø taûi nhöõng thoâng tin caàn thieát veà. Moâ hình khaùch/ chuû ñöôïc chia thaønh caùc moâ hình : Moâ hình 2 lôùp (2 – tier), moâ hình 3 lôùp ( 3-tier) hay coøn goïi laø moâ hình nhieàu lôùp (n-tier). b - Moâ hình 2 lôùp Moâ hình 2 lôùp laø moät söï phaùt trieån töø öùng duïng chia xeû taäp tin ôû treân. Trong öùng duïng chia xeû taäp tin, ta thay theá taäp tin cuûa maùy chuû baèng moät heä thoáng quaûn trò Cô Sôû Döõ Lieäu (DBMS). Khi maùy khaùch caàn thoâng tin töø Cô Sôû Döõ Lieäu, noù seõ yeâu caàu DBMS thoâng qua maïng maùy tính giöõa caùc phoøng ban. DBMS xöû lyù yeâu caàu vaø sau ñoù traû veà cho maùy khaùch nhöõng thoâng tin yeâu caàu. Öu ñieåm cuûa moâ hình hai möùc so vôùi öùng duïng chia xeû taäp tin laø laøm giaûm bôùt ñöôïc löu thoâng treân maïng. ÔÛ öùng duïng chia xeû taäp tin, ñôn vò truyeàn nhaän giöõa maùy khaùch vaø maùy chuû laø 1 taäp tin, do ñoù khi maùy khaùch yeâu caàu thoâng tin töø maùy chuû thì maùy chuû seõ traû veà cho maùy khaùch toaøn boä moät taäp tin coù chöùa thoâng tin ñoù. Trong khi ôû moâ hình hai möùc thì maùy chuû coù theå traû veà cho maùy khaùch ñuùng nhöõng gì maø maùy khaùch yeâu caàu vôùi ñôn vò truyeàn nhaän coù theå tính baèng byte. Ngoaøi ra, hieän nay caùc DBMS coøn cung caáp nhieàu khaû naêng khaùc nhö hoã trôï giao dòch, cho pheùp nhieàu ngöôøi duøng cuøng thao taùc treân Cô Sôû Döõ Lieäu cuøng luùc maø vaãn ñaûm baûo ñöôïc tính toaøn veïn cuûa döõ lieäu. Moâ hình 2 lôùp ñöôïc chia laøm 2 loaïi: Tính toaùn taäp trung ôû maùy khaùch ( thöôøng goïi laø fat client – thin server): ôû loaïi naøy, phía maùy khaùch phaûi ñaûm nhaän caû 2 taàng laø giao dieän vaø chöùc naêng, coøn maùy chuû chæ laøm nhieäm vuï cuûa taàng Cô Sôû Döõ Lieäu. Database Server DBMS l data access logic l presentation logic l business logic Öu ñieåm cuûa moâ hình loaïi naøy laø ñôn giaûn, thích hôïp cho caùc öùng duïng nhoû vaø vöøa. Tuy nhieân noù cuõng coù moät soá nhöôïc ñieåm: Do phaàn tính toaùn nghieâng veà phía maùy khaùch nhieàu neân ñoøi hoûi maùy khaùch phaûi coù caáu hình ñuû maïnh. Cuõng do phaàn loõi (chöùc naêng) cuûa chöông trình naèm ôû phía maùy khaùch 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 maùy khaùch. Do moïi thao taùc treân Cô Sôû Döõ Lieäu ñeàu thoâng qua maïng giöõa maùy khaùch vaø maùy chuû neân toác ñoä cuûa chöông trình seõ chaäm ñi. Tính toaùn taäp trung ôû maùy chuû (fat server – thin client): ôû loaïi naøy, maùy khaùch chæ ñaûm nhieäm phaàn giao dieän coøn maùy chuû thöïc hieän chöùc naêng cuûa taàng chöùc naêng vaø taàng Cô Sôû Döõ Lieäu. Database Server DBMS Stored Procedure l business logic l data access logic l presentation logic Ngöôïc laïi vôùi loaïi fat client – thin server thì loaïi naøy coù öu ñieåm laø giaûm söï löu thoâng treân maïng vaø toác ñoä nhanh hôn do lôùp chöùc naêng cuûa chöông trình naèm ôû maùy chuû cuøng vôùi Cô Sôû Döõ Lieäu(CSDL), do ñoù moïi thao taùc vôùi CSDL cuûa chöông trình ñeàu ñöôïc thöïc hieän ngay treân maùy chuû vaø thoâng tin löu thoâng treân maïng chæ laø nhöõng keát quaû ñöôïc traû veà cho ngöôøi duøng sau khi ñöôïc tính toaùn. Maët khaùc, do phaàn loõi cuûa chöông trình ñöôïc ñaët taäp trung taïi maùy chuû neân vieäc caäp nhaät chöông trình seõ deã daøng hôn. Tuy nhieân, do coâng vieäc ñöôïc taäp trung quaù nhieàu taïi maùy chuû neân ñoøi hoûi caáu hình maùy chuû phaûi ñuû maïnh, ñaëc bieät laø khi coù nhieàu maùy khaùch cuøng truy xuaát tôùi maùy chuû cuøng luùc. c- Moâ hình 3 lôùp Trong moâ hình 3 lôùp, taàng chöùc naêng cuûa chöông trình ñöôïc taùch ra thaønh moät lôùp taïo thaønh 3 lôùp 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 nhö öùng duïng web. Database Server DBMS Stored Procedure l data access logic l presentation logic Application Server l business logic 2 Löïa choïn moâ hình “Heä thoáng quaûn lyù caùc dòch vuï baùn haøng treân maïng” seõ ñöôïc trình baøy theo moâ hình 3 lôùp. Moâ hình 3 lôùp thuaän tieän cho vieäc thieát keá , laøm cho heä thoáng hoaït ñoäng deã daøng vaø deã thay ñoåi , naâng caáp theo yeâu caàu ñeà taøi. Moâ hình 3 lôùp thöôøng ñöôïc duøng phoå bieán trong caùc chöông trình öùng duïng maïng. Vieäc göûi yeâu caàu vaø theå hieän döõ lieäu laø do phaûi trình baøy giao dieän sao cho deã daøng cho ngöôøi duøng laø lôùp 1 ,thöôøng goïi laø client tier . Chöùc naêng xöû lyù caùc thao taùc laø naèm ôû lôùp 2 , goïi laø Application Server tier. Döõ lieäu ñöôïc löu tröõ ôû lôùp 3 , goïi laø Data Server tier. Client tier Application Server tier Data ÔÛ moãi lôùp coù caùc coâng ngheä kyõ thuaät töông öùng ñeå thieát keá giao dieän cuõng nhö thöïc hieän caùc chöùc naõng chuyeân bieät . 2.2 TÌM HIEÅU CAÙC COÂNG NGHEÄ HOÃ TRÔÏ CHO MOÂ HÌNH ö Khaûo saùt coâng ngheä 1.> Lôùp 1 (Client tier) ÔÛ maùy khaùch coù caøi ñaët trình duyeät Web ( Web browser ) duøng ñeå truy tìm vaø ñoïc caùc trang Web treân maïng. Ñòa chæ trang Web seõ ñöôïc caùc trình duyeät göûi ñeán maùy chuû vaø maùy chuû seõ göûi traû veà noäi dung trang Web bao goàm caùc döõ lieäu nhö vaên baûn, hình aûnh, aâm thanh … Trình duyeät seõ chòu traùch nhieäm trình baøy keát quaû trang Web ra maøn hình vôùi nhöõng döõ lieäu nhaän ñöôïc naøy . Caùc trình duyeät thöôøng ñöôïc söû duïng hieän nay laø : Internet Explorer cuûa Microsoft , Netscape Navigator cuûa Netscape Communication . Moät maùy coù theå söû duïng caû hai hay nhieàu trình duyeät ñeå göûi vaø nhaän döõ lieäu . Treân client coù theå söû duïng caùc coâng ngheä nhö : HTML (HyperText Marked Language ) /XML ñeå taïo trangweb tónh . JavaScript. JScript. VBScript . ASP , JSP. Coâng ngheä thaønh phaàn  : ActiveX . Java Applet. 2.> - Lôùp 2 (Server tier) HTTP Server : Jrun . Apache . Web Logic . Web Sphere . Java Web Server . IIS . Personal Web Manager. Trang Web ñoäng : Caùc coâng ngheä treân chæ laø giuùp taïo moät trang Web theå hieän ñöôïc giao dieän ñeå nhaäp döõ lieäu vaø theå hieän keát quaû traû veà theo giao thöùc HTTP. Coøn thöïc chaát vieäc nhaän döõ lieäu göûi ñi vaø nhaän döõ lieäu veà laø coù söï trôï giuùp cuûa : Coâng ngheä CGI (Common Gate Interface ) . ASP (Actuve Server Page) cuûa Microsoft. Java Servlet . JSP(Java Server Page ) cuûa Sun MicroSystems . Component Model & Object Request Broker : CORBA . COM /MTS. EJB / Java RMI . JavaBean 3.> - Lôùp 3 (Data tier) Lôùp naøy coù theå söû duïng caùc heä quaûn trò cô sôû döõ lieäu nhö : Oracle . DB2. SQL Server …. ö LÖÏA CHOÏN COÂNG NGHEÄ VAØ PHAÀN MEÀM : Sau thôøi gian khaûo saùt caùc coâng ngheä coù theå duøng ñeå thieát keá vaø caên cöù vaøo yeâu caàu cuûa ñeà taøi , ñieàu kieän veà phaàn meàm em quyeát ñònh löïa choïn ngoân ngöõ laäp trình maïng Java caùc coâng ngheä maø Java cung caáp sau töông öùng vôùi moâ hình 3 lôùp ñaõ choïn ôû treân 1- Lôùp 1 (client tier) Caùc maùy khaùch seõ söû duïng 2 trình duyeät Internet Explorer (IE ) vaø Netscape . Do vaäy , ñeà taøi seõ phaûi söû duïng ngoân ngöõ trình baøy trang Web laø HTML ( HyperText Markup Language ) , Java Script , Java Applet . Vì caùc coâng ngheä naøy cho pheùp trang Web hoaït ñoäng treân caû IE vaø Netscape .Trong khi JScript , VBScript, ActiveXControl chæ coù taùc duïng treân IE . Moät coâng ngheä nöõa trôï giuùp phaùt trieån trang Web linh ñoäng laø JSP vì JSP laø moät caùch ñôn giaûn ñeå ngöôøi duøng ( nhaát laø laäp trình vieân khoâng chuyeân ) tieáp caän ñöôïc höôùng laäp trình Web phía maùy chuû hieäu quaû vaø nhanh hôn . Hôn nöõa JSP xeùt veà maët toác ñoä nhanh hôn caùc trang web thöïc hieän dieãn dòch theo cô cheá khaùc ( seõ trình baøy sau ôû phaàn caùc coâng ngheä söû duïng trong ñeà taøi ). 2- Lôùp 2 (server tier ) Do yeâu caàu ñeà taøi laø öùng duïng coù theå chaïy treân nhieàu heä ñieàu haønh neân kyõ thuaät hoã trôï cho lôùp naøy seõ laø : JSP ,JavaBean , JDBC , JDBC – ODBC Bridge ( do moät soá thaønh phaàn döõ lieäu cuûa Microsoft khoâng cho pheùp duøng kyõ thuaät JDBC ). Ñoái vôùi Web Server , thì coâng ngheä JRun ñem laïi nhieàu hieäu quaû cuõng nhö caùc coâng ngheä khaùc nhö Web Logic, Apache, Web Sphere nhöng vì hieän taïi em ñang coù trong tay caùc taøi lieäu cuõng nhö phieân baûn JRun , neân ñeà taøi naøy seõ söû duïng phaàn meàm naøy. JRun seõ hoã trôï cho Servlet engine vaø JavaBean. Ñeå hoã trôï cho vieäc truy xuaát döõ lieäu töø lôùp 3 , ñeà taøi söû duïng kyõ thuaät JDBC vaø JDBC-ODBC Bridge . 3 -Lôùp 3 (data tier ) Döõ lieäu ôû lôùp naøy ñöôïc xaây döïng treân moâ hình döõ lieäu quan heä vaø ñöôïc löu tröõ quaûn lyù döôùi söï trôï giuùp cuûa heä quaûn trò cô sôû döõ lieäu SQL Server . Nhö vaäy ñeà taøi naøy söû duïng ngoân ngöõ laäp trình Java ñeå thieát keá “Heä thoáng vuï baùn haøng treân maïng” .Tieâu chuaån ñeå phaùt trieån öùng duïng treân Web döïa vaøo Java 2 platform Enterprise Edition (J2EE) . Moät trong nhöõng coâng cuï hoã trôï laäp trình laø JRun .JRun cung caáp moâ hình öùng duïng J2EE vaø moâi tröôøng ñeå thi haønh öùng duïng J2EE . Moâ hình 3 lôùp maø J2EE hoã trôï coù nhöõng ñaëc tính sau : Client tier : ÔÛ lôùp naøy , maùy khaùch söû duïng trình duyeät ñeå truy caäp vaøo Middle tier qua keát noái HTTP nhö Internet .Lôùp naøy bao goàm baát cöù Applet naøo chaïy treân maùy khaùch . Server tier : Laø chöùc naêng cuûa trang Web . Lôùp naøy bao goàm caû phaàn giao dieän vaø caùc quy ñònh veà chöùc naêng ñeå taïo moät trang Web . JRun ñöôïc duøng ñeå thi haønh caùc öùng duïng ôû lôùp naøy . Data tier : Lôùp naøy laø kho löu tröõ döõ lieäu Xí nghieäp coù chöùa ñöïng nhöõng döõ lieäu veà chöùc naêng cuûa trang Web . Java hoã trôï cho ngöôøi laäp trình 3 kieán truùc cuûa moâ hình 3 lôùp , ñoù laø: Kieán truùc thöù 1: HTML Servlet , JSP Cô sôû döõ lieäu Internet JDBC Client tier Server tier Data tier Kieán truùc thöù 2: HTML, Jscript, JSP, Java Applet Servlet , Java JSP Bean Bean Bean Cô sôû döõ lieäu Internet JDBC Client tier Server tier Data tier Kieán truùc thöù 3: HTML, Jscript, JSP, Java Applet Servlet , JSP, EJB EJB JavaBean Cô sôû döõ lieäu Internet JDBC Client tier Server tier Data tier Ñoä phöùc taïp , tính linh hoaït cuûa moãi kieán truùc ñöôïc bieãu dieãn : Tính linh hoaït Kieán truùc thöù 3 cao Kieán truùc thöù 2 Ñoäphöùc taïp Kieán truùc thöù 1 thaáp deã khoù Kieán truùc thöù 3 deã daøng thay ñoåi,naâng caáp khi caàn thieát nhöng ñoä phöùc taïp cao.Coøn kieán truùc thöù 1 thì laïi khoù khaên khi chuùng ta caàn thay ñoåi hay naâng caáp.Vì vaäy ñeà taøi söû duïng kieán truùc thöù 2 ñeå thieát keá heä thoáng . Moâ hình 3 lôùp naøy mang laïi nhieàu thuaän lôïi cho caùc nhaø phaùt trieån trang Web : Caùc lôùp, thaäm chí caùc thaønh phaàn caáu thaønh cuûa lôùp coù theå ñöôïc phaân phoái vaøo heä thoáng phaàn cöùng phöùc taïp ñeå caûi thieän söï hoaït ñoäng vaø tính coù theå bieán ñoåi cuûa heä thoáng . Lôùp Middle tier laøm cho maùy khaùch khoâng gaëp khoù khaên khi truy xuaát vaøo kho döõ lieäu Xí nghieäp . Giao dieän laäp trình öùng duïng (API ) Java Servlet ñònh nghóa caùc öùng duïng Web (Web Applications) goàm coù Java servlet , trang JSP (Java Server Page) ,HTML …. JRun laøm cho maùy chuû Web coù theå thöïc thi caùc öùng duïng Web . JavaBean ñöa ra giaûi phaùp hôïp nhaát, an toaøn cho pheùp nhieàu öùng duïng coù theå söû duïng laïi nhieàu laàn ñeå chia seû vieäc truy xuaát döõ lieäu . Moâ hình naøy giuùp phaân phoái caùc öùng duïng cuûa nhoùm laøm vieäc naøy vôùi nhoùm laøm vieäc khaùc . Ví duï nhö caùc nhaø phaùt trieån JSP thì thöôøng quan taâm ñeán giao dieän hôn laø vieäc thi haønh caùc leänh chöùc naêng Ngöôïc laïi , caùc nhaø phaùt trieån EJB thì quan taâm ñeán döõ lieäu vaø caùc thao taùc laøm vieäc vôùi döõ lieäu hôn laø söõ theå hieän giao dieän cuûa heä thoáng ö TÌM HIEÅU CHI TIEÁT VEÀ COÂNG NGHEÄ 1.> Söï phaùt trieån öùng duïng maïng java phía maùy chuû _ Ngaøy nay,öùng duïng maïng ñang laø xu theá choïn löïa cuûa nhöõng coâng ty,noù ñöôïc trieån khai treân internet extranet vaø intranet.Do noù coù khaû naêng taêng theâm naêng suaát vaø thay ñoåi caùch laøm doanh nghieäp cuûa caùc coâng ty lôùn nhoû. _ Söï phaùt trieån öùng duïng Web server ra ñôøi ñaõ laâu.Luùc ñoù nhaø phaùt trieån öùng duïng Web ñaõ söû duïng CGI(Common Gateway Interface).Nhöng chuùng toán nhieàu boä nhôù vaø boä xöû lyù hôn laø coâng cuï hieän ñaïi vaø nhöõng chöông trình khoù ñeå gôû roái. Moät söï caûi tieán quan troïng ñeán vôùi Java Servlet vaøo naêm 1997 laø JSP.Caû java Servlet vaø JSP ñeàu laø coâng ngheä cuûa Java ,noù hoå trôï maïnh ñeán Web server nhö:keát noái cô sôû döõ lieäu,truy caäp maïng vaø nhieàu luoàng thao taùc vôùi moâ hình xöû lyù khaùc nhau.JavaServlet vaø JSP quaûn lyù taát caû nhöõng vieäc maø chuùng laøm töø moät theå hieän ñôn giaûn maø noù coøn laïi trong boä nhôù vaø söû duïng nhieàu luoàng ñeán nhöõng yeâu caàu dòch vuï cuøng moät luùc.Hình 1.2.1 cho thaáy Servlet vaø JSP söû duïng moâi tröôøng J2EE öùng duïng Web. Web server Web browser Get/requestURL Servlets …. Servlet Container JSP pages Other services Database J2EE services Sô ñoà 1.2.1 Moät trình öùng duïng Web söû duïng Servlets,JSP vaø J2EE 2.> Giao thöùc HTTP vaø HTML HTTP: _ Giao thöùc HTTP cung caáp caùch thöùc troø chuyeän giöõa trình khaùch ( thöôøng laø trình duyeät Browser ) vaø trình chuû Server khaù hieäu quaû . Vôùi giao thöùc HTTP trình khaùch coù theå göûi vaø yeâu caàu trình chuû Web Server xöû lyù nhöõng leänh sau : GET Yeâu caàu trình chuû traû veà noäi dung moät taøi nguyeân ,thöôøng laø taäp tin, theo ñòa chæ ñònh vò URL . POST Chuyeån döõ lieäu töø trình khaùch leân trình chuû. Trình chuû tieáp nhaän döõ lieäu ,tính toaùn vaø traû keát quaû veà cho trình khaùch HEAD Yeâu caàu trình chuû traû veà thoâng tin moâ taû cuûa moät taøi nguyeân (taäp tin) . PUT Ñöa moät taøi nguyeân (taäp tin ) leân trình chuû . DELETE Yeâu caàu trình chuû xoaù moät taøi nguyeân (taäp tin ) naøo ñoù . _ Thöôøng trong giao tieáp giöõa trình khaùch vaø trình chuû Web Server ,chuùng ta chæ duøng GET ñeå laáy keát quaû traû veà töø trình chuû vaø POST ñeå ñöa döõ lieäu töø trình khaùch leân trình chuû xöû lyù . Giao thöùc HTTP khoâng löu veát traïng thaùi trong giao dòch giöõa trình khaùch vaø trình chuû . Moãi laàn trình khaùch göûi yeâu caàu vaø ñöôïc trình chuû traû lôøi thì keát noái chaám döùt . Vì lyù do naøy giao thöùc HTTP coøn goïi laø giao thöùc phi traïng thaùi (stateless protocol ). HTML _ Döï aùn naøy seõ söû duïng JSP laøm ngoân ngöõ phaùt trieån chính .Vì vaäy JSP ñöôïc theâm vaøo trong HTML _ HTML ( HyperText Markup Language ) laø haøng loaït caùc ñoaïn maõ chuaån vôùi caùc quy öôùc ñöôïc thieát keá ñeå taïo ra trang web , giuùp taïo vaø chia seû caùc taøi lieäu ñieän töû tích hôïp ña phöông tieän qua Internet vaø ñöôïc hieån thò bôûi nhöõng trình duyeät Web . HTML cho pheùp aùp duïng sieâu lieân keát cho taøi lieäu vaø trình baøy taøi lieäu vôùi phoâng chöõ , hình aûnh , kieåu gioùng haøng phuø hôïp vôùi heä thoáng hieån thò vaên baûn . _ Coù nhieàu coâng cuï ñöôïc duøng ñeå taïo trang Web . Ví duï : coù theå taïo taäp tin HTML baèng Microsoft Word , NotePad treân Windows . Internet Explorer vaø Netscape Navigator coù coâng cuï soaïn thaûo ñôn giaûn , cho pheùp taïo vaø hieäu chænh taäp tin HTML . _ HTML taïo trang Web baèng caùch söû duïng caùc theû quy öôùc nhö : Theû caáu truùc : Ñònh roõ caáu truùc cuûa taøi lieäu . Theû hình thöùc vaên baûn : Ñònh roõ daïng hieån thò vaên baûn . Coù hai loaïi : theû noäi dung vaø theû vaät lyù . Theû ñoaïn vaên baûn : Ñònh roõ tieâu ñeà , ñoaïn vaø daáu ngaét doøng. Theû phoâng chöõ : Ñònh roõ côõ chöõ vaø maøu chöõ . Theû danh saùch : Ñònh roõ caùc danh saùch theo thöù töï hoaëc khoâng theo thöù töï ,vaø danh saùch ñònh nghóa. Theû baûng bieåu : Xaùc ñònh baûng bieåu . Theû lieân keát : Ñònh roõ caùc lieân keát ñònh höôùng di chuyeån ñeán taøi lieäu khaùc . Theû hình aûnh : Ñònh roõ vò trí truy caäp hình aûnh vaø caùch hieån thò hình aûnh 3.> JDBC _ Neáu cô sôû döõ lieäu coù moät trình ñieàu khieån keát noái cô sôû döõ lieäu baèng java thoâng qua ñoù ñeå thöïc hieän nhöõng caâu leänh SQL goïi laø JDBC.JSP laø ngoân ngöõ phaùt trieån chính cho döï aùn naøy.Söû duïng trình ñieàu khieån JDBC ñeå giao tieáp vôùi moät öùng duïng cô sôû döõ lieäu ñeå thoâng tin cô sôû döõ lieäu coù theå ñöôïc phuïc hoài ,ñöôïc caäp nhaät hoaëc ñöôïc xoùa söû duïng trong trang JSP. _ JDBC laø giao thöùc cuûa Java API duøng ñeå thöïc hieän caâu leänh SQL .Noù cung caáp taäp hôïp caùc lôùp vaø giao dieän cho pheùp phaùt trieån caùc öùng duïng Java vaø öùng duïng Web lieân quan ñeán truy xuaát cô sôû döõ lieäu vaø hình 1.6.1 seõ cho chuùng ta thaáy caáu truùc chung cuûa JDBC .Töông taùc caên baûn nhaát cuûa JDBC leät keâ sau ñaây Môû keát noái vôùi cô sôû döõ lieäu(open connection) Thöïc thi caùc caâu leänh SQL(excute SQL) Xöû lyù döõ lieäu (Process results) Ñoùng keát noái(close connection) Java Application JDBC API JDBC Driver Manager Database Database Database Middleware ODBC JDBC Driver JDBC Net Driver JDBC/ODBC Bridge Driver Sô ñoà 1.6.1 The JDBC library structure _ Theo ñaët taû cuûa sun coù 4 kieåu JDBC sau : Kieåu 1 : JDBC söû duïng caàu noái ODBC (JDBC-ODBC Bridge ) . ODBC laø caùch keát noái ñeán moïi cô sôû döõ lieäu thoâng qua trình quaûn lyù ODBC .Moãi heä cô sôû döõ lieäu cung caáp moät trình ñieàu khieån (driver) coù khaû naêng ñoïc ñöôïc cô sôû döõ lieäu cuûa chuùng. Trình ñieàu khieån naøy seõ ñöôïc ñaêng kyù vôùi boä quaûn lyù ODBC . Caùc caâu leänh truy xuaát cô sôû döõ lieäu ñeàu ñöôïc thöïc thi baèng caâu leänh SQL Ngoaøi ra , Java coøn cung caáp khaû naêng söû duïng JDBC ñeå goïi ODBC . Baèng caùch naøy coù theå kieåm soaùt ñöôïc nhieàu heä quaûn trò cô sôû döõ lieäu khaùc nhau . Java Application , Applet , Servlet JDBC Driver ODBC Database driver Cô sôû döõ lieäu Maõ JAVA Maõ ñaëc thuø { {{{ Kieåu 2 : JDBC keát noái tröïc tieáp vôùi caùc trình ñieàu khieån cô sôû döõ lieäu JDBC seõ keát noái tröïc tieáp vôùi trình ñieàu khieån ñaëc thuø cuûa moãi heä cô sôû döõ lieäu maø khoâng phaûi qua trung gian ODBC . Do vaäy kieåu keát noái naøy nhanh vaø hieäu quaû hôn , nhöng phaûi coù trình ñieàu khieån cô sôû ñaëc thuø do nhaø phaùt trieån cung caáp . Java Application , Applet , Servlet JDBC Driver Database driver Maõ JAVA Maõ ñaëc thuø { { Cô sôû döõ lieäu Kieåu 3 : JDBC keát noái thoâng qua caùc öùng duïng maïng trung gian . Vôùi kieåu keát noái naøy , maùy chuû seõ chòu traùch nhieäm keát noái vôùi cô sôû döõ lieäu. Maùy khaùch chæ söû duïng nhöõng trình ñieàu khieån goïn nheï coù khaû naêng giao tieáp vôùi öùng duïng trung gian qua Internet ñeå truy vaán döõ lieäu . Java Application , Applet , Servlet JDBC Driver Java Middle Ware Java Native driver Cô sôû döõ lieäu Maõ JAVA Maõ JAVA { { Internet Kieåu 4 : JDBC keát noái thoâng qua caùc trình ñieàu khieån ñaëc thuø töø xa . Kieåu naøy cho pheùp maùy khaùch söû duïng trình ñieàu khieån goïn nheï noái keát tröïc tieáp vaøo trình ñieàu khieån cô sôû döõ lieäu ñaëc thuø treân maùy chuû ôû xa thoâng qua maïng Internet . Java Application , Applet , Servlet JDBC Driver Java Native driver Cô sôû döõ lieäu Maõ JAVA Maõ JAVA { { Internet 4.> SERVLETS,JAVASERVER PAGES VAØ JAVABEAN ö JavaServlets I - Khaùi nieäm java servlet _ Java Servlet laø moät lôùp ñoái töôïng (.class).Maõ nguoàn cuûa Servlet ñöôïc bieân dòch ra maõ byte-code cuûa java.Servlet deã söû duïng vaø phaùt trieån nhöõng öùng duïng Web nhanh hôn GGI.Servlet chaïy töï ñoäng khi chuùng ñöôïc goïi töø trình chuû (Web server).Servlet chaïy toaøn boä treân maùy aûo cuûa Java ,xöû lyù vaø sinh maõ HTML traû veà trình khaùch .Baèng caùch naøy,Servlet coù theå chaïy treân raát nhieàu trình chuû hieåu Java vaø chuùng khoâng phuï thuoäc vaøo trình duyeät (browser).Moâ hình 2.1.1 seõ giuùp chuùng ta hieåu luoàng thoâng tin töø HTTP yeâu caàu servlet noù ñöôïc khôûi taïo khi ngöôøi söû duïng ñang truy caäp vaøo web site. Step2: Server sends the request to Servlet Container Step 1:HTTP Request makes a reques Web Server Servlet Container HTTP Request Get request Post request Step 5:Servlet sends back the result Step3:Servlet invokes the sevice() method to handle the request Servlet Database Service() doPost() doGet() Step 4:Servlet can connect to a database depending on the request Sô ñoà 2.1.1 Luoàng thoâng baùo trong Web server vôùi boä chöùa Servlet II - Chu kyø soáng cuûa servlet _ Chu kyø soáng cuûa Java Servlet ñöôïc thieát keá theo höôùng ñoái töôïng ñôn giaûn bao goàm:sinh ra,hoaït ñoäng vaø chaám döùt .Khôûi ñaàu thaønh phaàn ñoái töôïng Servlet ñöôïc xaây döïng vaø naïp vaøo boä nhôù khi nhaän ñöôïc moät yeâu caàu töø trình chuû .Sau ñoù chuùng phuïc vuï lieân tuïc haøng loaït caùc yeâu caàu khaùc cho ñeán khi phöông thöùc service() hoaøn taát taùc vuï.Taïi thôøi ñieåm naøy Servlet seõ bò huûy giaûi phoùng khoûi boä nhôù vaø heát taùc duïng. _ Ñieàu naøy giaûi thích taïi sao Servlets thay theá tuyeät vôøi vaø hoaït ñoäng nhanh hôn öùng duïng GGI .Lyù do Servlet chæ caàn naïp moät laàn vaø thöôøng tröïc xöû lyù yeâu caàu ngay trong boä nhôù. _ Giao dieän ñöôïc khai baùo cho söï thoáng nhaát naøy laø giao dieän javax.servlet.Servlet,giao dieän Servlet ñöôïc thieát keá bôûi ba phöông thöùc cô baûn theå hieän cho chu kyø soáng. _ Nhöõng phöông thöùc naøy bao goàm :init(), service() vaø destroy(),coù nghóa laø khôûi taïo ,phuïc vuï,vaø sau ñoù huûy boû. 1./ Naïp servlet 2./ Phöông thöùc khôûi taïo hay coøn goïi laø phöông thöùc init(). _ Phöông thöùc init() laø thôøi ñieåm baét ñaàu cuûa servlet.Chuùng ñöôïc goïi töùc thôøi bôûi trình chuû Web ngay khi nhaän ñöôïc._. moät yeâu caàu cuï theå imit() choû ñöôïc goïi moät laàn duy nhaát. 3./ Phöông thöùc phuïc vuï hay coøn goïi laø service() _ Phöông thöùc service() ñieàu khieån taát caû caùc yeâu caàu caàn duøng.Phöông thöùc naøy khoâng theå thöïc thi tröø khi phöông thöùc init() ñaõ ñöôïc thöïc hieän tröôùc ñoù. 4./ Phöông thöùc huûy hay coøn goïi laø destroy() _ Phöông thöùc naøy laø daáu hieäu keát thuùc chu kyø soáng cuûa Servlet .Khi phöông thöùc service() chaám döùt ,servlet deõ goïi ñeán phöông thöùc destroy ().Ñaây laø thôøi ñieåm maø taát caû taøi nguyeân ñöôïc taïo ra phöông thöùc khôûi taïo init(0 seõ bò xoùa vaø giaûi phoùng khoûi boä nhôù. Servlet Service 1 Sevice 2 Service 2 Service 3 Service 3 Service 1 Call destroy() garbase collection III - Öu ñieåm servlet _ Servlet cung caáp moät soá thuaän lôïi sau: tính baûo maät cao,hieäu quaû vaø deã daøng vôùi ngöôøi söû duïng.Vaø ñaây laø moät soá öu ñieåm : Coù theå chaïy trong nhieàu luoàng ñoàng thôøi. Ñôn giaûn vì chuùng khoâng yeâu caàu söï laép ñaët phaàn meàm khaùc hôn laø moät trình duyeät Web. Maëc duø ngöôøi phuïc vuï HTTP khoâng gaén lieàn khaû naêng ñeå nhôù chi tieát cuûa moät ñoøi hoûi tröôùc töø cuøng khaùch haøng ,nhöng servlet cung caáp moät phieân theo doõi giao dieän laäp trình öùng duïng maø noù chieán thaéng giôùi haïn naøy. Luoàng truy caäp ñeán coâng ngheä Java bao goàm keát noái maïng vaø cô sôû döõ lieäu ö JavaServer Page I – Khaùi nieäm veà javaserver page _ JSP laø coâng ngheä raát maïnh ñeå taïo trang HTML ñoäng veà phía maùy trình chuû.JSP laø phaàn môû roäng tröïc tieáp cuûa java Servlet.Boä bieân dòch JSP seõ aùnh caï tröïc tieáp maõ JSP thaønh Servlet .Vieát JSP khoâng caàn phaûi traûi qua quaù trình bieân dòch taäp tin thöïc thi .class nhö trong Servlet. JSP cung caáp moâ hình laäp trình Web deã daøng vaø tieän duïng hôn Servlet .Coâng vieäc bieân dòch trang JSP ñöôïc töï ñoäng thöïc hieän bôûi trình chuû.Nhìn chung ,JSP toàn taïi ôû 3 daïng sau : Maõ nguoàn JSP _ Ñaây laø daïng maø chuùng ta thaät söï vieát .JSP toàn taïi ôû daïng taäp tin vaên baûn vôùi phaàn môû roäng laø .jsp vaø troän laãn maõ HTML khuoân maãu.Nhöõng chæ thò vaø nhöõng hoaït ñoäng maõ Java vaø JSP laøm sao ñeà phaùt sinh moät trang Web ñeå phuïc vuï moät yeâu caàu rieâng bieät. Maõ nguoàn Java _ Boä chöùa JSP dòch töø maõ nguoàn JSP thaønh maõ nguoàn cho moät java Servlet töông ñöông nhö yeâu caàu.Maõ nguoàn naøy ñöôïc löu theo moät caùch ñaët tröng trong nôi laøm vieäc vaø thöôøng höõu duïng cho vieäc gôõ roái. Lôùp Java ñöôïc bieân dòch _ Gioáng nhö baát kyø lôùp java khaùc,maõ java Servlet ñöôïc phaùt sinh ñöôïc chuyeån thaønh maõ byte trong taäp tin .class,saún saøng ñöôïc taûi veà vaø saún saøng ñöôïc thöïc hieän. _ Boä chöùa JSP quaûn lyù moãi daïng trong nhöõng daïng cuûa trang JSP theo moät caùch töï ñoäng hoùa.Ñeå ñaùp laïi yeâu caàu cuûa HTTP,boä chöùa JSP kieåm tra ñeå bieát neáu taäp tin nguoàn .jsp ñaõ ñöôïc bieân dòch töø nguoàn java ñöôïc bieân dòch laàn cuoái.Neáu ñuùng ,boä chöùa dòch laïi nguoàn JSP thaønh nguoàn java vaø bieân dòch laïi noù.Moâ hình 2.3.1 seõ moâ taû tieán trình ñöôïc söû duïng bôû boä chöùa JSP.Khi moät yeâu caàu töø trang JSP ñöôïc taïo ra,ñaàu tieân boä chöùa quyeát ñònh teân lôùp phuø hôïp vôùi taäp tin .jsp. Neáu lôùp khoâng toàn taïi hoaëc cuõ hôn taäp tin .jsp(nghóa laø nguoàn JSP ñaõ ñöôïc thay ñoåi khi noù ñöôïc bieân dòch laàn cuoái),sau ñoù boä chöùa taïo ra maõ nguoàn java cho servlet töông ñöông vaø bieân dòch noù.Neáu moät servlet chöa chaïy ,boä chöùa taûi lôùp servlet vaø taïo ra thöïc theû .Cuoái cuøng boä chöùa göûi luoàng ñeå xöû lyù yeâu caàu HTTP hieän thôøi trong thöïc theå ñöôïc taûi veà. Start Determine class name Does class already exist? Class newer than JSP? Instance already running Send request to this íntance End Transtate source into Java servlet source Compile servlet source code into class file Load class and create íntance Sô ñoà 2.3.1 Loâgic ñöôïc söû duïng bôûi moät boä chöùa JSP ñeå quaûn lyù baûn dòch JSP II - Öu ñieåm JavaServer pages _ JSP coù taát caû caùc lôïi theá cuûa Java Servlet.Theâm vaøo ñoù,JSP coù nhöõng öu ñieåm cuûa mình : Noù töï ñoäng ñöôïc bieân dòch laïi khi caàn thieát. Vieát ñòa chæ trang JSP thì ñôn giaûn hôn vieäc vieát ñòa chæ cuûa trang Servlet Bôûi vì trang JSP gioáng trang HTML,neân chuùng coù tính töông thích lôùn hôn vôùi nhöõng coâng cuï phaùt trieån maïng. ö So saùnh giöõa JSP vaø Servlet : Ñaëc taû JSP cung caáp raát nhieàu theû cho pheùp ngöôøi duøng tuyø bieán khi nhuùng leänh Java trong trang JSP . Caùc theû naøy seõ keát hôïp vôùi caùc leänh hay theû chuaån HTML ñeå taïo ra keát xuaát cuoái cuøng traû veà trình khaùch . Caùc chöùc naêng cuûa trang JSP hoaøn toaøn gioáng vôùi servlet tuy nhieân baïn khoâng caàn phaûi bieân dòch trang JSP baèng tay .Trình chuû Web server seõ thöïc coâng vieäc naøy hoä baïn . Nhö vaäy , vieát trang JSP ñôn giaûn hôn vieát servlet .Neáu ñem so saùnh baïn seõ thaáy raèng , khi vieát servlet baïn phaûi töï taïo ñoái töôïng luoàng xuaát java.io.PrintWriter out = resp.getWriter ( ); ñeå keát xuaát keát quaû traû veà cho trình khaùch .Trong khi ñoù neáu vieát trang JSP thì khoâng caàn phaûi thöïc hieän ñieàu naøy . Boä dieãn dòch JSP ñaõ taïo saün ñoái töôïng out cho baïn söû duïng . Thaät ra thì trang JSP ñöôïc bieân dòch thaønh servlet phía sau haäu tröôøng , keát xuaát cuûa trang JSP thaät ra laø keát xuaát cuûa servlet . Tuyø theo moãi trình chuû khaùc nhau ( nhö JRun , Web Logic ….) maø seõ coù caùc taäp tin dieãn dòch .jsp ra servlet khaùc nhau . Theo cô cheá cuûa JSP , baïn khoâng caàn phaûi quan taâm ñeán nhöõng taäp tin phuï naøy . Neáu baïn xoaù caùc taäp tin naøy ñi ,trình chuû seõ töï ñoäng taïo môùi laïi . Theo cô cheá naøy thì trang JSP coù theå phaûi thöïc hieän chaäm hôn servlet thuaàn tuyù , nhöng chæ laø laàn ñaàu khi trang JSP ñöôïc bieân dòch .ÔÛ laàn trieäu goïi keá tieáp töø maùy khaùch , trình chuû khoâng caàn dòch laïi trang JSP nöõa ( tröø khi coù thay ñoåi noäi dung trang JSP ) . Maõ JSP luùc naøy laø maõ Java nhò phaân (byte-code) ñöôïc goïi thöïc thi tröïc tieáp .Chính vì lyù do naøy , trang .jsp xeùt veà toác ñoä seõ nhanh hôn haún caùc trang web thöïc hieän cô cheá dieãn dòch nhö . asp ( Active Server Page ) cuaû Microsoft hay .pl cuûa trình CGI Perl . Ñaây laø lyù do maø ñeà taøi choïn coâng ngheä JSP . Vieát trang JSP ñôn giaûn hôn vieát Servlet vaø baïn hoaøn toaøn coù theå taän duïng moïi chöùc naêng cuûa Servlet beân trong trang JSP . Tuy nhieân ,servlet thöôøng ñöôïc xem nhö nhöõng ñoái töôïng thaønh phaàn (component ) nhuùng vaøo trình chuû (töông töï ñoái töôïng ActiveX hay COM cuûa Microsoft ). Chính vì vaäy servlet thöôøng ñöôïc duøng cho caùc chöùc naêng xöû lyù phöùc taïp nhö : giao tieáp vôùi Applet phía trình khaùch, thöïc hieän baûo veä taøi nguyeân ,chöùng thöïc maät khaåu … Trong khi ñoù trang JSP ñöôïc duøng cho caùc thao taùc truy xuaát hay xöû lyù ñôn giaûn nhö trình baøy giao dieän , ñònh daïng trang HTML , trieäu goïi caùc thaønh phaàn JavaBean hay servlet khaùc . Nhö vaäy , keát hôïp JSP vaø Servlet laø caùch toát nhaát khi baïn choïn phaùt trieån öùng duïng Web baèng Java phía maùy chuû . Caùc theû leänh cuûa JSP : JSP cung caáp caùc theû leänh giuùp taïo trang web .Cuõng töông töï nhö theû HTML , theû leänh JSP bao goàm theû môû vaø theû ñoùng . Thöïc söï caùc theû JSP ñöôïc xaây döïng theo ñaëc taû vaø chuaån XML ( Extension Markup Language ) neân coù hôi khaùc vôùi theû HTML vì chuaån XML khoâng xem chöõ hoa vaø chöõ thöôøng gioáng nhau . Moãi theû coù caùc thuoäc tính quy ñònh caùch duøng theû . Theû hay Theû naøy cho pheùp ñaët caùc ñoaïn maõ leänh Java ôû giöõa caëp theû töông töï moät chöông trình java thoâng thöôøng . Theû khai baùo vaø thöïc hieän bieåu thöùc <%! , <%= Theû naøy duøng ñeå khai baùo moät bieán duøng cho toaøn trang jsp .Bieán khai baùo phaûi ñuùng theo cuù phaùp cuûa ngoân ngöõ Java . Theû <%= ñöôïc duøng ñeå hieån thò moät bieåu thöùc . Theû nhuùng maõ nguoàn Vôùi theû naøy coù theå nhuùng moät trang .html vaøo trang jsp hieän haønh . Theû naøy töông töï chæ daãn #include trong ngoân ngöõ C . Cuù phaùp ñaày ñuû cuûa theû naøy laø : Theû chæ daãn bieân dòch trang Theû naøy chæ daãn moät soá tính chaát bieân dòch aùp duïng cho toaøn trang jsp .Coù theå söû duïng theû naøy ñeå khai baùo caùc thö vieän import cuûa java , chæ ñònh tuyø choïn trang jsp coù caàn giöõ treân cache boä nhôù cuûa trình chuû ñeå taêng toác hay khoâng … e- Theû chuyeån höôùng Theû naøy giuùp chuyeån höôùng trang Web sang ñòa chæ khaùc . Ví duï , khi xöû lyù trang nhaän döõ lieäu ñaêng nhaäp (login page ) baïn kieåm tra maät khaåu , neáu hôïp leä baïn chuyeån ngöôøi duøng ñeán trang taøi nguyeân cho pheùp truy caäp . Neáu khoâng hôïp leä , baïn chuyeån ngöôøi duøng ñeán trang thoâng baùo loãi f- Theû söû duïng thaønh phaàn Bean Baïn coù theå töï taïo caùc lôùp ñoái töôïng Java vaø trieäu goïi chuùng töø beân trong trang jsp . Höôùng theo coâng ngheä thaønh phaàn (component ) Java goïi nhöõng ñoái töôïng coù theå gaén vaøo nhöõng öùng duïng laø thaønh phaàn Bean . g- Theû ñaët thuoäc tính cho Bean Theû naøy ñöôïc söû duïng ñeå trieäu goïi moät phöông thöùc naøo ñoù cuûa Bean . h- Theû laáy thuoäc tính cuûa Bean Ngöôïc vôùi theû duøng ñeå laáy veà noäi dung cuûa moät thuoäc tính . Caùc ñoái töôïng maëc ñònh cuûa trang JSP : Trang dieãn dòch JSP cho pheùp söû duïng moät soá ñoái töôïng ñaõ khai baùo tröôùc .Ñieàu naøy giuùp vieát maõ leänh trong trang jsp nhanh hôn servlet . Ñoái töôïng out : xuaát phaùt töø lôùp PrintWriter . Baïn coù theå söû duïng ñoái töôïng naøy ñeå ñònh daïng keát xuaát göûi veà maùy khaùch .Ví duï: Ñoái töôïng request :xuaát phaùt töø lôùp HttpServletRequest.Ñoái töôïng naøy giuùp laáy veà caùc tham soá hay döõ lieäu do trình khaùch chuyeån leân . Ñoái töôïng response : töông töï ñoái töôïng out , ñoái töôïng response duøng ñeå ñöa keát xuaát traû veà trình khaùch . Tuy nhieân , doái töôïng out ñöôïc duøng thöôøng xuyeân hôn .out hoã trôï theâm luoàng ñeäm ñeå taêng toác keát xuaát Ñoái töôïng session : xuaát phaùt töø lôùp HttpSesssion . Söû duïng ñoái töôïng session ñeå theo doõi keát noái vaø löu veát moät phieân laøm vieäc giöõa trình khaùch vaø trình chuû . Truy xuaát cô sôû döõ lieäu trong trang JSP : Coù theå deã daøng duøng trình JDBC ñeå truy xuaát cô sôû döõ lieäu cuûa heä quaûn trò cô sôû döõ lieäu SQL Server . Trang JSP trieäu goïi ñoái töôïng RMI ,CORBA : Bôûi vì trang JSP chöùa haàu nhö toaøn boä maõ Java cho neân baïn coù theå trieäu goïi ñoái töôïng phaân taùn nhö RMI hay CORBA theo caùch raát töï nhieân . Nghóa laø sau khi thieát laäp ñöôïc ñoái töôïng RMI , chaúng haïn vsc thì baïn phaûi coù trang web vsc.jsp ñeå trieäu goïi ñoái töôïng vsc töø phía trình duyeät ôû maùy chuû. Treân ñaây ñaõ giôùi thieäu kyõ thuaät laäp trình web baèng trang jsp . Coù theå duøng caùc coâng cuï nhö : NotePad , DreamWaver … ñeå vieát trang JSP , trong ñeà taøi coâng cuï NotePad ñöôïc söû duïng . Vôùi JSP baïn coù theå nhuùng leänh Java vaøo trang Web keát hôïp vôùi caùc theû HTML truyeàn thoáng . JSP thay cho Servlet vaø deã söû duïng hôn servlet . Tuy nhieân keát hôïp giöõa trang jsp vaø coâng ngheä component cuûa servlet laø caùch toát nhaát ñeå xaây döïng nhöõng öùng duïng web maïnh meõ phaùt huy taùc duïng ôû caû hai phía khaùch / chuû. ö JAVABEAN I - Khaùi nieäm veà JavaBean _ JavaBean laø moät thaønh phaàn java 100% maø laøm vieäc treân baát kyø maùy aûo naøo. Noù laø moät lôùp Java duøng laïi ñöôïc.Khi chuùng ta nhuùng nhieàu maõ java hôn trong JSP,ngöôøi phaùt trieån Java phaûi vaät ngaõ ngöôøi thieát keá trang cho söï truy nhaäp xuoáng trang.Thaät khoù hôn ñeå ñoïc maõ Java khi noù pha troän beân trong vôùi HTML.Caùch maø chuùng ta coù theå giöõ maõ java cuûa chuùng ta rieâng bieät töø JSP seõ söû duïng moät javaBean. _ Yeâu caàu toái thieåu nhaát ñeå taïo neân thaønh phaàn JavaBean laø:coâng cuï vaø trình bieân dòch JDK 1.1 trôû leân.JavaBean coù theå söû duïng caùc phöông thöùc get/set ñeå laáy veà vaø ñaët thuoäc tính cho ñoái töôïng Bean maø noù theå hieän. _ Ñeå taïo ra lôùp ñoái töôïng JavaBean baèng caùch caøi ñaët giao tieáp java.io.Serializable cuûa Java.Tieáp ñeán ,baïn thieát laäp vaø xaây döïng caùc phöông thöùc mang teân get/set ñeå trình baøy caùch goïi nhöõng thuoäc tính cuûa Bean trong trang JSP.Taát caû caùc söï truy nhaäp tôùi Bean phaûi ñöôïc thoâng qua nhöõng phöông phaùp naøy;tröôøng döõ lieäu naèm beân döôùi laø baûo maät.Nhöõng thuoäc tính naøy coù daïng getVariableName() vaø setVariableName().caû hai thuoäc tính coù thuùc ñaåy caùc hoaït ñoäng phöùc taïp tuøy yù.Ñieàu naøy coù nghóa laø bean hoaït ñoäng nhö moät hoäp ñen huyeàn bí.Moâ hình cuûa JavaBean ñöôïc minh hoïa trong hình 2.6.1 II - Öu ñieåm JavaBean _ Hai thöù maø JavaBean ñaët bieät söû duïng.Tröôùc heát khoâng chæ caùc nhaø laäp trình Java maø coøn caùc nhaø phaùt trieån JSP caàn bieát ñeán tính naêng môû roäng cuûa JavaBean ñeå söû duïng chuùng.Ñieàu höõu ích thöù hai laø noù khoâng quan troïng caùi gì chuùng laøm nhö khoâi phuïc hoaëc thay ñoåi moät thuoäc tính.Coù theå yeâu caàu ñeå coù ñöôïc moät thuoäc tính thì ñoøi hoûi JavaBean phaûi tìm kieám moät vaøi thoâng tin naøo ñoù trong cô sôû döõ lieäu. “JavaBean lôïi duïng moät vaøi yeâu caàu maø nhaø phaùt trieån maïng coù theå tìm thaáy höõu ích.Bôûi vì taát caû bean phaûi coù phöông thöùc set/get vôùi ñoái soá zero vaø khoâng neân phôi baøy baát kyø thuoäc tính naøo,bôûi nhöõng tieâu chuaån naøy laøm cho noù deã daøng ñöa JavaBean vaøo moâi tröôøng maïng treân neàn taûng Servlet. The Bean Property4(Stored in adatabase) Data Property1(Stored in memory) Property2(Stored in memory,and changes property3) Property3 getProperty1() setProperty1() getProperty2() setProperty2() getProperty3() getProperty4() setProperty4() Moâ hình 2.6.1 III - THEÂM JAVABEAN VAØO JSP _ Ñeå döû duïng JavaBean vaøo trong trang JSP,coù ba theû chuan ñöôïc ñònh nghóa ñeå keát hôïp JavaBean:moät theû duøng ñeå ñònh vò hoaê taïo moät JavaBean trong phaïm vi xaùc ñònh, moät theû khaùc duøng ñeå ñaët thuoäc tính cho bean vaø cuoái cuøng laø theû laáy veà giaù trò thuoäc tính cuûa Bean.Baûng sau ñaây lieät keâ danh saùch cuù phaùp maø coù theå söû duïng JavaBean trong trang JSP. Muïc ñích Cuù phaùp Ñònh nghóa Bean <jsp:useBean id=”name” scope=”page|request|session|application”class=”className”/> Ñaët thuoäc tính cho Bean Laáy giaù trò thuoäc tính cuûa Bean Cuù phaùp söû duïng JavaBean trong trang JSP _ Thuoäc tính scope cho bieát moâi tröôøng soáng cuûa ñoái töôïng .Phaïm cuûa khai baùo maø thaønh phaàn Bean coù hieäu löïc bao goàm: Page :bean chæ coù hieäu löïc vaø phaïm vi truy xuaát trong trang khai baùo noù . Request : Coù hieäu löï trong moät laàn yeâu caàu töø phía maùy khaùch ) Session :Coù hieäu löïc trong thôøi gian thöïc hieän baát kyø trang JSP hoaëc java servlet trong phieân HTTP naøy. Application :Coù hieâuï löïc trong baát kyø trang JSP hoaëc Java Servlet trong öùng duïng maïng. CHÖÔNG 3 PHAÂN TÍCH VAØ HIEÄN THÖÏC CÖÛA HAØNG BAÙN LINH KIEÄN MAÙY TÍNH TREÂN MAÏNG 3.1 KHAÛO SAÙT HEÄ THOÁNG BAÙN HAØNG QUA MAÏNG _Hieän nay, vieäc buoân baùn ñaõ phaùt trieån khoâng ngöøng vaø trôû thaønh nhòp caàu noái giöõa caùc tænh thaønh trong caû nöôùc cuõng nhö treân theá giôùi.vieäc giao dòch thöông maïi vaø kyù keát ñôn haøng ñaõ ñöôïc thöïc hieän moät caùch nhanh choùng vaø coù hieäu quaû thoâng qua caùc phöông tieän hoã trôï cöïc kyø höõu duïng nhö ;Fax,Email vaø Internet.Trong ñoù ,chuùng ta phaûi keå ñeán moät lôïi ích to lôùn cuûa thöông maïi ñieän töû thoâng qua maïng Internet.Ñieån hình laø moät heä thoáng baùn linh kieän maùy tính qua maïng ñaõ laøm cho vieäc kinh doanh trong nöôùc ngaøy caøng phaùt trieån vöôït baät. _ Moät khaùch haøng khi tham quan Website baùn linh kieän maùy tính,hoï seõ ñaët vaán ñeà coâng ty kinh doanh nhöõng loaïi linh kieän gì? thoâng tin veà caùc saûn phaåm ñöôïc baùn giaù caû vaø nhöõng hình thöùc thanh toaùn nhö theá naøo?…Do ñoù ñeå ñaùp öùng nhu caàu cuûa khaùch haøng, Website naøy phaûi ñaûm baûo cung caáp nhöõng thoâng tin caàn thieát ñoù,coù giaù trò vaø hôn theá nöõa laø söï thuaän tieän vaø deã daøng trong vieäc thao taùc ñaêng kyù mua haøng.haøng khi baùn phaûi coù thoâng tin veà hình aûnh, giaù caû vaø caùc thoâng tin khaùc coù lieân quan ñeå giôùi thieäu chi tieát ñeán khaùch haøng.Ñaây laø moät hình thöùc giao tieáp khaù hay,phuø hôïp vôùi thöïc teá nhaèm taïo söï ñaëc saéc, loâi cuoán khaùch haøng khi tham quan Website naøy.Ngoaøi nhöõng thoâng tin veà saûn phaåm, website caàn phaûi caäp nhaät theâm nhöõng thoâng tin giaù caû vaø tình hình bieán ñoäng cuûa caùc linh kieän maùy tính trong vaø ngoaøi nöôùc nhaèm giuùp cho khaùch haøng kòp thôøi naém baét thoâng tin. _ Ñaây laø moät hình thöùc giôùi thieäu vaø buoân baùn linh kieän maùy tính treân maïng töông ñoái môùi.Ngöôøi quaûn lyù baùn haøng phaûi giao tieáp vaø theo doõi khaùch haøng cuûa minh thoâng qua caùc ñôn daët haøng . - Veà phía khaùch haøng phaûi cung caáp thoâng tin veà mình cho nhaø quaûn lyù ñeå nhaø quaûn lyù coù theå döïa treân thoâng tin ñoù ñeå giao haøng vaø thanh toaùn. - Veà phía nhaø quaûn lyù baùn haøng ,ngoaøi vieâc ghi nhaän thoâng tin töø khaùch haøng ,nhaø quaûn lyù coøn phaûi ñöa thoâng tin veà taát caû caùc maët haøng maùy tính,giaù caû vaø caùc thoâng tin khaùc leân maïng Internet ñeå khaùch haøng tham khaûo .Nhaø quaûn lyù phaûi xaây döïng cô sôû döõ lieäu phuø hôïp ,khoâng dö thöøa phaûi nhaát quaùn moät giao dieän thaân thieän giuùp khaùch haøng khoâng bôõ ngôõ khi böôùc vaøo Website. - Khaùch haøng coù theå tröïc tieáp vaøo trang Web cuûa coâng ty ñeå tham khaûo vaø mua caùc loaïi linh kieän maùy tính.Tröôùc khi mua haøng khaùch haøng phaûi ñaêng kyù thoâng tin caù nhaân cuûa mình cho coâng ty .Neáu laàn sau khaùch haøng coù mua haøng thì khaùch haøng chæ caàn nhaäp teân vaø maät khaåu ñaõ ñöôïc caáp laàn tröôùc ñeå ñaêng nhaäp maø khoâng caàn phaûi cung caáp thoâng tin theâm moät laàn nöõa .Ñieàu naøy giuùp cho khaùch haøng ñôõ toán nhieàu thôøi gian vaø ñöôïc öu tieân höôûng töø phía coâng ty. 3.2 NHIEÄM VUÏ CUÛA HEÄ THOÁNG BAÙN HAØNG QUA MAÏNG _Trong phaàn naøy, giôùi thieäu veà moät heä thoáng baùn linh kieän maùy tính qua maïng. Heä thoáng naøy ñöôïc xaây döïng nhaèm ñaùp öùng nhu caàu baùn linh kieän maùy thính trong caû nöùôc. Noù cho pheùp taát caû user ñang truy caäp thoâng tin treân maïng coù theå khaûo saùt tham quan, tra cöùu, tìm kieám caùc thoâng tin veà maët haøng maø khaùch haøng caàn. Sau khi xem xong vaø muoán ñaët mua maët haøng naøo ñoù thì heä thoáng baùn haøng cuõng ñaùp öùng ñöôïc thoâng qua moät ñôn ñaët haøng ñöôïc thöïc hieän ngay qua maïng vaø thoâng tin ñôn haøng seõ ñöôïc ñöa vaøo bôûi khaùch haøng, luùc ñoù heä thoáng seõ taïo ra ñôn ñaët haøng voùi khaùch haøng naøo coù yeâu caàu. Ñôn ñaët haøng naøy seõ ñöôïc heä thoáng kieåm tra, ñoái chieáu, xem thoâng tin maø khaùch haøng nhaäp vaøo coù ñuùng hay khoâng. Sau khi ñôn ñaët haøng ñaõ ñöôïc kieåm tra ñuùng, heä thoáng seõ giao cho boä phaän giao nhaän vaø giao cho khaùch haøng theo ñòa chæ cuûa khaùch vaø khaùch haøng seõ thanh toaùn hoùa ñôn baèng caùch chuyeån khoaûn… 3.3 PHAÂN TÍCH HIEÄN TRAÏNG VAØ GIAÛI QUYEÁT VAÁN ÑEÀ ö Cô caáu toå chöùc. _ Trong Coâng ty baùn linh kieän maùy tính, heä thoáng toå chöùc caùc boä phaän coù söï hoã trôï laãn nhau bao goàm: Ban ñieàu haønh, boä phaän giao dòch, boä phaän keá toaùn, boä phaän kho, boä phaän taøi chính, boä phaän KCS, boä phaän quaûn trò maïng. BAN ÑIEÀU HAØNH BOÄ PHAÄN HAØNH CHAÙNH BOÄ PHAÄN KEÁ TOAÙN BOÄ PHAÄN KHO BOÄ PHAÄN GIAO DÒCH BOÄ PHAÄN KCS QUAÛN TRÒ MAÏNG ö Moâ taû hoaït ñoäng cuûa töøng boä phaän trong coâng ty. Ban ñieàu haønh : Quaûn lyù vaø phaân phoái hoaït ñoäng cuûa coâng ty. Quaûn lyù vaø ñieàu haønh hoaït ñoäng cuûa nhaân vieân. Phaân loaïi khaùch haøng. Quyeát ñònh giaù chính thöùc cho töøng maët haøng. Tuy nhieân giaù ñöôïc chia theo töøng loaïi tuøy vaøo loaïi khaùch haøng (khaùch haøng mua soá löôïng nhieàu, khaùch haøng thöôøng xuyeân ...) . Nhaän baùo caùo töø caùc boä phaän khaùc nhö: keá toaùn, haønh chính, baùn haøng …Töø ñoù coù caùch nhìn veà tình hình coâng ty, thò hieáu khaùch haøng … ñeå coù keá hoaïch ñònh höôùng, phaùt trieån nhaèm ñaùp öùng yeâu caàu thò hieáu khaùch haøng vaø tieán trieån cho coâng ty. Boä phaän haønh chính : Ghi cheùp nhöõng chi phí veà vaän chuyeån, chi phí trong vieäc cheá bieán, mua haøng töø nhaø cung caáp, cheá ñoä tieàn löông nhaân vieân … Ghi cheùp chi phí trong vieäc chi traû cho khaùch haøng ñöôïc thöôûng, khuyeán maõi, haäu maõi. Xem naêng suaát ñeå coù cheá ñoä khen thöôûng ñoái vôùi nhöõng caù nhaân coù thaønh tích goùp phaàn phaùt trieån coâng ty hoaëc kyû luaät ñoái vôùi caù nhaân khoâng hoaøn thaønh nhieäm vuï hay coù bieåu hieän tieâu cöïc. Beân caïnh ñoù phaûi theo doõi bieán ñoäng giaù caû vaø ñaây laø loaïi bieán ñoäng theo thôøi gian. Töø ñoù ñöa ra baûng giaù thích hôïp cho töøng loaïi maët haøng. Boä phaän giao dòch : Coâng ty coù hai loaïi veà khaùch haøng: khaùch haøng taïi coâng ty vaø khaùch haøng treân maïng. Tröïc tieáp taïi coâng ty: Taïi coâng ty coâng vieäc cuûa nhaân vieân giao dòch laø laäp ñôn ñaët haøng cuûa khaùch. Coâng ty khoâng coù phöông thöùc baùn thieáu nhöng khaùch haøng phaûi ñaêng kyù ôû boâ phaän baùn haøng caùc thoâng tin veà mình ñeå deã lieân laïc vaø quaûn lyù nhö: teân khaùch haøng, ñòa chæ lieân laïc, soá ñieän thoaïi, teân coâng ty... vaø moãi khaùch haøng ñöôïc quaûn lyù baèng maõ soá rieâng vaø khaùch haøng duøng maõ soá ñoù ñeå mua haøng hay ñaët haøng. Moãi khaùch haøng thöôøng coù moät nhaân vieân theo doõi, quaûn lyù vôùi maõ soá rieâng cuûa töøng nhaân vieân. Saûn phaåm ñöôïc tröng baøy taïi coâng ty ,khaùch haøng ñeán coâng ty coù theå yeâu caàu xem haøng maãu cuøng vôùi baûng baùo giaù .Moãi saûn phaåm ñeàu ñöôïc kieåm tra chaát löôïng theo ñuùng tieâu chuan quoác teá khi ñaõ thaønh phaåm . Khi khaùch haøng mua haøng, boä phaän giao dòch seõ trao ñoåi thoâng tin cuøng khaùch haøng, chòu traùch nhieäm höôùng daãn, laøm ñôn ñaêng kyù mua haøng(trong tröôøng hôïp khaùch mua). Sau khi tieáp nhaän yeâu caàu treân boä phaän naøy seõ laøm hoùa ñôn vaø thanh toaùn tieàn. Trong tröôøng hôïp nhieàu coâng ty, caùc doanh nghieäp … coù yeâu caàu ñaët haøng, mua vôùi soá löôïng lôùn thì coâng ty nhanh choùng laøm phieáu ñaët haøng phieáu thu coù ghi thueá cho töøng loaïi haøng vaø giao haøng theo yeâu caàu. Treân maïng: Ñaây laø loaïi hình thöùc môùi maø ngöôøi mua haøng phaûi hoaøn toaøn töï thao taùc thoâng qua töøng böôùc cuï theå ñeå coù theå mua ñöôïc haøng. Treân maïng, caùc maët haøng thuûy saûn ñöôïc saép xeáp, phaân chia thaønh nhieàu phaân khu vaø moãi phaân khu coù nhieàu loaïi khaùc nhau rieâng bieät ñeå giuùp cho ngöôøi duøng deã söû duïng, tham khaûo, giuùp cho ngöôøi quaûn trò deã thay theá, theâm bôùt saûn phaåm cuûa hoï. Trong hoaït ñoäng naøy ngöôøi duøng chæ caàn choïn moät loaïi saûn phaåm naøo töø trong danh saùch cuûa töøng phaân khu laø nhöõng thoâng tin veà saûn phaåm ñoù seõ hieän leân nhö: teân haøng hoùa, giaù caû vaø nhöõng moâ taû ngaén veà loaïi haøng hoùa ñoù vaø beân caïnh laø trang lieân keát ñeå theâm haøng hoùa vaøo trong gioû ñieän töû (basket). Ñaây laø gioû haøng ñieän töû maø trong ñoù coù chöùa caùc thoâng tin veà haøng hoaù laãn soá löôïng khaùch mua vaø hoaøn toaøn ñöôïc caäp nhaät trong gioû. Khi khaùch haøng muoán ñaët haøng thì heä thoáng hieån thò trang xaùc laäp ñôn ñaët haøng cuøng thoâng tin veà khaùch haøng vaø haøng hoaù. Vaø cuoái cuøng laø do khaùch haøng tuyø choïn ñaët haøng hay khoâng. Caùc coâng vieäc cuï theå øcho boä phaän giao dòch: Theo doõi ñöôïc haøng hoùa trong kho. Nhaân vieân giao dòch caàn phaûi nhaäp nhöõng thoâng tin caàn thieát cuûa töøng maët haøng vaøo vaø vôùi maõ soá rieâng cuûa hoï. Nhaäp thoâng tin khaùch haøng vôùi maõ soá rieâng bieät. Theo doõi, tính toaùn toác ñoä laép raùp vaø xaùc ñònh thôøi gian giao haøng. Nhaân vieân chòu traùch nhieäm quaûn lyù khaùch haøng maø mình phuïc vuï. Boä phaän KCS : Kieåm tra chaát löôïng caùc maët haøng tröôùc khi nhaäp veà coâng ty vaø kieåm tra chaát löôïng saûn phaåm . Giao haøng ñuùng thôøi haïn, thôøi gian yeâu caàu. Moãi loâ haøng kieåm tra ñeàu coù maõ soá rieâng vaø coù keøm maõ nhaân vieân KCS. Boä phaän kho : Chöùc naêng chính cuûa boä phaän kho laø nhaäp haøng, xuaát haøng cho boä phaän baùn haøng vaø theo doõi soá löôïng haøng toàn kho. Nhaân vieân phaûi thöôøng xuyeân kieåm tra ñeå bieát ñöôïc soá löôïng haøng hoùa bò hö hoûng, saép heát hay quaù haïn, khi ñoù phaûi ñeà xuaát ban ñieàu haønh coù keá hoaïch xöû lyù. Quaûn lyù haøng hoùa: Caùc linh kieän maùy tính ñeàu phaûi coù moät loaïi maõ soá rieâng ñeå phaân bieät vôùi maët haøng khaùc. Caùc maët haøng ñeàu phaûi ñaày ñuû caùc thoâng tin nhö: teân haøng hoùa, chi tieát haøng hoùa, giaù caû, thoâng tin nhaø cung öùng… Caùc qui ñònh veà maõ soá cuûa coâng ty thöôøng thì ñöôïc löu tröõ noäi boä do boä phaän quaûn lyù ñaët: thöôøng thì caùch laáy maõ soá theo daïng soá thöù töï 123 ... Quaù trình ñaët haøng vôùi nhaø cung caáp : Haøng ngaøy nhaân vieân kho seõ kieåm tra haøng hoùa trong kho vaø ñeà xuaát leân ban ñieàu haønh caàn xöû lyù veà vieäc nhöõng maët haøng caàn nhaäp. Trong quaù trình ñaët haøng thì ban ñieàu haønh seõ coù traùch nhieäm xem xeùt caùc ñeà xuaát veà nhöõng maët haøng yeâu caàu vaø quyeát ñònh loaïi haøng, soá löôïng haøng caàn ñaët vaø phöông thöùc ñaët haøng vôùi nhaø cung caáp. Vieäc ñaët haøng vôùi nhaø cung caáp ñöôïc thöïc hieän trong hai laàn vaø thöïc hieän thoâng qua ñòa chæ treân maïng hay ñieän thoaïi, fax. Quaù trình nhaäp haøng vaøo kho : Quaù trình nhaäp haøng theo nhieàu caùch khaùc nhau: Mua töø beân ngoaøi(coâng ty khaùc, tö doanh, ñaïi lyù...) Do bò traû laïi töø quaày baùn haøng. Do khaùch haøng traû. Do ñôn haøng khoâng hôïp leä. Sau khi nhaän yeâu caàu ñaët haøng qua ñieän thoaïi, fax hay qua maïng töø coâng ty, nhaø cung caáp seõ giao haøng cho coâng ty coù keøm theo hoùa ñôn hay baûng keâ chi tieát caùc loaïi maët haøng hoùa cuûa töøng loaïi. Thuû kho seõ kieåm tra loâ haøng cuûa töøng nhaø cung caáp vaø trong tröôøng hôïp haøng hoùa giao khoâng ñuùng yeâu caàu ñaët haøng hay keùm chaát löôïng y... thì thuû kho seõ traû laïi nhaø cung caáp vaø yeâu caàu giao laïi nhöõng maët haøng bò traû ñoù. Trong khi laøm vieäc cho nhöõng tröôøng hôïp xaûy ra naøy thì thuû kho phaûi ghi laïi nhöõng haøng hoùa nhaäp thöïc. Keá tieáp thuû kho seõ kieåm tra chöùng töø giao haøng (hoùa ñôn tröïc tieáp khoâng khaáu tröø VAT, hoùa ñôn coù khaáu tröø VAT, baûng keâ haøng hoùa, giaù caû) ñeå gaùn giaù trò thaønh tieàn cho töøng loaïi saûn phaåm. Nhöõng loaïi haøng hoùa naøy seõ ñöôïc cung caáp moät maõ soá vaø ñöôïc caäp nhaät ngay vaøo giaù baùn. Trong quaù trình nhaäp chöùng töø giao haøng vaøo maùy tính ñeå laøm phieáu nhaäp trong tröôøng hôïp laø maët haøng cuõ thì seõ ñöa vaøo danh saùch coù maõ naøy tröôùc ñoù trong töøng loaïi haøng hoùa.Coøn nhöõng haøng hoùa môùi seõ gaùn moät maõ soá môùi vaø trong töøng loaïi haøng hoùa môùi(neáu coù). Sau khi nhaäp xong chöùng töø giao haøng, nhaân vieân nhaäp kho seõ in moät phieáu nhaäp ñeå löu tröõ trong hoà sô. Quaù trình xuaát haøng : Quaù trình xuaát haøng coù nhieàu hình thöùc sau: Xuaát haøng noäi boä ñeå baùn treân maïng, trong quaày, laép raùp. Xuaát haøng theo loâ, boä khi coù yeâu caàu cuûa ñôn ñaët haøng. Traû laïi cho nhaø cung caáp cho tröôøng hôïp haøng khoâng ñaït yeâu caàu, keùm chaát löôïng, baùn chaäm … keøm theo caùc giaáy tôø coù lieân quan. Xuaát haøng ñeå thanh lyù vì quaù haïn hay hö hoûng naëng. Ñöa ra caùc hình thöùc khuyeán maõi do tình hình thò tröôøng, tình hình coâng ty vaø aùp duïng cho töøng loaïi cuï theå treân maïng hay quaûng caùo thoâng qua caùc baùo bieåu , banner ... Ñònh giaù : Vieäc ñònh giaù cho moät maët haøng tuøy vaøo söï quyeát ñònh cuûa boä phaän kho, giaù khoâng ñuùng vôùi gíaù khung khi nhaäp haøng maø coäng theâm caùc chi phí phaùt sinh khaùc. Coâng thöùc cuï theå: Giaù nhaäp = giaù mua + chi phí khaùc. chi phí khaùc :(thueá nhaäp khaåu, chi phí vaän chuyeån, ....). Giaù thaønh = giaù xuaát + chi phí khaùc. chi phí khaùc: (coâng, coâng cuï, khaáu hao...). Giaù voán = giaù thaønh + chi phí khaùc. chi phí khaùc: (bao bì, quaûng caùo, nhaân vieân baùn haøng...). Giaù baùn = giaù thò tröôøng. Laõi loã = giaù baùn – giaù voán. Chuyeån dola thaønh ñoàng Vieät Nam : VND = 1USD * tæ giaù dola.(tính taïi thôøi ñieåm hieän taïi) Boä phaän keá toaùn thoáng keâ : Coâng vieäc cuûa boä phaän naøy laø thöïc hieän caùc nghieäp vuï nhö thoáng keâ caùc hoùa ñôn baùn haøng, caùc phieáu nhaäp kho, caùc ñôn ñaët haøng vaø doanh soá thu chi cuûa coâng ty vaøo cuoái moãi kyø. Baùo caùo giaù trò thaønh tieàn cuûa toaøn boä haøng hoùa, baùo caùo soá tieàn moãi nhaân vieân baùn ñöôïc ... Thoáng keâ haøng hoùa: Nhaân vieân keá toaùn phaûi kieåm tra quaù trình nhaäp xuaát haøng. Ña phaàn caùc chöùng töø laø phieáu nhaäp, phieáu xuaát, ñôn ñaët haøng... thoáng keâ caùc loaïi haøng hoùa baùn chaïy nhaát hay chaäm nhaát. Thoáng keâ naêng suaát cuûa nhaân vieân trong töøng coâng vieäc Boä phaän quaûn trò : Coâng vieäc cuûa boä phaän naøy laø thöïc hieän caùc nghieäp vuï quaûn trò maïng, quaûn lyù veà nhaân vieân, cuûng coá maïng vaø ñaûm baûo cô sôû döõ lieäu luoân “refresh”. 3.4 THIEÁT KEÁ CÔ SÔÛ DÖÕ LIEÄU _ Treân cô sôû khaûo saùt thöïc teá ta caàn phaûi thieát laäp moät cô sôû döõ lieäu coù ñaày ñuû caùc thoâng tin caàn thieát vaø caùc thoâng tin ñoù phaûi thoáng nhaát,töùc laø phaûi coù söï raøng buoäc vôùi nhau baèng caùc qui ñònh moät caùch chaët cheõ. Ñeå xaây döïng moät cô sôû döõ lieäu ta coù 3 möùc tieáp caän: Möùc quan nieäm laø möùc xaùc ñònh heä thoáng coù nhöõng ñoái töôïng gì, chuùng quan heä vôùi nhau ra sao.Traû lôøi caâu hoûi :Coù._.

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

  • docBaocao.doc
  • docMU_C LU_C2.doc