Tìm hiểu mô hình 3 lớp và ajax vào xây dựng website

40 612 2
Tìm hiểu mô hình 3 lớp và ajax vào xây dựng website

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ án tốt nghiệp - Tìm hiểu hình 3 lớp Ajax vào xây dựng website Trờng đại học vinh Khoa công nghệ thông tin -------------- đồ án tốt nghiệp Tìm hiểu hình 3 lớp ajax vào xây dựng website Ngành: Kỹ s công nghệ thông tin Vinh, năm 2010 Nguyn Mnh Hựng - Lớp 46 K1 Tin Trang 1 Đồ án tốt nghiệp - Tìm hiểu hình 3 lớp Ajax vào xây dựng website 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 hình 3 lớp 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 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ế nâng cấp. ti tỡm hiu mụ hỡnh 3 lp v ajax vo xõy dng website l mt vớ d 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: Xõy dng Website kinh doanh mỏy tớnh Em xin chõn thnh cm n s giỳp ca Thy giỏo Th.s Nguyn Quang Ninh, cỏc thy cụ giỏo trong Khoa cụng ngh thụng tin v cỏc bn bố ó giỳp em 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. Em rt mong nhn c s thụng cm, gúp ý ca cỏc Thy, Cụ v cỏc bn. Sinh viờn thc hin Nguyn Mnh Hựng Nguyn Mnh Hựng - Lớp 46 K1 Tin Trang 2 Đồ án tốt nghiệp - Tìm hiểu hình 3 lớp Ajax vào xây dựng website CHƯƠNG I:Tổng quan đề tài 1.1. Lý do chọn đề tài Hiện nay sự phát triển của website là một nhu cầu rất lớn trong xã hội,ở mọi lĩnh vực,cùng với sự phát triển nhanh chóng của mạng internet,ngời dùng có nhu cầu sử dụng website là rất lớn.Do đó xây dựng phát triển website theo yêu cầu cũng có nhiều sự thay đổi theo thời gian.Do đó,phơng phát phát triển đáp ứng nhu cầu thay đổi liên tục là cần thiết,ngoài ra chúng ta cần chú ý đến tốc độ,và sự đáp ứng nhanh chóng của hệ thống để đem lại nhiều cảm tình nhất của ngời dùng web. Ngoi ra 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 Xây dựng ứng dụng ứng dụng thực tế áp dụng phơng pháp hình 3 lớp công nghệ Ajax vào ứng dụng. 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 tụi cn phi tin hnh cỏc cụng vic sau: Trcht cn phi tỡm hiu cỏch xõy dng mt trang web nh th no. Nguyn Mnh Hựng - Lớp 46 K1 Tin Trang 3 §å ¸n tèt nghiÖp - T×m hiÓu m« h×nh 3 líp vµ Ajax vµo x©y dùng website Tìm hiểu việc ứng dụng hình 3 lớp, công nghệ Ajax vào việc xây dựng website. Tích cực tìm kiếm, khai thác thông tin. Tìm hiểu các hệ quản trị cơ sở dữ liệu hiện nay. Nắm được cơ sở lý thuyết chung về thương mại điện tử các vấn đề trong thương mại điện tử. Tiến hành xây chương trình: Phân tích, thiết kế lập trình chương trì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, tôi đã sử dụng các phương phát nghiên cứu: Phương pháp phân tích 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ề bán hàng quan mạng trên internet. Nguyễn Mạnh Hùng - Líp 46 K1 Tin Trang 4 Đồ án tốt nghiệp - Tìm hiểu hình 3 lớp Ajax vào xây dựng website Chơng II Tìm hiểu về hình 3 lớp công nghệ ajax 2.1 Tìm hiểu về hình đa lớp 2.1.1 hình 1 lớp Có thể nói hình Client/Server là hình có ảnh hởng lớn nhất đến ngành công nghệ thông tin. 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) 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. 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 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 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 nhanh chóng hơn). Trong ứng dụng này, thông tin đợc chứa trong các file đợ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) tải nhứng file thông tin cần thiết về. 2.1.2 hình hai lớp 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 sau đó trả về cho Client những thông tin mà Client yêu cầu. Ưu điểm của 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 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 đó. Nguyn Mnh Hựng - Lớp 46 K1 Tin Trang 5 Đồ án tốt nghiệp - Tìm hiểu hình 3 lớp Ajax vào xây dựng website Trong khi ở 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. 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 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ừ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 Server nên tốc độ của chơng trình sẽ chậm đi. b. Tính toán tập trung ở Server Nguyn Mnh Hựng - Lớp 46 K1 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 - Tìm hiểu hình 3 lớp Ajax vào xây dựng website ở 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 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 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 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, 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: Nguyn Mnh Hựng - Lớp 46 K1 Tin Trang 7 §å ¸n tèt nghiÖp - T×m hiÓu m« h×nh 3 líp vµ Ajax vµo x©y dùng website 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 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 User Interface Process Components. UI Components là những phần tử chịu trách nhiệm thu thập 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 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ó. Nguyễn Mạnh Hùng - Líp 46 K1 Tin Trang 8 §å ¸n tèt nghiÖp - T×m hiÓu m« h×nh 3 líp vµ Ajax vµo x©y dùng website 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, 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 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ể 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ữ 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, 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 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. 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 đơn giản như truy xuất các dịch vụ nội tại. Nguyễn Mạnh Hùng - Líp 46 K1 Tin Trang 9 §å ¸n tèt nghiÖp - T×m hiÓu m« h×nh 3 líp vµ Ajax vµo x©y dùng website 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 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 như đoạn code sau minh họa: protected void Login(object sender, EventArgs e) { int result = da_AccountBusiness.Login(txtAccountName.Text, Cryptography.getMd5Hash(txtPass.Text)); if (result.Equals(0)) { ltrResult.Text = "<b>Sai tên hoặc mật khẩu</b>"; ltrResult.Attributes.Add("style", "color:red;"); } else { Session["CheckLogin"] = txtAccountName.Text; Session["Role"] = result.ToString(); if(Session["Cart"] != null) { Session[txtAccountName.Text] = Session["Cart"]; } if (Request.QueryString["route"] != null) { Nguyễn Mạnh Hùng - Líp 46 K1 Tin Trang 10

Ngày đăng: 22/12/2013, 13:01

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan