Bài giảng Công nghệ Web và ứng dụng - Phần 3: Xây dựng ứng dụng PHP theo mô hình 3-Tiers - Nguyễn Hoàng Tùng
Tại sao lại sử dụng 3-Tiers?
Muốn hiểu tại sao người ta chia một phần mềm có lưu trữ
dữ liệu thành 3 lớp (3-Tiers), thì phải nhìn từ lịch sử lập
trình, nghĩa là tại sao người ta cần chia một phần mềm ra
thành nhiều phần khác nhau? Rồi những phần đó tại sao lại
được xếp nhóm vào 3 lớp chính là Presentation, Business
Logics và Data?
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ Web và ứng dụng - Phần 3: Xây dựng ứng dụng PHP theo mô hình 3-Tiers - Nguyễn Hoàng Tùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Công nghệ Web và ứng dụng - Phần 3: Xây dựng ứng dụng PHP theo mô hình 3-Tiers - Nguyễn Hoàng Tùng
XÂY DỰNG ỨNG DỤNG PHP THEO MÔ HÌNH 3-TIERS Giảng viên phụ trách: Nguyễn Hoàng Tùng Bộ môn Tin học Email: nhoangtung@agu.edu.vn Nội dung chính của slide này Mô hình 3-Tiers Xây dựng ứng dụng mẫu theo 3-Tiers 20/08/2012 Công nghệ Web và Ứng dụng 2 Mô hình 3-Tiers Tại sao lại sử dụng 3-Tiers? Mô hình 3-Tiers là gì? 20/08/2012 Công nghệ Web và Ứng dụng 3 Tại sao lại sử dụng 3-Tiers? Muốn hiểu tại sao người ta chia một phần mềm có lưu trữ dữ liệu thành 3 lớp (3-Tiers), thì phải nhìn từ lịch sử lập trình, nghĩa là tại sao người ta cần chia một phần mềm ra thành nhiều phần khác nhau? Rồi những phần đó tại sao lại được xếp nhóm vào 3 lớp chính là Presentation, Business Logics và Data? Từ đây trở đi, thuật ngữ phần mềm có nghĩa là phần mềm có lưu trữ dữ liệu. 20/08/2012 Công nghệ Web và Ứng dụng 4 Tại sao lại sử dụng 3-Tiers? Sau nhiều năm phát triển, kinh nghiệm cho người ta thấy chia phần mềm thành 3-Tiers sẽ có tác dụng tốt nhất cho: Phát triển phần mềm: Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhóm được đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập trình đến tổ chức Database. Bảo trì: Với các lớp được phân chia theo như đã nói, thì các thành phần của một hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không phát tán náo loạn trong cả chương trình. Mở rộng: Việc thêm chức năng vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác. 20/08/2012 Công nghệ Web và Ứng dụng 5 Mô hình 3-Tiers là gì? “3-Tiers là một kiến trúc kiểu client/server mà trong đó giao diện người dùng (UserInterface), các quy tắc xử lý nghiệp vụ (BusinessRule hay BusinessLogic), và việc lưu trữ dữ liệu được phát triển như những module độc lập, và mô hình 3 lớp (3- Tiers) được coi là một kiến trúc phần mềm và là một mẫu thiết kế.” (dịch từ Wikipedia). 20/08/2012 Công nghệ Web và Ứng dụng 6 Mô hình 3-Tiers là gì? Như vậy, mô hình này phân tách ứng dụng ra làm 3 module riêng biệt, bao gồm: Lớp Presentation: Để giao tiếp với người dùng, nhiệm vụ chính là hiển thị dữ liệu và nhận dữ liệu từ người dùng. Lớp Business Logic: Xử lý dữ liệu, cung cấp các chức năng của phần mềm. Lớp Data: Lưu trữ dữ liệu, cho phép lớp Business Logic có thể tìm kiếm, trích xuất, cập nhật, dữ liệu. 20/08/2012 Công nghệ Web và Ứng dụng 7 Mô hình 3-Tiers là gì? 20/08/2012 Công nghệ Web và Ứng dụng 8 Xây dựng ứng dụng mẫu theo 3-Tiers Lớp DataService Lớp Data Lớp Business (lớp Controller) Lớp Presentation (lớp Giao diện) Trang index.php Các trang khác ngoài index.php Code mẫu theo mô hình 3-Tiers. 20/08/2012 Công nghệ Web và Ứng dụng 9 Lớp DataService Chứa thông tin kết nối đến CSDL: server : Sever chứa CSDL muốn kết nối đến. username : Tên đăng nhập CSDL. password : Mật khẩu đăng nhập. database : Tên cơ sở dữ liệu cần kết nối. Chứa các hàm xử lý trực tiếp với CSDL: Hàm kết nối. Hàm thực thi truy vấn. Hàm xử lý dữ liệu trước khi thực thi truy vấn... Lớp này được thực thi trên Server. 20/08/2012 Công nghệ Web và Ứng dụng 10 Lớp DataService 20/08/2012 Công nghệ Web và Ứng dụng 11 Lớp Data Chứa các hàm truy vấn đến CSDL Lấy dữ liệu (SELECT) Dùng ExecuteQuery() Thêm mới, Cập nhật, Xóa Dùng ExecuteNonQuery() Các hàm trong lớp này gọi hàm trực tiếp từ lớp DataService để thực thi truy vấn. Lớp này được thực thi trên Server. 20/08/2012 Công nghệ Web và Ứng dụng 12 Lớp Data 20/08/2012 Công nghệ Web và Ứng dụng 13 Tên lớp. Một số hàm thực thi truy vấn. Lớp Business Lớp này nhận dữ liệu từ lớp Giao diện, sau đó xử lý, tính toán,... Cuối cùng gởi dữ liệu cho lớp Data xử lý. Đây là lớp trung gian, đóng vai trò quan trọng trong việc xử lý các nghiệp vụ tính toán phức tạp. Lớp này được thực thi trên Server. 20/08/2012 Công nghệ Web và Ứng dụng 14 Lớp Business 20/08/2012 Công nghệ Web và Ứng dụng 15 Danh sách các thuộc tính (Properties). Lớp Presentation Trong thiết kế web, lớp này còn được gọi là Front-end (theo cách hiểu đơn giản), tức là phần giao diện mà người dùng nhìn thấy, thao tác được. Phần này chứa các giao diện hiển thị nội dung, các form nhập liệu, hộp thoại giao tiếp với người dùng. Lớp này được thực thi phía Client. 20/08/2012 Công nghệ Web và Ứng dụng 16 Lớp Presentation 20/08/2012 Công nghệ Web và Ứng dụng 17 Trang index.php 20/08/2012 Công nghệ Web và Ứng dụng 18 Hàm __autoload($class_name) dùng để lấy tên lớp đang thực thi thông qua toán tử new. Kỹ thuật dùng include thông qua file do.php Trang index.php 20/08/2012 Công nghệ Web và Ứng dụng 19 Kỹ thuật dùng include thông qua file do.php Các trang khác ngoài index.php 20/08/2012 Công nghệ Web và Ứng dụng 20 Hàm __autoload() bên trang index.php sẽ “bắt” được tên lớp là sachbs. Đảm bảo rằng mọi trang khác phải được truy xuất thông qua trang index.php. Code mẫu theo mô hình 3-Tiers Demo bài tập quản lý sách trực tuyến. Source code mẫu tham khảo tại trang web: Tài liệu môn học: 20/08/2012 Công nghệ Web và Ứng dụng 21 Giải đáp thắc mắc 20/08/2012 Công nghệ Web và Ứng dụng 22
File đính kèm:
- bai_giang_cong_nghe_web_va_ung_dung_phan_3_xay_dung_ung_dung.pdf