Thông tin tài liệu:
Trang 34
3.2 Xây dựng hệ thống SOA
3.2.1 Giới thiệu bài toán Phần này sẽ giới thiệu các giai đoạn cần tiến hành để triển khai một hệ thống SOA đạt hiệu quả cao. Để trình bày vấn đề một cách trực quan hơn, ta sẽ thực hiện xây dựng một giải pháp tổng thể cho bài toán “Bán hàng qua mạng”
Mô tả bài toán: • Khách hàng (customer) sẽ truy cập vào website của đại lý (retailer) để xem qua các mặt hàng và đặt hàng các sản phẩm điện tử như là TV, đầu DVD và video camera. •...
Nội dung trích xuất từ tài liệu:
Nghiên cứu kiến trúc hướng dịch vụ và đối tượng - 3
Trang 34
3.2 Xây dựng hệ thống SOA
3.2.1 Giới thiệu bài toán
Phần này sẽ giới thiệu các giai đoạn cần tiến hành để triển khai một hệ thống SOA
đạt hiệu quả cao. Để trình bày vấn đề một cách trực quan hơn, ta sẽ thực hiện xây
dựng một giải pháp tổng thể cho bài toán “Bán hàng qua mạng”
Mô tả bài toán:
• Khách hàng (customer) sẽ truy cập vào website của đại lý (retailer) để xem qua
các mặt hàng và đặt hàng các sản phẩm điện tử như là TV, đầu DVD và video
camera.
• Đại lý chuyển yêu cầu (order) đến cho bộ phận thủ kho (warehouse) để xử lý.
• Nếu nguồn hàng trong kho dưới mức cho phép thì yêu cầu bổ sung hàng
(replenishment order) được gửi đến nhà sản xuất (manufacturer).
• Nhà sản xuất không giải quyết ngay yêu cầu bổ sung hàng, mà có thể sau một
khoảng thời gian nào đó khi sản xuất đủ lượng hàng.
Trang 35
3.2.2 Một số khái niệm
Phần này sẽ giới thiệu các phương pháp để xác định các services theo phương pháp
top-down (xuất phát từ các yêu cầu nghiệp vụ) và bottom-up (xuất phát từ thực trạng
của hệ thống hiện có). Cụ thể hơn, sẽ trình bày một số kỹ thuật cũng như là mô tả các
bước cần tiến hành để xây dựng hay chuyển đối một hệ thống sẵn có theo mô hình
SOA.
Phương pháp này bao gồm 7 bước chính được thể hiện ở Hình 3-1. Các bước này
không nhất thiết phải được thực hiện một cách tuần tự và tuyến tính, mà quy trình có
thể được điều chỉnh bằng cách quyết định các bước nào cần được thực hiện song
song, và sự ràng buộc giữa các bước là như thế nào tùy vào các đặc trưng của hệ
thống cụ thể cần triển khai.
Hình 3-1 - Các bước cần thực hiện khi triển khai một hệ thống SOA.
Chúng ta sẽ đi theo qui trình từ trên xuống (theo như trong Hình 3-1). Với các bước
mà song song nhau thì trong thực tế có thể tiến hành cùng một lúc. Một số khái niệm
cần quan tâm :
Trang 36
• Miền nghiệp vụ (Business domain): Là một miền hay môi trường trong đó
diễn ra hoạt động tương tác (như trao đổi tài nguyên) giữa các tác nhân
nghiệp vụ (economic agents), như là mua bán, sản xuất, dịch vụ ...
• Tiến trình nghiệp vụ: Là một hoạt động thực hiện trong quá trình quản lý nghiệp
vụ một cách thủ công hay tự động. Mọi tiến trình đều cần dữ liệu đầu vào và
cho ra một kết quả khi kết thúc. Tùy thuộc vào độ phức tạp mà một tiến trình có
thể là một tác vụ đơn giản hay là một thủ tục phức tạp
• Tiến trình con: Là một tiến trình được thực hiện như một phần của tiến trình
khác. Tiến trình con có thể được “trừu tượng hóa” để che dấu chi tiết bên trong
và “cụ thể hóa” để thể hiện đầy đủ quy trình thực hiện bên trong.
• Sơ đồ nghiệp vụ sử dụng: Tập trung hơn vào mô tả các qui trình xử lý, còn các
vấn đề liên quan đến kỹ thuật, cách cài đặt… chỉ được mô tả một cách tổng
quát, trừu tượng, như là chỉ nêu lên những dự định (intentions).
• Sơ đồ hệ thống: Trong sơ đồ hệ thống mô tả rõ ràng những quyết định
(decisions) liên quan đến cài đặt, triển khai, kỹ thuật, ví dụ như trong khi mô tả
sẽ sử dụng các thuật ngữ như system, report, screen...)
• Hệ thống con: Một hệ thống sẽ được chia thành nhiều hệ thống con chịu trách
nhiệm về một hay một nhóm chức năng của hệ thống. Hệ thống con sẽ được xây
dựng như những thành phần độc lập để có thể sử dụng lại.
• Thành tố: Một hệ thống gồm nhiều thành phần, và một thành phần đảm nhiệm
việc thực thi một nhóm chức năng có liên quan của hệ thống. Một thành phần sẽ
chứa nhiều dịch vụ và cung cấp các dịch vụ này ra bên ngoài như là thành phần
giao tiếp.
Trang 37
• Thành phần nghiệp vụ: Thành phần nghiệp vụ là một thành phần cài đặt của
một chức năng hay qui trình nghiệp vụ. Thành phần nghiệp vụ được xây dựng
như những thành đơn vị độc lập và có khả năng tái sử dụng của hệ thống. Một
vài ví dụ của thành phần nghiệp vụ như: quản lý danh mục hàng hóa, quản lý
thanh toán, quản lý đặt hàng và tính thuế…
• Thành phần kỹ thuật: thành phần kỹ thuật thực thi các chức năng kỹ thuật trong
cơ sở hạ tầng của hệ thống (như security component , scheduling component),
độc lập với các chức năng nghiệp vụ.
• Value-chain : Là khái niệm nhằm chỉ các loại hoạt động nghiệp vụ được thực
hiện với mục đích nâng cao lợi nhuận của doanh nghiệp, bao gồm các hoạt động
như thu thập nguyên vật liệu, sản xuất, phân phối sản phẩm, marketing, chăm
sóc khách hàng....
• Vùng chức năng: Là khái niệm dùng để mô tả một bộ phận chịu trách nhiệm
cho một nhóm các chức năng có liên quan như là về khách hàng, sản xuất, phân
phối sản phẩm, lưu trữ kho…
• Top-down : trong xây dựng một hệ thống SOA, thì phương pháp top-down là
phương pháp mà điểm xuất phát của nó sẽ là từ các yêu cầu nghiệp vụ để xác
định các yêu cầu chức năng, các tiến trình và tiến trình con, các trường hợp sử
dụng (use cases) để tiến tới việc xác định các thành phần hệ thống
(components), các dịch vụ…
• Bottom-up : phương pháp này sẽ dựa trên việc phân tích tình trạng, các tài
nguyên của hệ thống hiện có và sẽ tái sử dụng lại những thành phần này trong
việc xây dựng các dịch vụ mới.
Trang 38
3.2.3 Các bước xây dựng hệ thống SOA
3.2.3.1 Phân rã domain
Ở giai đoạn này ta có thể sử dụng kỹ thuật top-down để phân rã domain (toàn bộ qui
trình nghiệp vụ) thành các quy trình nghiệp vụ, tiến trình con và sơ đồ sử dụng. Nếu
xem xét ở khía cạnh nghiệp vụ thì một domain bao gồm nhiều vùng chức năng.
Hình 3-2 – Phân rã domain thành một dãy các vùng chức năng liên quan
Sau khi phân rã domain thành một dãy các vùng chức năng liên quan, ta tiếp tục phân
tích từng vùng chứuc năng để xác định các sơ đồ sử dụng.
• Mô hình use case:
► UC1: Purchase Goods (khách hàng chọn và mua hàng từ danh sách nhà
bán lẻ cung cấp)
► UC2: Source Goods (nhà bán ...