Tài liệu Công nghệ Web và ứng dụng - 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:
...
22 trang |
Chia sẻ: putihuynh11 | Lượt xem: 729 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Công nghệ Web và ứng dụng - 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 bạn click vào nút DOWNLOAD ở trên
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
Các file đính kèm theo tài liệu này:
- cong_nghe_web_va_ung_dung_phan03_xaydungudphptheomohinh3tiers_9184_1994188.pdf