Chuyển đổi BPMN sang BPEL

Một phần của tài liệu Khảo sát khả năng sử dụng ngôn ngữ bpel để cài đặt các mô hình tiến trình phần mềm (Trang 51 - 54)

BPMN là một chuẩn của OMG cung cấp hệ thống ký hiệu để mô hình hóa qui trình nghiệp vụ. Ƣu điểm của BPMN là dựa vào bộ ký hiệu của lƣu đồ nên rất dễ hiểu đối với các ngƣời làm kỹ thuật cũng nhƣ nghiệp vụ. Một số ký hiệu bổ sung của BPMN giúp mô tả đƣợc các hệ thống phức tạp. Các ký hiệu trong BPMN bao gồm các đối tƣợng (nhƣ Event, Activity, Gateway), liên kết (Sequence Flow, Message Flow, Association), làn (Pool, Lane), tài nguyên (Data Object, Group, Annotation). Event là các sự kiện xảy ra trong quá trình thực hiện tiến trình. Activity mô tả các công việc phải đƣợc hoàn thành. Activity bao gồm Task, Sub-process và các Transaction. Gateway

đối tƣợng điều khiển dùng để trộn hoặc phân chia các luồng thực thi.

Swimlane đƣợc dùng để tổ chức các hoạt động trong tiến trình. [Hình III-2] mô tả tiến trình gởi danh sách các vấn đề cho nhóm làm việc vào đúng 6PM thứ 6 hàng tuần.

Hình III-2 Một ví dụ về mô hình sử dụng BPMN

Bản đặc tả của BPMN [19] cung cấp thông tin và ví dụ về việc chuyển đổi BPMN sang BPEL. Bản đặc tả phân tích từng đối tƣợng trong BPMN và đề nghị đối tƣợng chuyển đổi tƣơng ứng trong BPEL. Một sơ đồ BPMN có thể đƣợc chuyển đổi thành nhiều tiến trình BPEL. Việc chuyển đổi bao gồm chuyển đổi thông tin về thuộc tính của các đối tƣợng Events, Activity,

SubProcess, Task, Gateway, Message và các cấu trúc lặp sang BPEL. Một số đối tƣợng trong BPMN không tồn tại đối tƣợng tƣơng ứng trong BPEL đƣợc bỏ qua, ví dụ nhƣ các đối tƣợng Id, Pool, Lane… Hơn nữa bản đặc tả chỉ mô tả việc chuyển đổi các cấu trúc lặp, cấu trúc switch và một vài cấu trúc trộn đơn giản nhƣ trộn hai luồng thực thi mà không đề cập đến các cấu trúc song song, các mẫu đồng bộ giữa các công việc. Bổ sung cho [19], [20] chỉ phƣơng pháp chuyển đổi các cấu trúc thực thi song song thành các đối tƣợng

Trong một nghiên cứu thú vị khác [21], nhóm tác giả đã tìm ra phƣơng pháp toàn diện hơn để giải quyết vấn đề chuyển đổi. Nhóm tác giả đã đề xuất một tập hợp gọi là tập các thành tố cơ bản của BPMN (core subset of BPMN elements). Tập hợp này bao gồm các mẫu hình cơ bản có thể dùng để tạo ra một sơ đồ BPMN với các cấu trúc điều khiển căn bản [Hình III-3].

Hình III-3 Tập hợp các thành tố cơ bản của BPMN [21]

Nhóm tác giả đã định nghĩa cấu trúc trừu tƣợng và các ràng buộc trên tập hợp các mô hình đƣợc biểu diễn bởi tập hợp các thành tố cơ bản trên - gọi là wellformed core BPD (Business Process Diagram). BPD đƣợc phân rã thành các component - là sơ đồ với chỉ một đầu vào và một đầu ra. Các component sẽ đƣợc chuyển đổi thành các khối XML của BPEL tƣơng ứng. Việc chuyển đổi bao gồm ba bƣớc: thứ nhất chuyển đổi các well-structured component sang BPEL. Well-structured component là các component có cấu trúc tƣơng ứng với năm cấu trúc của BPEL: <sequence>, <flow>, <switch>, <pick> và <while>. [Hình III-4] mô tả việc chuyển đổi này. Bƣớc thứ hai, chuyển đổi các component không well-structured và không có chu trình sang BPEL sử dụng cấu trúc song song của <flow>. Bƣớc thứ ba, chuyển đổi các component còn lại sử dụng cấu trúc xử lý sự kiện của BPEL. Hƣớng tiếp cận chuyển đổi này có ƣu điểm sản sinh mã BPEL dễ đọc tuy nhiên cần nhiều

Khác hoàn toàn với các hƣớng tiếp cận trên, [22] dùng metamodel để chuyển đổi. [Hình III-5] mô tả cách chuyển đổi này. Trƣớc tiên file XML lƣu giữ mô hình BPMN (BPMNXmlModel) sẽ đƣợc chuyển đổi sang định dạng phù hợp với metamodel BPMN đƣợc xây dựng trên chuẩn ecore của eclipse (BPMN-Model) bằng cách dùng tập luật XML2BPMN. Sau đó xây dựng tập luật bằng ngôn ngữ chuyển đổi mô hình ATL để biến BPMN-Model thành BPEL-Model. Cuối cùng mã nguồn BPEL (BPEL xml file) sẽ đƣợc phát sinh từ mô hình BPEL-Model dùng tập luật BPEL2XML.

Hình III-5 Quá trình chuyển đổi BPMN sang BPEL dùng metamodel

Một phần của tài liệu Khảo sát khả năng sử dụng ngôn ngữ bpel để cài đặt các mô hình tiến trình phần mềm (Trang 51 - 54)