You are on page 1of 42

Kiến trúc các hệ thống

thông tin và ứng dụng


6. Kiến trúc ứng dụng
Nội dung

1. Giới thiệu
2. Quy trình phát triển kiến trúc ứng dụng (TOGAF ADM)
3. Xây dựng kiến trúc ứng dụng với Archimate
3.1. Các khái niệm
3.2. Khung kiến trúc
4. Mẫu kiến trúc
1. Giới thiệu

3
1. Giới thiệu
“Kiến trúc ứng dụng mô tả hành vi của các ứng dụng được sử
dụng trong hệ thống nghiệp vụ của một tổ chức, tập trung vào
sự tương tác giữa các ứng dụng này cũng như giữa ứng dụng
với người dùng. Kiến trúc ứng dụng cũng tập trung vào việc tạo
lập cũng như sử dụng dữ liệu của các ứng dụng”
Wikipedia

Để hỗ trợ thực hiện các hoạt động nghiệp vụ, chúng ta cần
• Sử dụng những phần mềm gì? Với các chức năng phần mềm là gì?
• Các phần mềm này hợp tác với nhau như thế nào?
• Các đối tượng nghiệp vụ có thể được lưu trữ trên các cơ sở dữ liệu
không? Mô hình lưu trữ là gì?
• Có thể cải thiện hoạt động nghiệp vụ với việc sử dụng các phần mềm
không?
2. Quy trình phát triển AA (TOGAF ADM)
2. Quy trình phát triển AA (TOGAF ADM)

1. Lựa chọn các mô hình tham chiếu, các góc nhìn, các công cụ
2. Phát triển tài liệu mô tả về kiến trúc ứng dụng cơ sở
3. Phát triển tài liệu mô tả về kiến trúc ứng dụng mục tiêu
4. Phân tích khoảng trống
5. Đề xuất lộ trình thực hiện
6. Phân tích/xử lý ảnh hưởng
7. Thẩm định
8. Hoàn thiện kiến trúc ứng dụng
9. Xây dựng tài liệu định nghĩa kiến trúc
3. Phát triển AA với Archimate
3.1. Các khái niệm
3.1.1. Các yếu tố cấu trúc chủ động
3.1.1. Các yếu tố cấu trúc chủ động

Yếu tố Định nghĩa Ký pháp


Thành phần ứng Đóng gói các chức năng ứng
dụng dụng trong một cấu trúc thực
thi. Có thể bổ sung, gỡ bỏ hay
thay thế được.
Cộng tác ứng Tập hợp của hai hay nhiều
dụng thành phần ứng dụng để cùng
thực hiện các hoạt động ứng
dụng
Giao diện ứng Đại diện cho điểm truy cập dịch
dụng vụ ứng dụng với người dùng
hay các ứng dụng khác
3.1.1. Các yếu tố cấu trúc chủ động

11
3.1.1.1. Thành phần ứng dụng

Những thành phần phần mềm có thể triển khai


được, thay thế được. Đóng gói hành vi và dữ
liệu, thể hiện ra bên ngoài qua một tập hợp giao
diện.

• Phần mềm, phân hệ phần mềm, hệ thống thông tin.


• Thực hiện các chức năng ứng dụng thông qua các giao diện ứng dụng
• Hiện thực hóa cho các dịch vụ ứng dụng
• Truy cập/sử dụng các đối tượng dữ liệu
3.1.1.1. Thành phần ứng dụng
3.1.1.2. Cộng tác ứng dụng

Phối hợp của hai hay nhiều ứng dụng.


• Mối quan hệ với các yếu tố khác
• Hợp thành từ nhiều thành phần ứng dụng
• Tham gia các giao tiếp ứng dụng
3.1.1.3. Giao diện ứng dụng

Điểm truy cập ứng dụng.

• Chỉ ra cách thức các ứng dụng được truy cập/sử dụng
• Mối quan hệ với các yếu tố khác
• Thành phần ứng dụng hợp thành nhiều giao diện ứng dụng
• Giao diện ứng dụng được phân công cho dịch vụ ứng dụng
• Thành phần ứng dụng phục vụ thành phần ứng dụng khác qua giao diện ứng
dụng
3.1.2. Các yếu tố cấu trúc bị động
Yếu tố Định nghĩa Ký pháp
Đối tượng dữ Đại diện cấu trúc dữ liệu được
liệu sử dụng trong các thành phần
ứng dụng

16
3.1.3. Các yếu tố hành vi
3.1.3. Các yếu tố hành vi
Yếu tố Định nghĩa Ký pháp
Quy trình ứng Chuỗi hành vi của ứng dụng
dụng nhằm đạt được một kết quả
nào đó
Chức năng ứng Đại diện cho hành vi được
dụng thực hiện tự động bởi ứng
dụng
Tương tác ứng Tập hành vi được thực hiện
dụng bởi hai hay nhiều thành phần
ứng dụng

