Một số mẫu luồng xử lý của BPEL4WS

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát triển phần mềm (Trang 88 - 90)

WP1: Sequence

Một xử lý được kích hoạt sau khi xử lý trước nó đã hồn thành.

Tại một thời điểm nào đó, một luồng xử lý chính được tách ra thành nhiều luồng khác nhau cùng thực hiện song song, như thế sẽ giúp cho các xử lý được thực thi song song và theo một thứ tự bất kỳ.

WP3: Synchronization

Tại một thời điểm nào đó của tiến trình mà các luồng xử lý khác nhau cần tích hợp lại thành một luồng xử lý đơn. Vì thế, ta cần quan tâm đến việc đồng bộ giữa luồng.

WP4: Exclusive choice

Tại một thời điểm thực thi tiến trình, tùy theo một điều kiện gì đó mà sẽ quyết định chọn một xử lý nào đó để thực thi.

WP5: Simple merge

Tại một thời điểm thực thi, có thể có nhiều nhánh điều kiện được thỏa để kích hoạt một xử lý khác. Vậy thì làm sao giải quyết vấn đề đồng bộ để xử lý đó khơng bị kích hoạt nhiều lần.

WP6: Multi-choice

Tại một thời điểm thực thi, tùy theo một điều kiện nào đó mà một số xử lý sẽ được chọn và thực thi cùng lúc.

WP7: Synchronizing merge

Tại một thời điểm thực thi, có nhiều nhánh được tích hợp thành một luồng đơn duy nhất. Một số trong các nhánh này đang được thực thi, trong khi một số khác thì khơng. Nếu chỉ một nhánh đang được thực thi, thì sau khi nhánh này hồn thành thì xử lý ở bên dưới sẽ được kích hoạt. Thế nhưng, khi có nhiều nhánh đang thực thi thì vấn đề trở nên phức tạp hơn. Ta phải quan tâm đến việc đồng bộ giữa các nhánh này sao cho xử lý ở bên dưới chỉ được kích hoạt đúng một lần, nghĩa là sau khi tất cả các nhánh đang thực thi đều đã hoàn thành.

WP8: Deferred Choice

Tại một thời điểm thực thi, một trong các nhánh sẽ được chọn dựa trên một thơng tin nào đó, và thơng tin đó chưa xác định tại thời điểm đó. Trường hợp này khác với exclusive choice (WP4) vì quyết định chọn lựa khơng được thực hiện ngay lập tức tại thời điểm đó, mà phải đợi cho đến khi thơng tin cần có được xác định. Nói cách khác, quyết định lựa chọn được trì hỗn lại cho đến khi nào có sự xuất hiện của một biến cố nào đó.

CP1: REQUEST/REPLY

Đây là một dạng của giao tiếp đồng bộ, trong đó đối tượng gửi yêu cầu và đợi nhận trả lời trước khi tiếp tục xử lý. Nội dung trả lời có thể ảnh hưởng đến những xử lý thực hiện sau đó của phía gửi.

CP2: ONE-WAY:

Đây là hình thức giao tiếp đồng bộ mà người gửi sau khi gửi yêu cầu, sẽ chờ để nhận xác nhận từ phía bên nhận. Vì phía nhận chỉ gửi xác minh là đã nhận được yêu cầu nên nội dung trả lời coi như là trống và chỉ làm chậm đến những xử lý sau đó của phía gửi.

CP3: SYNCHRONOUS POLLING:

Đây cũng là một dạng của giao tiếp đồng bộ, trong đó, phía gửi sau khi gửi u cầu sẽ không dừng lại để chờ, mà sẽ tiếp tục xử lý. Sau một khoảng thời gian, phía gửi sẽ kiểm tra xem đã nhận được trả lời chưa? Khi đã nhận được trả lời, nó xử lý thơng tin trả lời sau đó tiếp tục cơng việc của mình.

Giao tiếp bất đồng bộ (Asynchronous Communication)

CP4: MESSAGE PASSING:

Đây là một dạng của hình thức trao đổi bất đồng bộ, trong đó, phía gửi sẽ chuyển u cầu đến phía nhận, sau đó nó tiếp tục những cơng việc của mình.

5.4. So sánh kiến trúc hƣớng mơ hình (Moden Driven Architecture – MDA) với kiến trúc hƣớng dịch vụ (Service Oriented MDA) với kiến trúc hƣớng dịch vụ (Service Oriented

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, ứng dụng phương pháp kiến trúc và mô hình hóa hướng dịch vụ trong công nghệ phát triển phần mềm (Trang 88 - 90)