Đồ án tốt nghiệp - Thiết kế và xây dựng Website kinh doanh máy tính Trờng đại học vinh Khoa công nghệ thông tin Trần hải việt Nguyễn quốc khánh Thiết kế và xây dựng website kinh doanh máy tính tóm tắt đồ án tốt nghiệp đại học kỹ s công nghệ thông tin Vinh - 2010 Nhúm SV: Trn Hi Vit - Nguyn Quc Khỏnh - Lớp 46 E2 - Tin Trang 1 Đồ án tốt nghiệp - Thiết kế và xây dựng Website kinh doanh máy tính Mở ĐầU Có thể nói sự phát triển vợt bậc của Công nghệ thông tin đã giúp con ngời hoá giải đợc rất nhiều bài toán nhng một điều quan trọng ở đây là không chỉ đơn thuần là giải đợc bài toán đó mà là phơng pháp để giải bài toán đó nh thế nào sao cho có hiệu quả nhất. Hầu hết trong tất cả các ứng dụng Web hiện nay đều làm việc dựa trên mô hình 3 lớp và sử dụng công nghệ Ajax. Việc ng dng mụ hỡnh ny đã làm cho các phần của chơng trình tr nờn độc lập hơn, đáng tin cậy và do đó tính bảo mật cao hơn. Điều đặc biệt hơn là khi sử dụng Ajax thì ngời dùng cảm thấy kết quả trả về ngay lập tức mà không cần nạp lại trang. Nhng ng dng cú tớnh thay i thng xuyờn nh ng dng Web gi õy s tr nờn linh động hơn khi có nhiều ngời truy cập hoặc trở nên dễ dàng hơn trong việc thay thế và nâng cấp. ti Thit k v xõy dng Website kinh doanh mỏy tớnh minh ha cho vic ng dng mụ hỡnh 3 lp v cụng ngh Ajax. Ni dung ca ti gm cú 3 chng: Chng I : Tng quan v ti Chng II : Tỡm hiu v mụ hỡnh 3 lp v cụng ngh Ajax Chng III: ng dng mụ hỡnh 3 lp xõy dng Website Thit k v xõy dng website kinh doanh mỏy tớnh Chỳng tụi xin chõn thnh cm n s giỳp ca Thy giỏo TS. Lờ Anh Ngc, cỏc thy cụ giỏo trong Khoa cụng ngh thụng tin v cỏc bn bố ó giỳp chỳng tụi trong quỏ trỡnh thc hin ỏn. Mc dự ó c gng hon thnh ỏn trong phm vi v kh nng cho phộp nhng chc chn s khụng trỏnh khi nhng thiu sút. Chỳng tụi rt mong nhn c s thụng cm, gúp ý ca cỏc Thy, Cụ v cỏc bn. Nhúm sinh viờn thc hin Trần Hải Việt Nhúm SV: Trn Hi Vit - Nguyn Quc Khỏnh - Lớp 46 E2 - Tin Trang 2 Đồ án tốt nghiệp - Thiết kế và xây dựng Website kinh doanh máy tính NGUYễN qUốC kHáNH CHƯƠNG I:Tổng quan đề tài 1.1. Lý do chọn đề tài Hin nay, kinh t th trng ang phỏt trin nờn nhu cu mua sm ca mi ngi cng c nõng cao. Cựng vi s phỏt trin ca Cụng Ngh Thụng Tin, Internet ang tr thnh mt ngi bn thõn thit ca mi ngi dõn nờn vic thit k mt Website mua bỏn qua mng l nhm ỏp ng mt phn nhu cu mua sm ca mi ngi tit kim thi gian v chi phớ i xem sn phm trc tip, do ú WebSite bỏn hng qua mng s l mt ngi bn hu ớch i vi nhng ngi hay lt web. 1.2. Phạm vi đề tài Shop Online nhằm phục vụ cho việc mua bán của một siêu thị máy tính qua mạng. Ngoi ra, hệ thống cần đợc thiết kế để có thể đợc áp dụng cho bất kỳ một Siêu th trc tuyn mua bán các loi sn phm no 1.3. Nhiệm vụ đề tài hon thnh tt ti thỡ bn thõn chỳng tụi cn phi tin hnh cỏc cụng vic sau: - Trc ht cn phi tỡm hiu cỏch xõy dng mt trang web nh th no. - Tỡm hiu vic ng dng mụ hỡnh 3 lp, cụng ngh Ajax vo vic xõy dng website. - Tớch cc tỡm kim, khai thỏc thụng tin. - Tỡm hiu cỏc h qun tr c s d liu hin nay. - Nm c c s lý thuyt chung v thng mi in t v cỏc vn trong thng mi in t. - Tin hnh xõy chng trỡnh: Phõn tớch, thit k v lp trỡnh. Nhúm SV: Trn Hi Vit - Nguyn Quc Khỏnh - Lớp 46 E2 - Tin Trang 3 §å ¸n tèt nghiÖp - ThiÕt kÕ vµ x©y dùng Website kinh doanh m¸y tÝnh 1.4. Ph¬ng ph¸p nghiªn cøu Để thực hiện các công việc, mục tiêu trên, chúng tôi đã sử dụng các phương phát nghiên cứu: - Phương pháp phân tích và tổng hợp lý thuyết. - Phương pháp nghiên cứu tài liệu. - Tham khảo các website về thương mại điện tử. Nhóm SV: Trần Hải Việt - Nguyễn Quốc Khánh - Líp 46 E2 - Tin Trang 4 Đồ án tốt nghiệp - Thiết kế và xây dựng Website kinh doanh máy tính Chơng II Tìm hiểu về mô hình 3 lớp và công nghệ ajax 2.1 Tìm hiểu về mô hình đa lớp 2.1.1 Mô hình 1 lớp Có thể nói mô hình Client/Server là mô hình có ảnh hởng lớn nhất đến ngành công nghệ thông tin. Mô hình Client/Server đã biến những máy tính riêng lẻ có khả năng xử lý thấp thành một mạng các máy chủ (Server) và máy trạm (workstation) có khả năng xử lý gấp hàng ngàn lần những chiếc máy tính mạnh nhất. Mô hình Client/Server 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 những bài toán lớn mà là cách thức giải bài toá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 chủ (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 khách (Client) kết nối với máy chủ (Server) và tải nhứng file thông tin cần thiết về. 2.1.2 Mô hình hai lớp Mô hình hai lớp 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ị cơ sở dữ liệu (DBMS). Khi Client cần thông tin từ cơ sở dữ liệu (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 mà Client yêu cầu. Ưu điểm của mô hình 2 lớp 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à 1 file do đó khi Client yêu cầu thông tin từ Server thì Server sẽ trả về cho Client toàn bộ một file có chứa thông tin đó. Nhúm SV: Trn Hi Vit - Nguyn Quc Khỏnh - Lớp 46 E2 - Tin Trang 5 Đồ án tốt nghiệp - Thiết kế và xây dựng Website kinh doanh máy tính Trong khi ở mô hình hai lớp thì Server có thể trả về cho Client 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 thao tác trên cơ sở dữ liệu cùng lúc mà vẫn đảm bảo đợc tính toàn vẹn của dữ liệu. Mô hình hai lớp đợc chia làm 2 loại a. Tính toán tập trung ở Client ở loại này, phía Client phải đảm nhận cả 2 lớp là giao diện và chức năng, còn Server chỉ làm nhiệm vụ lớp CSDL. Ưu điểm của 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: Do phần tính toán nghiêng về phía Client nên đòi hỏi Client phải có cấu hình đủ mạnh. Cũng do phần 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. b. Tính toán tập trung ở Server Nhúm SV: Trn Hi Vit - Nguyn Quc Khỏnh - Lớp 46 E2 - Tin Trang 6 Database Server Database Server DBMS DBMS Data access logic Data access logic Presentation Business logic business logic Presentation Business logic business logic Đồ án tốt nghiệp - Thiết kế và xây dựng Website kinh doanh máy tính ở 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 lớp CSDL. Ngợc lại với loại thứ nhất 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, 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 truy xuất tới Server cùng lúc. 2.1.3 Mô hình ba lớp Trong phỏt trin ng dng, d qun lý cỏc thnh phn ca h thng, cng nh khụng b nh hng bi cỏc thay i ngi ta hay nhúm cỏc thnh phn cú cựng chc nng li vi nhau v phõn chia trỏch nhim cho tng nhúm cụng vic khụng b chng chộo v nh hng ln nhau. Trong phỏt trin web, ngi ta cng ỏp dng cỏch phõn chia chc nng ny. Trong kin trỳc a tng (nhiu lp), mi lp s thc hin mt chc nng no ú, trong ú mụ hỡnh 3 lp l ph bin nht. 3 lp ny ú l: Presentation (Lp giao din) Business Logic (Lp cha cỏc hm) Data Access (Lp truy xut n c s d liu) Mụ hỡnh 3 lp m Microsoft phỏt trin dựng cho cỏc h thng da trờn nn .NET nh sau: Nhúm SV: Trn Hi Vit - Nguyn Quc Khỏnh - Lớp 46 E2 - Tin Trang 7 §å ¸n tèt nghiÖp - ThiÕt kÕ vµ x©y dùng Website kinh doanh m¸y tÝnh Presentation Lớp này làm nhiệm vụ giao tiếp với người dùng để thu thập dữ liệu và hiển thị kết quả dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Trong lớp này có 2 thành phần chính là User Interface Components và User Interface Process Components. UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị thông tin cho người dùng. Trong ASP.NET thì những thành phần này có thể là các TextBox, các Button, DataGrid . UI Process Components: Là thành phần chịu trách nhiệm quản lý các quy trình chuyển đổi giữa các UI Components. Nhận xét: Lớp này không nên sử dụng trực tiếp các dịch vụ của lớp Data Access mà nên sử dụng thông qua các dịch vụ của lớp Business vì khi sử dụng Nhóm SV: Trần Hải Việt - Nguyễn Quốc Khánh - Líp 46 E2 - Tin Trang 8 §å ¸n tèt nghiÖp - ThiÕt kÕ vµ x©y dùng Website kinh doanh m¸y tÝnh trực tiếp như vậy có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phải có. Business Logic Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Trong lớp này có các thành phần chính là Business Components, Business Entities, Business Workflows và Service Interface. Service Interface là giao diện lập trình mà lớp này cung cấp cho lớp Presentation sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diện này mà không cần phải quan tâm đến bên trong lớp này được thực hiện như thế nào. Business Entities là những thực thể mô tả những đối tượng thông tin mà hệ thống xử lý. Trong ứng dụng chúng ta các đối tượng này là các nhóm sản phẩm (CategoryInfo), sản phẩm (ProductInfo), tài khoản (AccountInfo) Business Components là những thành phần chính thực hiện các dịch vụ mà Service Interface cung cấp. Trong ứng dụng của chúng ta, lớp này sẽ chứa các thành phần là CategoryManager, ProductManager, AccountManager, . làm nhiệm vụ cung cấp các dịch vụ quản lý nhóm sản phẩm, sản phẩm, tài khoản (thêm, xóa, cập nhật, xem chi tiết, lấy danh sách .). Data Access Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle, . để thực hiện nhiệm vụ của mình. Trong lớp này có các thành phần chính là Data Access Logic, Data Sources, và Service Agents Data Access Logic Components (DALC) là thành phần chính chịu trách nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu .Trong .NET Các DALC này thường được hiện thực bằng cách sử dụng thư viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệu. Nhóm SV: Trần Hải Việt - Nguyễn Quốc Khánh - Líp 46 E2 - Tin Trang 9 §å ¸n tèt nghiÖp - ThiÕt kÕ vµ x©y dùng Website kinh doanh m¸y tÝnh Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bên ngòai một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại. Các lớp này giao tiếp với nhau như thế nào? Ví dụ trong ứng dụng của chúng ta có thao tác đăng nhập tài khoản thì các lớp sẽ tương tác với nhau như sau: Lớp Presentation: Trình bày một web form, có các Textbox cho phép người sử dụng nhập tên tài khoản và mật khẩu. Khi người dùng nhấn nút Đăng nhập trên form này, ứng dụng sẽ thực hiện chức năng đăng nhập tài khoản Lớp Business để cung cấp dịch vụ login, thành phần da_AccountBusiness sẽ cung cấp hàm Login Lớp Data Access có thành phần là AccountContext sẽ cung cấp hàm để kiểm tra tài khoản và mật khẩu trong cơ sở dữ liệu. Như vậy chúng ta có thể thấy rõ những ưu điểm của mô hình 3 lớp so với các mô hình trước như sau: - Tính bảo mật cao hơn do có nhiều lớp (3 lớp) - Các phần của chương trình độc lập nên chương trình trở nên linh động hơn khi có nhiều người truy cập hoặc trở nên dễ dàng hơn trong việc thay thế và nâng cấp - Việc sử dụng các Stored Procedure trong SQL Server 2008 đã làm giảm việc lưu thông trên mạng rất nhiều. - Do ®ã m« h×nh nµy rÊt thÝch hîp víi nh÷ng øng dông cã yªu cÇu thay ®æi th- êng xuyªn nh øng dông Web. Nhóm SV: Trần Hải Việt - Nguyễn Quốc Khánh - Líp 46 E2 - Tin Trang 10