kiến trúc
TRANSCRIPT
1
Chương 6:Chương 6:Kiến trúc phần mềmKiến trúc phần mềm
GVLT: ThS. Trần Minh Triết
2
Nội dung
Mở đầu Kiến trúc phần mềm Layer VS Tier Một số mô hình kiến trúc phần mềm
3
Kiến trúc 1 layer
Người dùng
Dữ liệu của X
Màn hình nhiệm vụ f
I/OXử lý biến cốXử lý chính
Xử lý trên dữ liệu
4
Kiến trúc 2 layer
Người dùng
Dữ liệu của X
Màn hình nhiệm vụ f
I/OXử lý biến cố
Người dùng
X
Dữ liệu của X
Màn hình nhiệm vụ fI/O
Xử lý biến cốXử lý chínhXử lý trên dữ liệu
5
Kiến trúc 3 layer
Người dùng
X
Dữ liệu của X
Màn hình nhiệm vụ f
DL_X
I/OXử lý biến cố
Xử lý chínhXử lý trên dữ liệu
Người dùng
X
Dữ liệu của X
Màn hình nhiệm vụ fI/O
Xử lý biến cố
Xử lý chínhXử lý trên dữ liệu
6
Vai trò của các layer
GUI (Presentation) Layer: Nhập liệu và trình bày dữ liệu, có thể bao gồm các bước kiểm tra dữ liệu trước khi gọi Business Logic Layer.
Business Logic Layer: Kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu, quản lý các transaction, quản lý các concurrent access.
Data Access Layer: Kết nối CSDL, tìm kiếm, thêm, xóa, sửa,…trên CSDL/XML
7
Data
GUI
Data Access
Việc trao đổi liên lạc giữa các layer
Các giá trị, dòng, bảng
Business logic
8
Data
GUI
Data Access
Việc trao đổi liên lạc giữa các layer
Data Transfer Object (DTO)
Các giá trị, dòng, bảng
Business logic
9
Tính chất của mô hình 3-layer
Giảm sự kết dính giữa các thực thể phần mềm (decoupling)
Tái sử dụng Chia sẻ trách nhiệm
10
Quản lý ngoại lệ
Database
Business
GUI
Thrown business exceptions
Database Error Handling(controlled by DBMS)
Business Error Handling
GUI layer Error Handling
Database error codes
Error messages
Database errors while executing
Errors while treating data input
Errors while treating in
business layer
Log
11
Quản lý ngoại lệ
Ngoại lệ có thể xảy ra ở bất kỳ layer nào Khi ngoại lệ xảy ra ở một layer thì:
Xử lý nội bộ trong layer đó “Quăng” ngoại lệ lên layer “cao hơn” Không xử lý
Khi một layer nhận ngoại lệ từ một layer “thấp hơn” Xử lý nội bộ “Quăng” ngoại lệ lên layer “cao hơn” Không xử lý
12
1-tier, 3-layer
Data
GUI
Business logic
Data Access
Application + Data
Physical view Logical view
13
2-tier, 3-layer
Data
GUI
Business logic
Data Access
Data tier
Client tier
Physical view Logical view
14
3-tier, 3-layer
Browsers
Data tier
Business tier
Web Server
Local clients
Presentation tier
Data
Business logic
Data Access
Web Server
GUI
Application Web
Phys
ical v
iew
Logi
cal v
iew
15
Các lưu ý quan trọng
Phân biệt vai trò Business Layer và khái niệm “xử lý” Mỗi Layer vẫn có xử lý riêng, đặc trưng của Layer đó Đôi khi việc quyết định 1 xử lý nằm ở layer nào chỉ mang
tính chất tương đối
16
Physical tiers
17
Physical tiers
18
“Tiers of layers”
19
Business Layer đặt tại Storage Tier
20
Business Layer đặt tại Client Tier
21
Ví dụ về các thành phần tại mỗi Tier