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?

pdf 22 trang yennguyen 2640
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

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:

  • pdfbai_giang_cong_nghe_web_va_ung_dung_phan_3_xay_dung_ung_dung.pdf