Giao tác (Transaction):

Một phần của tài liệu nghiên cứu ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ trên môi trường WEB (Trang 38 - 40)

2.2.9.1. Cơng việc nguyên tố (Atomic activity):

Một cơng việc nguyên tố là một cơng việc thực hiện như một đơn vị cơng việc riêng lẻ. Một cơng việc nguyên tốđảm bảo rằng các cơng việc khác sẽ khơng thấy kết quả từng phần trong khi cơng việc đang thực hiện, chỉ thấy được kết quả sau khi cơng việc thực hiện xong.

Hầu hết các cơng việc đơn là cơng việc nguyên tố. Một số ngoại lệ là loại cơng việc: call, compensate, action khi thuộc tính “activities” được xác định.

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB

Một cơng việc thực hiện qua một khoảng thời gian dài phải thực hiện trong mơi trường phục hồi sự cố (do các điều kiện ngoại cảnh ví dụ : hệ thống bị dừng do mất điện…). Khi hệ thống bị dừng xẩy ra, thì cơng việc phải cho phép thực hiện tiếp ở trạng thái đã tồn tại rồi (thực hiện tiếp cơng việc mà cơng việc đã làm rồi trước khi sự cố xẩy ra). “Persistence” được định nghĩa như là khả năng gọi lại một thể hiện quy trình đã tồn tại sau khi hệ thống bị dừng.

Một thể hiện “persistent process” được định nghĩa như là trạng thái của thể

hiện quy trình tồn tại sau sự thực hiện của các cơng việc nguyên tố. Thể hiện quy trình phải gọi lại tất cả các cơng việc nguyên tốđã hồn thành hay bỏ dở.

Sự thực thi BPML cung cấp mơi trường phục hồi sự cố cho việc thực hiện các quy trình bằng cách thực hiện hai cơ chế phục hồi “backward” và “forward”.

Forward: Là khả năng gọi các thể hiện quy trình sau khi hệ thống thất bại,

đưa chúng trở về trạng thái tồn tại và tiếp tục thực hiện chúng.

Backward: Là khả năng hủy bỏ một cơng việc nguyên tố mà chưa hồn thành hoặc bỏ dở trước khi hệ thống xảy ra sự cố.

2.2.9.3. Giao tác (Transaction):

Các phương thức giao tác cho phép hai quy trình tương tác với nhau thơng qua trao đổi thơng điệp để phối hợp cùng hồn thành cơng việc của chúng. Cĩ hai loại giao tác: atomic transaction, open nested transaction.

Atomic transaction: Cho phép hai hệ thống thực hiện các cơng việc nguyên tố trong một ngữ cảnh nguyên tố dùng chung, do đĩ cả hai cơng việc hồn thành và bỏ dở cùng nhau. Đầu ra của giao tác là sự kết hợp của tất cả các đầu ra của tất cả các cơng việc thực hiện như một phần của ngữ cảnh của giao tác. Đầu ra của giao tác thành cơng nếu tất cả các đầu ra của các cơng việc thành cơng, thất bại nếu bất kỳ cơng việc nào khơng thể kết thúc hoặc trạng thái của cơng việc đĩ khơng thể xác định được.

Ngữ cảnh giao tác được xác định trước khi thực hiện cơng việc đầu tiên trong giao tác. Ngữ cảnh giao tác được kết nối như một phần của trao đổi thơng điệp để

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên mơi trường WEB

Một cơng việc nguyên tố thực hiện trong một ngữ cảnh giao tác khơng hồn thành cho đến khi các đầu ra của giao tác được xác định. Chúng vẫn giữ nguyên trạng thái “completing”, chờ một giải pháp cho đầu ra của giao tác. Sau khi đầu ra giao tác được xác định (thành cơng) thì cơng việc chuyển qua trạng thái “completed”.

Open nested transaction: Các cơng việc khơng phải nguyên tố cần phối hợp với nhau sử dụng “open nested transaction”. Trong khi “atomic transaction”

được sủ dụng cho các giao tác ngắn, thì “open nested transaction” thích hợp cho cả

giao tác ngắn và dài. Một “open nested transaction” cĩ thể bao gồm các cơng việc thực hiện tương tác yêu cầu/ trả lời (request/response) sử dụng các hành động

đồng bộ hĩa, và các cơng việc thực hiện qua một thời gian dài.

Một “open nested transaction” cĩ thể bao gồm sự thực thi của một hoặc nhiều “open nested transaction” và “atomic transaction”.

Các cơng việc khơng là nguyên tố giao tiếp với ngữ cảnh giao tác và đầu ra giao tác giống như cách giao tiếp của cơng việc nguyên tố.

2.2.10.Hàm (Function):

Đặc tả BPML cung cấp một số hàm cần thiết cho việc định nghĩa quy trình cĩ khả năng thực thi. Một định nghĩa quy trình cĩ thể sử dụng bất kỳ hàm nào trong mơ tả quy trình.

Cấu trúc chung:

returnType funcName(paramType paramName,…) BPML phân chia làm hai loại hàm chính:

Generic: Tập hợp các hàm dùng để tương tác với các thơng tin tổng quát như: thời gian, định danh…

Instances: Dùng để tương tác với các thơng tin của thể hiện cơng việc trong quá trình thực hiện của cơng việc, ví dụ: thơng tin trạng thái.

Một phần của tài liệu nghiên cứu ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ trên môi trường WEB (Trang 38 - 40)