.24 Trƣờng hợp sử dụng của Scope

Một phần của tài liệu (LUẬN văn THẠC sĩ) so sánh hiệu năng của các trình xử lý BPEL (Trang 26 - 28)

1.3.5 Quản lý các ngoại lệ và các biến

Trong quá trình thƣ̣c thi thì các tiến trình sẽ có thể xảy ra các ngoa ̣i lê ̣ , chẳng hạn nhƣ gọi đến một dịch vụ không tồn tại hoă ̣c lỗi do cú pháp và các biểu thƣ́c mà ngƣời dùng nhâ ̣p vàọ Để thu ̣ lý các lỗi này thì BPEL 2.0 dùng các tác vụ nhƣ Throw hay Rethrow

để ném các lỗi ra cho một tác vụ xƣ̉ lý lỗi bên ngoài là CompensateScope hay

Compensate để xử lý các lỗi nàỵ

<while standard-attributes> <condition expressionLanguage=”anyURI”?> bool-expr </condition> standard-elements activity </while>

Có hai loại sự kiện trong BPEL 2.0 đó là: MessageEvent: Sự kiện xảy ra khi có nhận đƣợc một thông điệp. AlarmEvent: Sự kiện xảy ra khi hết một thời gian chỉ định và thƣờng lặp đi lặp lạị Khi một sự kiện xảy ra, thông thƣờng tiến trình BPEL sẽ gọi một tác vụ Reply để trả lại thông điệp nhận đƣợc, hoặc ngừng thể hiện của tiến trình hiện tại mà không xử lý lỗi hoặc ném ra một lỗi để gọi tác vụ xử lý lỗi tƣơng ứng.

1.3.6 Xử lý lỗi

Trong quá trình thực thi một tiến trình có thể xảy ra các tình huống chẳng hạn nhƣ: một dịch vụ Webđƣợc gọi không thể thực thi đƣợc, một biến đƣợc sử dụng nhƣng chƣa đƣợc khởi tạo, một biểu thức nhập vào không phù hợp với kiểu dữ liệu mong đợi… Tất cả các trƣờng hợp trên sẽ phát sinh ra lỗi và yêu cầu chúng ta phải xử lý lỗi (fault handling) để không ảnh hƣởng đến các nghiệp vụ khác trong quy trình. Chúng ta cũng có thể tạo ra một lỗi bằng cách dùng tác vụThrow hay Rethrow để đƣa ra lỗi (tác vụ Rethrow dùng khi một lỗi đƣợc ném ra từ Scope bên trong (có thể đã đƣợc thụ lý hoặc chƣa thụ lý) đƣợc ném tiếp ra phạm vi ngoàị Khi có lỗi xuất hiện, tất cả các tiến trình trong phạm vi hiện tại sẽ đƣợc dừng lại và chuyển sang tác vụ thụ lý lỗi tƣơng ứng.

Tổng kết chương

Với WS-BPEL 2.0, nhà phát triển có thể thiết kế và mô hình hóa một tiến trình nghiệp vụ từ đơn giản đến phức tạp mà không cần phải mất quá nhiều thời gian với một giao diện thân thiện và mô tả rõ ràng của các tác vụ. Để thuận tiện cho việc tạo ra các tiến trình nghiệp vụ, ngƣời dùng có thể sử dụng các trình thiết kế BPEL để kéo thả các đối tƣợng vào màn hình thiết kế mà không cần phải viết một dòng mã nguồn nàọ Các đặc tả tiến trình sau khi tạo xong sẽ đƣợc biên dịch và thực thi trên các trình xử lý BPEL. Trong chƣơng 2, chúng ta sẽ đi vào tìm hiểu các công cụ đồ họa để tạo ra các tiến trình và các trình xử lý để biên dịch và thực thi chúng.

Chương 2: KIẾN TRÚC CÁC TRÌNH XỬ LÝ BPEL

Trong chƣơng này, chúng ta sẽ nghiên cứu kiến trúc BPEL và một số trình xử lý BPEL tiêu biểu: Apache ODE, ActiveVOS và Oracle BPEL Process Manager. Việc tìm hiểu kiến trúc của các trình xử lý sẽ giúp chúng ta hiểu đƣợc cơ chế hoạt động của chúng đồng thời là cơ sở giải thích những kết quả so sánh hiệu năng trong chƣơng 3.

2.1 Khái niệm trình xử lý BPEL

Nhƣ đã giới thiệu trong chƣơng 1, BPEL là ngôn ngữ để mô hình hóa quy trình nghiệp vụ và kết hợp các dịch vụ đơn lẻ thành một quy trình thống nhất. Sau khi quy trình đƣợc tạo ra, nó sẽ đƣợc triển khai trên trình xử lý BPEL, là công cụ thực thi và cụ thể hóa quy trình đó. Trình xử lý BPEL đƣợc định nghĩa là:

“Trình xử lý BPEL là một trình xử lý luồng công việc mà thực thi các tiến trình được đặc tả bằng ngôn ngữ BPEL”[4] hoặc “Trình xử lý BPEL là một thành phần phần mềm có khả năng biên dịch ngôn ngữ BPEL” [15].

Theo định nghĩa trên, trình xử lý BPEL không hoạt động độc lập mà là một thành phần phần mềm trong kiến trúc của BPEL. Kiến trúc của BPEL bao gồm 03 thành phần chính là: trình thiết kế BPEL, mẫu tiến trình và trình xử lý BPEL.

Một phần của tài liệu (LUẬN văn THẠC sĩ) so sánh hiệu năng của các trình xử lý BPEL (Trang 26 - 28)

Tải bản đầy đủ (PDF)

(64 trang)