Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 2: Các mẫu quy trình

Bản thiết kế để áp dụng khung làm việc phân rã cho các tình huống mới

Học về tập các mẫu quy trình nghiệp vụ phù hợp với SOA dùng kỹ thuật phân rã được mô tả trong Phần 1. Mỗi mẫu thuộc về một lớp của khung làm việc phân rã. Có các mẫu cho các quy trình tiêu thụ, chạy dài, activity (hành động) con người và chạy ngắn. Trong loạt bài này, học về một kỹ thuật phân rã có thể giúp bạn xác định quy trình nghiệp vụ phù hợp với một kiến trúc hướng dịch vụ (Service-Oriented Architecture SOA).

Ruud Schoonderwoerd, Tư vấn, IBM

Ruud Schoonderwoerd photoRuud Schoonderwoerd là một cố vấn quản trị và kiến trúc sư công nghệ thông tin (IT) của IBM Global Business Services ở Anh Quốc. Ông ta làm về các chương trình công nghệ thông tin lớn ở phía khách hàng IBM, tập trung vào BPM, SOA và các phương thức phân phối



17 07 2009

Các mẫu quy trình

Phần 1 mô tả một kỹ thuật để phân rã có thể giúp bạn làm cho các quy trình nghiệp vụ phù hợp với kiến trúc đích dựa trên SOA (Service-Oriented Architecture). Kỹ thuật tổ chức các quy trình theo một ngăn xếp các lớp kết nối lỏng lẻo tương đối giống với một ngăn xếp giải pháp SOA, như được chỉ ra ở Hình 1.

Hình 1. Ngăn xếp quy trình phù hợp với SOA
Ngăn xếp quy trình phù hợp với SOA

Bài báo này mang đến kỹ thuật cho cuộc sống bằng cách minh họa các mẫu quy trình nghiệp vụ dùng nó. Các mẫu là một cách có ích biểu diễn các khía cạnh hành vi đệ quy của các giải pháp CNTT, và chúng có thể được áp dụng cho các mô hình quy trình.

Các mẫu Van der Aalst

