Các kiến trúc ứng dụng tin học
Bùi Th H ng
Chw ng 9. Các ki n trúc ng d ng
Trang 1
Mục tiêu
●
●
●
Bùi Th H ng
Giải thích cách tổ chức hai mô hình cơ bản
của các hệ thống nghiệp vụ - các hệ thống xử
lý theo lô (batch processing) và xử lý theo tác
vụ ( transaction processing
Mô tả kiến trúc trừu tượng của các hệ thống
quản lý tài nguyên
Mô tả cấu trúc của các hệ thống xử lý ngôn
ngữ
Chw ng 9. Các ki n trúc ng d ng
Trang 2
Các chủ đề liên quan
●
●
●
●
Bùi Th H ng
Các hệ thống xử lý dữ liệu
Các hệ thống xử lý tác vụ
Các hệ thống xử lý sự kiện
Các hệ thống xử lý ngôn ngữ
Chw ng 9. Các ki n trúc ng d ng
Trang 3
Các kiến trúc ứng dụng tổng quát
●
●
●
Bùi Th H ng
Các hệ thống ứng dụng được thiết kế để đáp
ứng các yêu cầu của tổ chức.
Khi các nghiệp vụ có nhiều điểm chung thì các
hệ thống ứng dụng của chúng cũng có xu
hướng có một kiến trúc chung phản ánh các
yêu cầu của ứng dụng.
Một kiến trúc tổng quát được hình thành và
được thích nghi để tạo ra một hệ thống đáp
ứng được các yêu cầu xác định.
Chw ng 9. Các ki n trúc ng d ng
Trang 4
Ích lợi của kiến trúc ứng dụng
●
●
●
●
Bùi Th H ng
Là điểm khởi đầu cho việc thiết kế kiến trúc.
Là một cách tổ chức công việc cho đội phát
triển hệ thống.
Là phương tiện đánh giá các thành phần để
sử dụng lại.
Là một tập hợp các từ vựng khi nói về các
kiểu ứng dụng.
Chw ng 9. Các ki n trúc ng d ng
Trang 5
Các kiểu ứng dụng
●
Các ứng dụng xử lý dữ liệu
•
●
Các ứng dụng xử lý tác vụ
•
●
Các ứng dụng xử lý các yêu cầu của người sử dụng và cập nhật
thông tin trong một cơ sở dữ liệu của hệ thống.
Các hệ thống xử lý sự kiện
•
●
Các ứng dụng xử lý dữ liệu theo lô không cần sự can thiệp trực
tiếp của người sử dụng trong quá trình xử lý.
Các ứng dụng trong đó hành động của hệ thống phụ thuộc vào
việc tiếp nhận các sự kiện xảy ra trong môi trường của hệ
thống.
Các hệ thống xử lý ngôn ngữ
•
Bùi Th H ng
Các ứng dụng trong đó mục đích của người sử dụng được đặc
tả bằng một ngôn ngữ hình thức mà hệ thống sẽ xử lý và biên
dịch.
Chw ng 9. Các ki n trúc ng d ng
Trang 6
Các ví dụ về các kiểu ứng dụng
●
Các hệ thống xử lý dữ liệu
•
•
●
Các hệ thống xử lý tác vụ
•
•
●
Các bộ xử lý văn bản;
Các hệ thống thời gian thực.
Các hệ thống xử lý ngôn ngữ
•
•
Bùi Th H ng
Các hệ thống thương mại điện tử;
Các hệ thống đặt vé giữ chỗ.
Các hệ thống xử lý theo sự kiện
•
•
●
Các hệ thống tính hoá đơn;
Các hệ thống tính lương
Chương trình biên dịch;
Chương trình thông dịch lệnh.
Chw ng 9. Các ki n trúc ng d ng
Trang 7
Các hệ thống xử lý dữ liệu
●
●
●
Bùi Th H ng
Là các hệ thống tập trung vào dữ liệu, trong đó các
cơ sở dữ liệu được sử dụng với cấp độ lớn hơn rất
nhiều so với bản thân phần mềm.
Dữ liệu được đưa và và đưa ra theo lô
•
Input: Một tập các số hiệu khách hàng và những số liệu về
lượng điện tiêu thụ;
•
Output: Một tập các hoá đơn, mỗi hoá đon cho một khách
hàng.
Các hệ thống xử lý dữ liệu thường có cấu trúc dữ
liệu vào - xử lý - dữ liệu ra.
Chw ng 9. Các ki n trúc ng d ng
Trang 8
Mô hình Input-process-output
Syst em
In pu t
Process
Ou t pu t
Prin t er
Dat abase
Bùi Th H ng
Chw ng 9. Các ki n trúc ng d ng
Trang 9
Input-process-output
●
●
●
Bùi Th H ng
Thành phần input đọc dữ liệu từ một tệp hoặc một
cơ sở dữ liệu, kiểm tra tính hợp lệ của nó và xếp
vào hàng đợi các dữ liệu hợp lệ chờ xử lý.
Thành phần process lấy một giao tác từ hàng đợi
các input, thực hiện tính toán và tạo ra một bản ghi
mới từ các kết quả tính được.
Thành phần output đọc các bản ghi này, format
chúng một cách phù hợp và ghi vào cơ sở dữ liệu
hoặc đưa ra máy in.
Chw ng 9. Các ki n trúc ng d ng
Trang 10
Các biểu đồ luồng dữ liệu
●
●
Bùi Th H ng
Chỉ ra cách thức dữ liệu được xử lý như thế
nào khi nó được chuyển qua hệ thống.
Các phép biến đổi được biểu diễn bằng các
hình chữ nhật có góc tròn, luồng dữ liệu như
các mũi tên giữa chúng và các kho dữ liệu
như các hình chữ nhật.
Chw ng 9. Các ki n trúc ng d ng
Trang 11
DFD trả lương
Tax deduction + SS
number + tax office
Employee
records
Read employee
record
Decoded
employee
record
Read monthly
pay data
Pay information
Print payslip
Empoyee data
+ deductions
Net payment + bank
account info.
Tax
tables
Monthly pay
data
Bùi Th H ng
Pension data
Pension
deduction +
SS number
Valid
employee record
Compute
salary
Tax
transactions
Write pension
data
Monthly pay
rates
Validate
employee data
Write tax
transactions
Write bank
transaction
Social security
deduction + SS number Write social
security data
Chw ng 9. Các ki n trúc ng d ng
PRINTER
Bank
transactions
Social security
data
Trang 12
Các hệ thống xử lý giao tác
●
●
Xử lý các yêu cầu thông tin của người sử dụng từ một
cơ sở dữ liệu hoặc các yêu cầu cập nhật cơ sở dữ
liệu.
Từ góc nhìn của người sử dụng, một giao tác là:
•
•
●
Bùi Th H ng
Một dãy các phép toán chặt chẽ nhằm thoả mãn một
mục đích;
Ví dụ - tìm giờ của các chuyên bay từ HN đi TP HCM.
Người sử dụng đưa ra các yêu cầu không đồng bộ
cho một dịch vụ để bộ quản lý giao tác xử lý.
Chw ng 9. Các ki n trúc ng d ng
Trang 13
Xử lý giao tác
I/O
processing
Bùi Th H ng
Application
logic
Chw ng 9. Các ki n trúc ng d ng
Transaction
manager
Database
Trang 14
Tổ chức hệ thống ATM
Input
Get customer
account id
Process
Output
Print details
Query account
Validate card
Return card
Update account
Select service
ATM
Bùi Th H ng
Dispense cash
Database
Chw ng 9. Các ki n trúc ng d ng
ATM
Trang 15
Phần mềm trung gian quản lý giao tác
●
●
Bùi Th H ng
Phần mềm trung gian quản lý giao tác hoặc
các bộ kiểm soát xử lý từ xa điều khiển truyền
thông với các kiểu đầu cuối khác nhau (ví dụ
như ATM và các đầu cuối khác), phân tách
các dữ liệu và gửi đi để xử lý.
Quá trình xử lý các truy vấn xảy ra trong cơ sở
dữ liệu và kết quả được gửi trở lại qua bộ
quản lý giao tác tới thiết bị đầu cuối của người
sử dụng.
Chw ng 9. Các ki n trúc ng d ng
Trang 16
Quản lý giao tác
Accou n t qu eries
an d u pdat es
Serialised
t ran sact ion s
Teleprocessin g
Accou n t s
m on it or
database
ATM s an d t erm in als
Bùi Th H ng
Chw ng 9. Các ki n trúc ng d ng
Trang 17
Kiến trúc các hệ thống thông tin
●
●
Bùi Th H ng
Các hệ thống thông tin có một kiến trúc chung
có thể được tổ chức dưới dạng phân tầng.
Các tầng bao gồm:
•
Giao diện người sử dụng
•
Truyền thông với người sử dụng
•
Tìm kiếm thông tin
•
Cơ sở dữ liệu hệ thống
Chw ng 9. Các ki n trúc ng d ng
Trang 18
Kiến trúc các hệ thống thông tin
User inter
face
User communications
Information retrieval and modification
Transaction management
Database
Bùi Th H ng
Chw ng 9. Các ki n trúc ng d ng
Trang 19
Kiến trúc hệ thống thư viện LIBSYS
●
●
Hệ thống thư viện LIBSYS là một ví dụ về hệ thống
thông tin.
Tầng truyền thông người sử dụng :
•
•
•
●
Tầng tìm kiếm thông tin
•
•
•
•
Bùi Th H ng
Thành phần đăng nhập vào LIBSYS ;
Bộ quản lý các phiếu và truy vấn;
Bộ quản lý in;
Tìm kiếm phân tán;
Tìm kiếm tài liệu;
Quản lý các quyền;
Kế toán.
Chw ng 9. Các ki n trúc ng d ng
Trang 20
Tổ chức của LIBSYS
Web browser inter
face
LIBSYS
login
Forms and
Print
query manager manager
Distributed Document Rights Accounting
search
retrieval manager
Library index
DB1
Bùi Th H ng
DB2
DB3
Chw ng 9. Các ki n trúc ng d ng
DB4
DBn
Trang 21
Các hệ thống phân bổ tài nguyên
●
●
Các hệ thống quản lý một lượng nhất định các tài
nguyên (vé bongs đá, sách trong hiệu sách, v.v.) và
phân phối những tài nguyên này cho người sử dụng.
Các ví dụ về các hệ thống phân bổ tài nguyên:
•
•
•
Bùi Th H ng
Các hệ thống phân bổ thời gian trong đó các tài
nguyên được phân phối theo một chu ký thời gian;
Các hệ thống thư viện trong đó tài nguyên được quản
lý là sách báo và những sản phẩm khác được đem ra
cho mượn;
Hệ thống điều khiển không lưu trong đó tài nguyên
phải quản lý là không phận.
Chw ng 9. Các ki n trúc ng d ng
Trang 22
Kiến trúc phân phối tài nguyên
●
Các hệ thống phân phối tài nguyên là các hệ thống
được phân thành các tầng như sau:
•
•
•
•
•
•
•
•
Bùi Th H ng
Một cơ sở dữ liệu tài nguyên;
Một tập luật mô tả cách thức các tài nguyên sẽ được
phân phối như thế nào;
Một bộ quản lý tài nguyên;
Một bộ phân phối tài nguyên;
Xác nhận người sử dụng;
Quản lý các truy vấn;
Thành phần cung cấp tài nguyên;
Giao diện người sử dụng.
Chw ng 9. Các ki n trúc ng d ng
Trang 23
Phân phối tài nguyên theo tầng
User inter
face
User
authentication
Resource
delivery
Query
management
Resource
Resource policy Resource
management
allocation
control
Transaction management
Resource database
Bùi Th H ng
Chw ng 9. Các ki n trúc ng d ng
Trang 24
Thực hiện hệ thống phân tầng
●
●
●
Bùi Th H ng
Mỗi tầng có thể được thực hiện như một thành phần
lớn chạy trên một máy phục vụ riêng biệt. Đây là mô
hình kiến trúc được sử dụng rộng rãi nhất đối với
các hệ thống dựa trên web.
Trên một máy riêng lẻ, các tầng trung gian được
thực hiện như một chương trình có thể giao tiếp với
với cơ sở dữ liệu thông qua giao diện chương trình
ứng dụng (API) của nó.
Các thành phần tinh xảo trong các tầng có thể được
thực hiện như các dịch vụ trên web.
Chw ng 9. Các ki n trúc ng d ng
Trang 25