Ngôn ngữ mô hình hóa eXPDL

Một phần của tài liệu LV CNTT BPEL.pdf (Trang 40 - 44)

Chương 2. Giới thiệu một số ngôn ngữ mô hình hóa

2.3. Ngôn ngữ mô hình hóa eXPDL

2.3.1. Giới thiệu:

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

Trên cơ sở nghiên cứu hai ngôn ngữ mô hình hóa hiện nay là XPDL, BPML, hai sinh viên Trần Đăng Khoa và Phạm Minh Tuấn, sinh viên trường Đại học Khoa học Tự nhiên, đã nghiên cứu và đề xuất ngôn ngữ mô hình hóa eXPDL. 7

eXPDL quan tâm đặc biệt đến việc mô hình hóa các quy trình trong thực tế, không quan tâm đến “siêu mô hình” (meta - model). Ngôn ngữ XPDL là ngôn ngữ mô hình hóa hướng luồng công việc với khả năng vận hành và tính chuẩn hóa luồng công việc rất cao. Ngôn ngữ BPML là ngôn ngữ xem xét quy trình dưới dạng cấu trúc điều khiển, nó có tính biểu đạt và tính hình thức rất cao. eXPDL là sự kết hợp của XPDL và BPML. Tuy nhiên eXPDL được xây dựng chủ yếu dựa vào XPDL có kết hợp bổ sung các khái niệm mới của BPML để tăng tính diễn đạt.

2.3.2. Những cải tiến của eXPDL so với XPDL và BPML:

Phần này đã được trình bày chi tiết trong luận văn cử nhân tin học của Trần Đăng Khoa và Phạm Minh Tuấn. Dưới đây chúng em xin tóm tắt lại một số ý chính:

2.3.2.1. Loại bỏ sự nhập nhằng giữa các hoạt động và các cổng điều khiển:

XPDL: Đồng nhất các cổng điều khiển với các hoạt động.