Rất nhiều người thực hành giữ nguyên "các mẫu quy trình nghiệp vụ" giống như những người đi trước họ, Wil van der Aalst và Arthur ter Hofstede (thỉnh thoảng được gọi là “các mẫu Van der Aalst"). Các mẫu Van der Aalst cung cấp các sản phẩm được hỗ trợ bởi kỹ pháp mô hình hóa quy trình nghiệp vụ hoàn toàn, hoặc một nền BPM. Chúng có ích trong việc đánh giá các khả năng của các ký pháp hoặc các nền tảng (xem Tài nguyên).

Bài báo này không tập trung vào các mẫu Van der Aalst, nhưng tập trung về thế nào là một mô hình quy trình được thiết kế tốt (hoặc không tốt), không quan tâm đến kỹ pháp hoặc nền tảng, dùng các nguyên tắc phân rã được giải thích trong Phần 1.

Các mẫu ở đây nhằm mục đích ví dụ, bạn cũng có thể áp dụng khung làm việc phân rã cho các tình huống mới.

Các mẫu được tổ chức theo các lớp trong Hình 1, bắt đầu với lớp quy trình tiêu thụ.

Đối với mỗi mẫu trong bài này, thông tin sau đây được cung cấp:

Vấn đề
Vấn đề giải quyết của mẫu này là gì?
Giải pháp
Bất kỳ thông tin gì về giải pháp trên đồ hình quy trình. Tại sao giải pháp này tốt hơn các giải pháp khác?
Bộ điều khiển quy trình
Cái gì điều khiển luồng quy trình trong mẫu này, và làm thế nào quy trình được triển khai một cách thông thường.
Các mẫu tái sử dụng
Các mẫu khác được tái sử dụng trong phạm vi mẫu này.
Ví dụ
Một ví dụ về mẫu này có thể được dùng ở chỗ nào.

Ký pháp

Các mẫu quy trình nghiệp vụ dùng Kỹ pháp mô hình hóa quy trình nghiệp vụ (BPMN) V1.1. BPMN (xem Tài nguyên) là chuẩn công nghiệp cho ký pháp quy trình mang tính đồ họa và được hỗ trợ bởi một lượng lớn các công cụ mô hình hóa quy trình, chẳng hạn như IBM® WebSphere® Business Modeler.

BPMN dùng ở đây được mở rộng (chuẩn cho phép như vậy) với các biểu tượng được chỉ ra trong Hình 2.

Hình 2. Chìa khóa của các đồ hình
Chìa khóa của các đồ hình

Chuẩn BPMN hỗ trợ hai loại quy trình con: được nhúng và độc lập. Các quy trình con được nhúng thuộc về quy trình cha. Chúng thực sự là một phần được xếp lại của nó. Các quy trình độc lập có thể được sử dụng trong các quy trình khác nhau. Trong các mẫu đó, bất cứ nơi nào ký pháp quy trình con ("+" được bao quanh bởi một hình vuông) được sử dụng, chúng luôn có nghĩa là gọi tới quy trình độc lập khác.

Trong các quy trình trong bài này, từ "giao tác - transaction" có thể đươc viết tắt là "Txn."

Theo thứ tự các lớp trong Hình 1, phần còn lại của bài báo này thảo luận về:


Các mẫu quy trình tiêu thụ

Các mẫu quy trình trong lớp tiêu thụ là các bản thiết kế cho các quy trình cho riêng các ứng dụng cụ thể, biểu diễn trong biên giới các kênh của một doanh nghiệp. Chúng gọi các dịch vụ quy trình nghiệp vụ được triển khai bởi hoặc là các quy trình nghiệp vụ chạy ngắn hoặc dài, hoặc các thao tác dịch vụ được triển khai bởi các hành động (activity) tự động. Tất cả các logic kênh cụ thể và ứng dụng cụ thể nằm trong lớp này.

Giao tác tự phục vụ

Hình 3. Giao tác tự phục vụ.
Giao tác tự phục vụ.
Vấn đề
Bạn cần mô hình hóa quy trình bước vào một giao tác nghiệp vụ dùng dạng giao diện người dùng dựa trên Web. Điều này giống như giao tác nghiệp vụ có thể được gọi thông qua các kênh khác nhau.
Giải pháp
Mô hình là một luồng giao diện người dùng với các lời gọi tới các dịch vụ xác nhận trước việc thực thi của giao tác. Khi kết hợp với mẫu giao tác thực thi, mẫu này giúp cho phép tách rời kênh cụ thể từ các quy trình nghiệp vụ phụ thuộc kênh. Nó cũng ngăn ngừa các công việc sửa lỗi thủ công, được sinh ra như là kết quả của các giao tác Web lỗi, bằng cách báo lỗi trở lại người dùng.
Bộ điều khiển quy trình
Lớp tiêu thụ, luồng màn hình. Thông thường được cài đặt dùng bất kỳ công nghệ giao diện người dùng nào, chẳng hạn như Java™ Server Pages (JSPs) với một bộ điều khiển luồng trang.
Các mẫu tái sử dụng
Thực thi giao tác, Một mẫu quy trình chạy ngắn.
Ví dụ
Hầu hết các giao tác trực tuyến bao gồm sự hoàn thiện các form (biểu mẫu), chẳng hạn như một quy trình đặt hàng hoặc một ứng dụng thế chấp

Giao tác chủ chốt với sự tham chiếu

Hình 4. Giao tác chủ chốt với sự tham chiếu
Hình 4. Giao tác chủ chốt với sự tham chiếu
Vấn đề
Đây là sự biến tẩu của mẫu giao tác tự phục vụ được đề cập ở trên. Ở đây, một thư ký đang khóa các chi tiết của một giao tác, hoặc từ một form giấy hoặc như là một phần của cuộc trò chuyện qua điện thoại với khách hàng. Nếu kết quả giao tác có lỗi, thư ký có thể quyết định tham chiếu (đưa) nó tới ai đó, chẳng hạn như một người giám sát hoặc chuyên gia.
Giải pháp
Một người dùng có thể tham chiếu giao tác tới một chuyên gia nếu có vấn đề với nó. Điều này thường xảy ra nếu việc phê chuẩn bị hỏng, hoặc giao tác tự nó (nếu nó là quy trình chạy ngắn) trả về một ngoại lệ mức quy trình nghiệp vụ.
Bộ điều khiển quy trình
Lớp tiêu thụ, luồng màn hình. Thông thường, điều này được cài đặt bởi bất kỳ công nghệ giao diện người dùng nào, chẳng hạn như Java™Server Pages (JPS) với một bộ điều khiển luồng trang.
Các mẫu tái sử dụng
Mẫu quy trình chạy ngắn thực thi giao tác và mẫu quy trình chạy dài giải quyết các vấn đề giao tác.
Ví dụ
Ai đó cố gắng mua một chiếc điện thoại di động trong cửa hàng, nhưng với vài lý do không xác định giao tác không được chấp nhận bởi hệ thống trung tâm. Để không mất đi nghiệp vụ, thư ký cửa hàng tham chiếu đơn đặt hàng tới các thao tác trung tâm, nhưng sẽ không thanh toán với khách hàng (như là một trong những bước trước của quy trình), và đưa chiếc điện thoại trở lại. Các thao tác trung tâm có thể giải quyết các vấn đề nổi bật với giao tác đặt hàng trước khi mạng dự phòng thực hiện.

Giao tác trên giấy với quản trị thông tin doanh nghiệp (ECM)

Hình 5. Giao tác trên giấy với ECM
Giao tác trên giấy với ECM
Vấn đề
Một biểu mẫu giấy đến tổ chức và được dẫn đến bộ phận ECM để quét, lưu trữ và trích rút dữ liệu.
Giải pháp
Khía cạnh cốt lõi của mẫu này là gọi giao tác dùng dữ liệu được trích rút như Hình 6. Mẫu này giả sử rằng sức mạnh hệ thống ECM không ở trong vùng xử lý các ngoại lệ nghiệp vụ từ giao tác này. Một biến thể của giao tác này được gọi có giải pháp sẵn cho vấn đề, dùng một cơ chế gọi-và-quên đi.
Bộ điều khiển quy trình
Lớp tiêu thụ, hệ thống ECM.
Các mẫu tái sử dụng
Thực thi giao tác với giải pháp cho vấn đề, một mẫu quy trình chạy dài.
Các ví dụ
Sự thay đổi quy trình của địa chỉ được nộp dạng một form giấy tới một tổ chức chính phủ.

Giao tác lô Nghiệp vụ - tới - Nghiệp vụ (B2B) cùng với các lỗi bị loại bỏ

Hình 6. Giao tác lô B2B cùng với các lỗi bị loại bỏ
Giao tác lô B2B cùng với các lỗi bị loại bỏ
Vấn đề
Một doanh nghiệp phơi bày một giao diện tới một tổ chức bên ngoài nhận một giao tác nào đó ở định dạng lô.
Giải pháp
Dữ liệu cho các giao tác đơn lẻ được trích rút từ lô và được gọi độc lập, từng cái một như là các quy trình nghiệp vụ chạy ngắn. Các ngoại lệ gây ra từ các giao tác được thu thập lại và kết hợp lại để trở lại tổ chức gọi.

Kênh B2B tái sử dụng lô-gic giao tác, các giao tác này cũng sẵn sàng cho các kênh khác. Vì các lí do hiệu năng, nó có thể không phải là giải pháp tốt nhất trong các trường hợp số lượng cực lớn cho mẫu được triển khai dùng các cơ chế SOA đã được thảo luận. Thay vào đó, ví dụ cài đặt có thể dựa trên các các kịch bản (script) mà thực thi trực tiếp trên cơ sở dữ liệu.

Bộ điều khiển quy trình
Lớp tiêu thụ, nền tảng loại ESB.
Các mẫu tái sử dụng
Giao tác thực thi mẫu quy trình chạy ngắn.
Ví dụ
Một tổ chức viễn thông di động đã nộp số được cấp phát cho tuần trước tới các dịch vụ thư mục. Các dịch vụ thư mục xử lý lô này theo mẫu.

Có nhiều sự biến đổi trong khung cảnh B2B này.

  • Giao tác lô với các lỗi được sửa

    Trong loạt bài này, giao tác được nộp cùng cách với mẫu giao tác giấy với quản lý thông tin doanh nghiệp (ECM).

  • Các giao tác B2B riêng lẻ

    Thông thường, các giao diện được cung cấp như là một dịch vụ Web (dùng SOAP thông qua giao thức HTTP), và quy trình có thể chứa mọt bước đơn đưa ra giao tác.

Trong khi một mô hình quy trình được dùng ở đây minh họa quy trình hoặc dịch vụ tái sử dụng bởi kênh B2B, điều này không phải luôn là cách tốt nhất để mô hình hóa một kênh B2B.


Các mẫu quy trình chạy dài

Các quy trình trong lớp quy trình chạy dài được gọi trực tiếp bởi lớp tiêu thụ, hoặc như là một kết quả của các sự kiện trong lớp quy trình chạy ngắn. Các quy trình chạy dài được gọi dùng các dịch vụ quy trình nghiệp vụ trong lớp kiến trúc tham chiếu SOA. Thông thường chúng được cài đặt dùng nền tảng quản lý quy trình nghiệp vụ (BPM).

Thực thi giao tác với phân giải vấn đề

Hình 7. Thực thi giao tác với phân giải vấn đề
Thực thi giao tác với phân giải vấn đề
Vấn đề
Một quy trình tiêu thụ cần phải thực thi một giao tác nhưng nó không có khả năng xử lý các ngoại lệ (các vấn đề) có thể nảy sinh.
Giải pháp
Một quy trình chạy dài mà bao gồm thực thi giao tác như là các quy trình chạy ngắn và xử lý các lỗi tương ứng như là các quy trình chạy ngắn. Mẫu này cho phép giao tác xử lý với các giải pháp vấn đề không kết nối lỏng lẻo hai chức năng.
Bộ điều khiển quy trình
Lớp quy trình nghiệp vụ (của kiến trúc tham chiếu SOA), quy trình chạy ngắn được phối hợp, được cài đặt dùng một engine BPM.
Các mẫu tái sử dụng
Mẫu quy trình chạy ngắn thực thi giao tác, và mẫu quy trình chạy dài giải quyết các vấn đề giao tác.
Ví dụ
Các giao tác B2B, nơi mà các mẫu nghiệp vụ không khả năng tự sửa lỗi. Các giao tác dựa trên giấy phi trực tuyến.

Thừa nhận phê chuẩn

Hình 8. Thừa nhận phê chuẩn
Thừa nhận phê chuẩn
Vấn đề
Một quá trình tiêu thụ cần phải trải qua một giao tác (biểu diễn một đơn hàng trong Hình 8). Bạn muốn biểu diễn giao tác như là một quy trình chạy dài. Nhưng quá trình tiêu thụ cần ngay lập tức biết rằng việc phê chuẩn cơ bản có thành công hay không. Quá trình tiêu thụ cũng cẩn phải xử lý quy trình đặt hàng để nhận thông tin trạng thái ở một pha sau này.
Giải pháp
Có đa giải pháp. Một được mô tả ở đây là một quy trình chạy dài mà bắt đầu với việc phê chuẩn chạy ngắn, đi theo bởi một bước giao tiếp giữa ID của đơn hàng với quy trình tiêu thụ, đi theo bởi quy trình thực hiện chạy thời gian dài. Mẫu này cho phép một quy trình chạy dài trả lại một "handle" hoặc các kết quả tạm thời trước khi quy trình chạy ngắn của nó bắt đầu.
Bộ điều khiển quy trình
Lớp quy trình nghiệp vụ (của kiến trúc tham chiếu SOA), quy trình chạy dài được triển khai dùng cơ chế BPM.
Các mẫu tái sử dụng
Không áp dụng được.
Ví dụ
Hầu hết các ứng dụng nơi mà một đơn hàng được đặt, và yêu cầu xác nhận đặt hàng ngay tức khắc, thực thi luôn là một quy trình chạy dài.

Có một giải pháp khác cho vấn đề này (tác giả thích giải pháp này hơn). Bạn có thể có một quy trình chạy ngắn tách rời, chẳng hạn như đặt hàng. Kết quả của quy trình là một sự kiện gọi và quên đi mà khởi động quy trình chạy dài Thực thi đơn hàng. Giải pháp này hiệu quả trong việc thực thi mẫu giao tác.

Giải quyết các vấn đề giao tác

Hình 9. Giải quyết các vấn đề giao tác
Giải quyết các vấn đề giao tác
Vấn đề
Có các vấn đề (các lỗi hoặc ngoại lệ) với một giao tác mà phải được xác định bởi một hoặc nhiều chuyên gia trong một doanh nghiệp.
Giải pháp
Có một quy trình độc lập, giải quyết vấn đề, chạy hoặc là cụ thể đối với một giao tác hoặc cụ thể đối với vấn đề nảy sinh (phụ thuộc vào nơi phổ biến—ví dụ giả sử cụ thể với giao tác). Tuy nhiên, nó độc lập với giao tác, vì thế ứng dụng tiêu thụ có thể chọn để gọi hoặc không gọi nó, nếu các kết quả giao tác nằm trong một hoặc nhiều ngoại lệ.

Phụ thuộc vào kiểu vấn đề của một giao tác, vấn đề được cấp phát tới một quy trình con giải quyết cụ thể đối với kiểu vấn đề. Đó có thể đơn giản chứa một chuyên gia đơn, hoặc phức tạp chứa các quy trình chạy dài của nó. Các vấn đề phức được giải quyết tuần tự. Đầu ra của mỗi quy trình con giải quyết vấn đề là một cờ xác định cái gì đã được làm cho giao tác.

Ví dụ, một giao tác có thể được thực hiện cách thành công, thất bại với các vấn đề còn lại hoặc tất cả đều bị loại bỏ. Nếu có các vấn đề còn lại, chúng được cấp phát lại dựa trên kiểu của nó. Các vấn đề không thể được giải quyết song song, như là giải pháp có thể dẫn đến thay đổi tải giao tác.

Giải pháp này cho phép tái sử dụng theo nhiều cách:

  • Bằng cách tách rời giải pháp vấn đề khỏi giao tác, các quy trình tiêu thụ, người dùng, mỗi thứ phục vụ cho các người dùng kinh nghiệm khác nhau, có thể gọi quy trình này trong các tình huống khác nhau.
  • Bằng cách có các quy trình con vấn đề cụ thể, tách rời, các quy trình con có thể được tái sử dụng qua các giao tác nơi mà có thể xảy ra các vấn đề giống nhau.
Bộ điều khiển quy trình
Lớp quy trình nghiệp vụ (của kiến trúc tham chiếu SOA), quy trình chạy dài, được triển khai dùng engine BPM.
Các quy trình tái sử dụng
Mẫu activity (hành động) con người giải quyết vấn đề đơn giản và mẫu quy trình chạy dài giải quyết vấn đề phức tạp.
Ví dụ
Các giao tác B2B nơi mà các đối tác không có khả năng tự sửa lỗi. Các giao tác dựa trên giấy không trực tuyến nơi mà không có các phản hồi ngay lập tức tới các khách hàng, như là có các giao tác trực tuyến.

Giải quyết vấn đề phức tạp

Vấn đề
Một vấn đề với giao tác xảy ra mà yêu cầu đầu vào hoặc phê chuẩn của nhiều chuyên gia.
Giải pháp
Hiện tại không có mẫu cụ thể nào xác định cho quy trình chạy dài này. Có thể có nhiều các bối cảnh khác nhau mà kết hợp chặt chẽ các thành phần của các mẫu khác được định nghĩa trong bài này. Nó được liệt kê ở đây như là một mẫu chỉ để tham chiếu.
Bộ điều khiển quy trình
Lớp quy trình nghiệp vụ (của kiến trúc tham chiếu SOA), quy trình chạy dài, được triển khai dùng engine BPM.
Các quy trình tái sử dụng
Không có
Ví dụ
Chuyên gia xem lại, kiểm tra lỗi tiềm tàng, đa phê chuẩn.

Quy trình thuê-thực thi được phối hợp

Hình 10. Quy trình thuê-thực thi được phối hợp
Quy trình thuê-thực thi được phối hợp
Vấn đề
Khi một khách hàng thuê cái gì đó, một tổ chức có thể muốn theo dõi hành trình của khách hàng từ đầu đến cuối. Quy trình không nằm trong quyền kiểm soát toàn bộ của doanh nghiệp, chúng phụ thuộc vào khách hàng thu thập các khoản mục được thuê và trả lại đúng thời điểm. Khách hàng có thể không theo các bước được quy định chính xác khi chúng được yêu cầu.
Giải pháp
Quy trình thuê được tiến hành như là một kết quả của sự kiện một đặt chỗ mới. Tài nguyên được thuê ngay lập tức được cấp phát. Điều gì xảy ra tiếp theo không phụ thuộc vào lô gic nghiệp vụ (giống như là cổng quyết định BPMN được dùng trong các mẫu khác), nhưng dựa trên các sự kiện khác, chẳng hạn như:
  • Khách hàng hủy việc đặt.
  • Khách hàng bắt đầu thuê.
  • Hạn đặt đã qua.
Cổng dựa trên sự kiện BPMN được dùng. Sự kiện nào xảy ra trước xác định đường của quy trình nghiệp vụ. Sự kiện dùng tài nguyên bắt đầu được giả thiết gây ra bởi quy trình chạy ngắn riêng rẽ mà lưu lại sự bắt đầu của đồng ý thuê (ví dụ, khách hàng thu thập khoản mục). Sự kiện dùng tài nguyên kết thúc được giả sử được gây ra bởi một quy trình chạy ngắn tương tự mà ghi lại việc kết thúc đồng ý thuê.

Sự kiện dùng tài nguyên kết thúc cũng có thể xảy ra trong quá trình chuẩn bị tài nguyên cho lần dùng tiếp theo độc lập hoàn toàn. . Đây không phải là phần của hành trình khách hàng.

Bộ điều khiển quy trình
Lớp quy trình nghiệp vụ (của kiến trúc tham chiếu SOA), quy trình chạy dài, được triển khai dùng engine BPM.
Các quy trình tái sử dụng
Không có.
Ví dụ
Thuê DVD, đặt chỗ khách sạn, thuê ôtô.

Các mẫu activity (hành động) con người

Các hành động con người là lớp biểu diễn các activity trong các quy trình chạy dài được phối hợp (hoặc các quy trình luồng công công việc) mà được thực thi bởi một người đơn lẻ. Các activity con người xuất hiện trong danh sách công việc của ai đó với vai trò phù hợp trước khi người ta bắt đầu làm việc với activity.

Giải quyết vấn đề đơn giản

Hình 11. Giải quyết vấn đề đơn giản
Giải quyết vấn đề đơn giản
Vấn đề
Một vấn đề với một giao tác xuất hiện mà có thể được giải quyết bởi một người đơn lẻ. Bởi thế, nó được định nghĩa như là một vấn đề đơn giản, hành động có thể yêu cầu các chuyên gia có các chứng chỉ mức cao hoặc chuyên nghiệp. Giao tác có thể cần phải chạy lại, vì thế người giải quyết vấn đề cần ngay lập tức phản hồi xem giao tác thành công hay thất bại — và rằng con người cần thời gian để cập nhật giao tác nếu cần.
Giải pháp
Đây là một hành động con người mà bắt đầu khi người dùng chọn nó từ một danh sách tác vụ (biểu diễn bởi một giao diện người dùng BPM). Hành động được bao gồm trong quy trình giải quyết giao tác vấn đề. Mô hình xử lý về cơ bản biểu diễn luồng màn hình. Kết của của hành động là giao tiếp với quy trình chạy dài và có thể là bất kỳ thứ gì trong các thứ sau:
  • Giao tác đã hoàn thành thành công.
  • Giao tác đã bị loại bỏ và khách hàng có hiểu biết.
  • Giao tác được lưu, treo một yêu cầu cho thông tin thêm từ khách hàng.
  • Giao tác có các vấn đề khác được giải quyết.
  • Hành động đã bị hủy bỏ.
  • Hành động cần phải được cấp phát lại cho người khác.

Các bước được định nghĩa ở đây được thi hành bởi cùng một người và có đầu vào đầu ra được định nghĩa rõ ràng. Việc thực thi của giao tác là thành phần của hành động này, vì thế người làm việc với hành động ngay lập tức lấy thông tin phản hồi xem nó thành công hay thất bại.

Bộ điều khiển quy trình
Lớp hành động con người, luồng màn hình.
Các quy trình tái sử dụng
Mẫu quy trình chạy ngắn thực thi giao tác.
Ví dụ
Bất kỳ quy trình nào có một bước giải quyết vấn đề con người.

Các mẫu quy trình chạy ngắn

Các quy trình phối hợp chạy ngắn thường biểu diễn các giao tác nghiệp vụ mà có liên kết trực tiếp với các đối tượng của khách hàng. Các mẫu sau đây giải quyết vấn đề xử lý những giao tác như thế.

Thực thi giao tác

Hình 12. Thực thi giao tác
Thực thi giao tác
Vấn đề
Bạn cần một quy trình nghiệp vụ triển khai một giao tác, và nó cần được tái sử dụng thông qua các kênh khác nhau (tiêu thụ). Giao tác này có thể đang đặt một đơn hàng hoặc một ứng dụng hoặc đang thay đổi dữ liệu nghiệp vụ.
Giải pháp
Các thành phần của một giao tác được chứa trong quy trình nghiệp vụ chạy ngắn. Bước đầu tiên của bất kỳ giao tác nào là thực thi phê chuẩn nghiệp vụ. Chúng có thể được làm một cách song song, như là được chỉ ra trong hình 12, hoặc sau phía sau. Mỗi phê chuẩn được thực thi, và các kết quả được thu thập để trả về trong trường hợp gọi ứng dụng lỗi. Sau khi phê chuẩn, các hệ thống bên dưới được cập nhật lại song song như được chỉ ra dưới đây hoặc tuần tự.

Rất nhiều giao tác yêu cầu quy trình thi hành. Trong ví dụ này, nó sẽ được bắt đầu phía sau khung cảnh như là kết của sự kiện được sinh ra. ID của giao tác được trả lại quy trình tiêu thụ để thẩm vấn trạng thái của các quy trình thực hiện.

Mẫu này áp dụng được cho nhiều loại giao tác, chẳng hạn như thực hiện đặt hàng, nộp đơn vay thế chấp, nộp đơn lấy bằng lái. Nó cho phép các ứng dụng tiêu thụ trực tuyến lấy các phản hồi ngay lập tức như là đối với sự thành công của giao tác. Người dùng có thể sửa lỗi và thử cố gắng đệ trình lại. Các ứng dụng tiêu thụ không trực tuyến (ví dụ, các ứng dụng đó với không người dùng) có thể tái sử dụng chức năng này và đảm bảo các vấn đề được giải quyết bằng cách gọi một quy trình dùng mẫu giải quyết các vấn đề giao tác , hoặc bằng cách gọi một quy trình dùng mẫu thực thi giao tác với phương án giải quyết vấn đề một cách trực tiếp.

Bộ điều khiển quy trình
Lớp quy trình nghiệp vụ, quy trình chạy ngắn, được triển khai dùng cơ chế BPM hoặc mã người dùng (ví dụ Java).
Các quy trình tái sử dụng
Không có.
Ví dụ
Đặt đơn hàng.

Thực thi giao tác với việc phục hồi

Hình 13. Thực thi giao tác với việc phục hồi
Thực thi giao tác với việc phục hồi
Vấn đề
Vấn đề tương tự như thực thi giao tác, nhưng chúng ta cũng cần phải đảm bảo giao tác phải nguyên tử, có nghĩa là các dịch vụ bên được gọi từ quy trình được quay lui lại trạng thái nếu một trong số chúng bị lỗi.
Giải pháp
Đây là phiên bản cao cấp của thực thi giao tác. Một sự kiện phục hồi gây ra các các sự kiện phục hồi ngay lập tức phía trong quy trình. Mỗi sự kiện trung gian đó tạo ra lời gọi tới chức năng quay lui (undo) của các dịch vụ có nó. Mặc dù các bước phê chuẩn đã thực thi trước khi hành động lưu (commit) (các hành động "cập nhật hệ thống"), cần đảm bảo rằng các hành động lưu sẽ thành công, trong thực hành không phải là luôn có thể tin tưởng vào điều này trăm phần trăm. Mẫu này triển khai một tiếp cận dây lưng và phanh (belt-and-braces) để khống chế các lỗi của việc lưu (commit).
Bộ điều khiển quy trình
Lớp quy trình nghiệp vụ, quy trình chạy ngắn, được triển khai dùng engine BPM.
Các quy trình tái sử dụng
Không có
Ví dụ
Làm đơn hàng

Tóm tắt

Bài này minh hoặc các mẫu quy trình nghiệp vụ dùng kiến trúc phân rã để làm phù hợp với các quy trình nghiệp vụ trong một kiến trúc SOA. Bạn đã học về các mẫu mà bạn có thể dùng khi định nghĩa các quy trình nghiệp vụ được triển khai trên giải pháp SOA giống như kiến trúc tham chiếu IBM SOA. Mỗi mẫu biểu diễn một quy trình là một phần của các lớp quy trình nghiệp vụ: quy trình tiêu thụ, quy trình chạy dài, quy trình hành động con người và quy trình chạy ngắn.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

  • Tham gia vào diễn đàn kiến trúc CNTT để trao đổi các thủ thuật và kỹ thuật và chia sẻ với người khác các thông tin liên quan về chủ đề rộng lớn kiến trúc CNTT.

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=SOA và dịch vụ Web
ArticleID=413528
ArticleTitle=Mô hình lập trình SOA để triển khai thực hiện các dịch vụ Web, Phần 2: Các mẫu quy trình
publish-date=07172009