Sự kiện ứng Thời điểm thay đổi trạng thái


dụng của ứng dụng

Dịch vụ ứng Chức năng của ứng dụng


dụng được truy cập từ bên ngoài
3.1.3.1. Chức năng ứng dụng

Mô tả các hành vi nội tại của hệ thống ứng dụng

• Mối quan hệ với các yếu tố khác


• Chức năng ứng dụng được thể hiện ra bên ngoài bằng dịch vụ ứng dụng
• Chức năng ứng dụng sử dụng các dịch vụ hạ tầng
• Thành phần ứng dụng được phân công cho các chức năng ứng dụng
3.1.3.2. Giao tiếp ứng dụng

Sự tương tác giữa các thành phần ứng dụng.


Đại diện cho hành vi của các cộng tác ứng dụng.

• Mối quan hệ với các yếu tố khác


• Cộng tác ứng dụng được phân công trong các giao tiếp ứng dụng
• Giao tiêp ứng dụng hiện thực hóa dịch vụ ứng dụng
• Giao tiếp ứng dụng sử dụng các dịch vụ ứng dụng/dịch vụ hạ tầng
3.1.3.3. Dịch vụ ứng dụng

Thể hiện chức năng ứng dụng cho các thành


phần ứng dụng.

• Mối quan hệ với các yếu tố khác


• Dịch vụ ứng dụng được sử dụng bởi các quy trình nghiệp vụ/chức năng
nghệp vụ/giao tiếp nghiệp vụ
• Chức năng ứng dụng hiện thực hóa cho các dịch vụ ứng dụng
• Giao diện ứng dụng được phân công cho dich vụ ứng dụng
• Dịch vụ ứng dụng truy cập đối tượng dữ liệu
3.1.3.3. Dịch vụ ứng dụng
3.2. Khung kiến trúc tầng ứng dụng

Hợp tác Sử dụng Cấu trúc


ứng dụng ứng dụng ứng dụng

Tích hợp Thành phần Biểu đồ


ứng dụng ứng dụng trình tự
3.2.1. Hợp tác ứng dụng
• Mô tả sự cộng tác giữa các ứng dụng
• Mô tả luồng thông tin giữa các ứng dụng, dịch vụ được cung cấp hoặc sử
dụng bởi các ứng dụng
• Có thể được sử dụng để mô tả cấu trúc ứng dụng theo vị trí địa lý
3.2.1. Hợp tác ứng dụng
3.2.2. Sử dụng ứng dụng
• Mô tả vị trí của các ứng dụng trong các quy trình
nghiệp vụ cũng như vai trò của các thành phần ứng
dụng trong các thành phần ứng dụng khác
• Thường được sử dụng trong thiết kế để xác định các
thành phần ứng dụng cần thiết cho hệ thống nghiệp vụ
3.2.2. Sử dụng ứng dụng
3.2.3. Cấu trúc ứng dụng
• Phân tích những thành phần bên trong của một ứng dụng
cùng với các dịch vụ và đối tượng dữ liệu gắn liền với
chúng
3.2.3. Cấu trúc ứng dụng
• Chi tiết hóa thành phần ứng dụng với giao diện ứng dụng
3.2.4. Tích hợp ứng dụng
• Các cách thức tích hợp khác nhau giữa các thành phần
ứng dụng
3.2.4. Tích hợp ứng dụng
• Các cách thức tích hợp khác nhau giữa các thành phần
ứng dụng
3.2.4. Tích hợp ứng dụng
• Các cách thức tích hợp khác nhau giữa các thành phần
ứng dụng
3.2.5. Thành phần ứng dụng
• Mô tả thành phần ứng dụng với
• Các dịch vụ ứng dụng nó cung cấp (cùng với đó là các thành
phần ứng dụng nó phục vụ)
• Các dụch vụ ứng dụng nó sử dụng (cùng với đó là các thành
phần ứng dụng hiện thực hóa cho những dịch vụ này)
• Chi tiết hóa các thành phần con của một thành phần ứng
dụng
3.2.5. Thành phần ứng dụng
3.2.5. Thành phần ứng dụng
3.2.6. Biểu đồ trình tự giữa các thành phần
ứng dụng
3.2.6. Biểu đồ trình tự giữa các thành phần
ứng dụng
4. Mẫu kiến trúc
• Architectural patterns
• Mẫu kiến trúc là các giải pháp kiến trúc có thể tái sử
dụng trong nhiều hệ thống ứng dụng
• Mẫu kiến trúc thường hướng đến những mục đích
nhằm giải quyết những ràng buộc cụ thể như sự hạn
chế tài nguyên, đảm bảo tính sẵn sàng, hạn chế rủi
ro,...
4.2. ETL-process
• Extract-Transform-Load
4.1. EAI/ESB
• Enterprise Service Bus
4.3. Web Application Pattern
4.4. Saleforces CRM

You might also like