Kiến trúc

Post on 13-Apr-2017

1.104 views 0 download

Transcript of Kiến trúc

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