BPML: Các cổng điều khiển không được định nghĩa, mà việc điều khiển các luồng công việc thông qua các hoạt động chuẩn (được định nghĩa như các khối cấu trúc (while,switch,all, choice,…).

eXPDL: Định nghĩa thêm đối tượng Gateway. Gateway làm nhiệm vụ thể hiện ngữ nghĩa đồng bộ hóa giữa các luồng công việc trong quy trình. Có thể chia Gateway thành 4 loại cơ bản : AND, OR, XOR, COMPLEX.

2.3.2.2. Hỗ trợ mô tả các tiến trình thuộc loại Ad – Hoc:

Tiến trình loại AdHoc là các tiến trình bên trong nó các hoạt động không được quy định thứ tự thực hiện . Tất cả các hoạt động này sẽ được thực hiện tùy ý cho

7 Tìm hiểu XPDL và xây dựng ứng dụng minh hoạ,Trần Đăng Khoa và Phạm Minh Tuấn, Luận văn cử nhân tin học, Tp.HCM 2004.

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

đến khi tất cả các hoạt động đều được hoàn thành. - chỉ có ràng buộc duy nhất là không có 2 hoạt động nào được tiến hành song song cùng lúc. Đây là tiến trình thuộc về mẫu “đường vào song song” (Interleaved Parallel Routing).

XPDL: Định nghĩa hai loại cổng là Split và Join nhưng không đủ ngữ nghĩa thể hiện cho Ad - Học.

BPML: Không có cơ chế trực tiếp hỗ trợ mẫu này.

eXPDL: Cung cấp thuộc tính để chỉ ra tiến trình thuộc loại Ad - Học.

2.3.2.3. Hỗ trợ mô tả các hoạt động đa thể hiện:

Có 4 mẫu hoạt động đa thể hiện:

• Mẫu đa thể hiện không đồng bộ

• Mẫu đa thể hiện biết thông tin ở thời điểm thiết kế

• Mẫu đa thể hiện biết trước thông tin ở thời điểm thực thi

• Mẫu đa thể hiện không biết trước thông tin.

XPDL: chỉ thể hiện được mẫu đa thể hiện không đồng bộ và mẫu đa thể hiện biết thông tin ở thời điểm thiết kế.

BPML: hỗ trợ được tất cả các mẫu đa thể hiện thông qua việc sử dụng các hoạt động điều khiển.

eXPDL: Cung cấp các thuộc tính hỗ trợ cho việc thể hiện của mẫu đa thể hiện trong các tác vụ và các tiến trình con.

2.3.2.4. Bổ sung các sự kiện vào mô hình nghiệp vụ:

XPDL: Không hỗ trợ cơ chế đón bắt sự kiện giữa các hoạt động thành phần với nhau.

BPML: cho phép mô tả cơ chế này ở mức độ tương đối thông qua các tín hiệu (signal).

eXPDL: Cung cấp 3 loại sự kiện chính:

- Các sự kiện kích hoạt tiến trình : Start Events - Các sự kiện kết thúc tiến trình : End Events

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

- Các sự kiện xảy ra tức thời trong tiến trình : Intermediate Events.

2.3.2.5. Hỗ trợ mô tả cơ chế giao tác của hoạt động nghiệp vụ:

XPDL: Không hỗ trợ việc định nghĩa các hoạt động mang tính giao tác.

BPML: Có khả năng định nghĩa giao tác.

eXPDL: Hỗ trợ thông qua thuộc tính Transaction của các tiến trình con và các sự kiện Cancel bên trong tiến trình con này.

2.3.2.6. Hỗ trợ mô tả cơ chế giải quyết đền bù:

eXPDL cung cấp cơ chế giải quyết đền bù thông qua các sự kiện Intermediate Event loại Compensation hoặc các End Event loại Compensation.

2.3.2.7. Hỗ trợ mô tả cơ chế phát sinh và giải quyết lỗi:

XPDL: Không đủ ngữ nghĩa mô tả cơ chế này.

BPML: Hỗ trợ mô tả cơ chế này.

eXPDL: Sử dụng các đối tượng sự kiện để cung cấp khả năng biểu đạt của cơ chế phát sinh và giải quyết lỗi, thông qua thuộc tính Exception của sự kiện.

2.3.2.8. Hỗ trợ mô tả các quy trình có những hoạt động theo mẫu cột mốc:

• Cả XPDL BPML chưa hỗ trợ việc mô tả này.

eXPDL sử dụng loại IntermediateEvent kiểu Timer(với Timer là MileStone) để hỗ trợ mô tả cơ chế này.

2.3.2.9. Hỗ trợ cơ chế mô tả tổ chức và phân công vai trò nghiệp vụ trong các hoạt động:

XPDL: Cung cấp phần mô tả tổ chức: Role (các vai trò nghiệp vụ trong tổ chức), Tool ( các công cụ hỗ trợ nghiệp vụ trong tổ chức). Ngoài ra còn hỗ trợ việc phân công các Role tham gia các hoạt động và các Tool hỗ trợ các hoạt động đó.

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

BPML: Không hỗ trợ đặc tả các Role, Tool mà chỉ tập trung vào các cơ chế điều khiển hoạt động là chính.

eXPDL: Giữ lại đặc tính mô tả của XPDL. Tuy nhiên cụ thể hóa khái niệm công cụ hơn để dễ mô tả cho các nghiệp vụ điện tử. Các công cụ được phân làm 2 loại : các ứng dụng (Application) và các WebService 2.3.2.10. Hỗ trợ mô tả cơ chế phân công thực thi trên các sản phẩm:

Hầu hết các ngôn ngữ mô hình hóa luồng công việc không cho phép mô tả cơ chế này (kể cả XPDL và BPML).

eXPDL hỗ trợ hai quyền là: Quyền đọc (Read) và Quyền ghi (Write).

2.3.2.11. Cải tiến trong khái niệm luồng vận chuyển sản phẩm của nghiệp vụ:

Hiện tại đặc tính này chỉ ở mức đề xuất thử nghiệm trong đặc tả eXDPL, chưa hỗ trợ mô tả cụ thể.

2.3.2.12. Hỗ trợ cơ chế kích hoạt giữa các hoạt động thông qua thông điệp:

eXPDL hỗ trợ hai cơ chế: Cơ chế bắt thông điệp và Cơ chế gửi thông điệp.

2.3.2.13. Hỗ trợ việc mở rộng các đối tượng:

XPDL và BPML cho phép các tổ chức khác có thể mở rộng đối tượng đã có thông qua các thuộc tính mở rộng. Tuy nhiên không có cơ chế thêm vào một loại đối tượng mới thuộc cùng một lớp đối tượng. Ví dụ: không thể thêm vào một kiểu hoạt động mới hoàn toàn.

eXPDL cho phép thêm vào mô hình các kiểu đối tượng mở rộng:

UserDefinedActivityType, UserDefinedEventType, UserDefinedFlowType. Do đó có thể tạo các đối tượng mở rộng từ các kiểu trên: UserDefinedActivity (hoạt động tự định nghĩa), UserDefinedEvent (sự kiện tự định nghĩa), UserDefinedFlow (luồng tự định nghĩa).

Một phần của tài liệu LV CNTT BPEL.pdf (Trang 40 - 44)

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

(135 trang)