Các ngôn ngữ dùng trong orchestration:

Một phần của tài liệu đồ án tốt nghiệp đại học khảo sát các phương pháp phối hợp dịch vụ (Trang 99 - 105)

5 CHƯƠNG V: CÁC PHƯƠNG PHÁP PHỐI HỢP DỊCH VỤ TRONG MIỀN

5.2.3 Các ngôn ngữ dùng trong orchestration:

Đến nay đã có khá nhiều ngôn ngữ được phát triển để thực hiện qui trình phối hợp và triển khai các dịch vụ web. Chúng bao gồm: WSCL, XLANG, WSFL, BPMN, WSCI, BPML và BPEL4WS.

5.2.3.1 Web Services Conversation Language (WSCL)

WSCL là một ngôn ngữ trao đổi đơn giản, được xây dựng dựa trên việc mô hình hóa thứ tự tương tác giữa các dịch vụ web. Chức năng của nó tương tự

như chức năng của choreography. WSCL cho phép xác định các interface trừu tượng cho web service. Vì các định nghĩa mô tả phiên trao đổi trong WSCL là các tệp XML nên các công cụ phát triển web service có thể hiểu được chúng. WSCL bao gồm 4 yếu tố chính sau đây (xem Hình ):

 Các mô tả dạng văn bản – Document type descriptions: xác định dạng của các văn bản XML mà dịch vụ có thể chấp nhận và chuyển tiếp trong phiên trao đổi.

 Các tương tác - Interactions: tạo ra các hành động mẫu trong phiên trao đổi như sự trao đổi các văn bản giữa hai dịch vụ tham gia vào quá trình phối hợp

 Các Transitions: xác định mối quan hệ thứ tự giữa các tương tác.

Hình 5-37: Ví dụ về WSCL

5.2.3.2 XLANG

Tiêu chuẩn kĩ thuật XLANG được Microsoft phát triển. Nó cho phép xây dựng các qui trình nghiệp vụ và cung cấp khả năng tương tác với các nhà cung cấp dịch vụ web. XLANG hỗ trợ điều khiển xử lý theo thứ tự, một cách song song và có điều kiện. XLANG giao tiếp thông qua các interface của ngôn ngữ WSDL. Và hiện nay, nó đã được kết hợp với ngôn ngữ WSFL để hình thành BPEL4WS.

5.2.3.3 Web Services Flow Language (WSFL)

WSFL được IBM phát triển để mô tả các quá trình xử lý mở và đóng. WSFL định nghĩa ra thứ tự thực hiện các hành động và trao đổi dữ liệu cho quá trình

WSDL. WSFL hỗ trợ xử lý các tác vụ trong khi nó không tham gia hỗ trợ trực tiếp các phiên giao tiếp. Ngôn ngữ này được kết hợp với XLANG để tạo ra BPEL4WS.

5.2.3.4 Business Process Modeling Notation (BPMN)

BPMN là bản trình bày bằng mô hình để mô tả các qui trình nghiệp vụ trong một tiến trình công việc. BPMN được thực hiện bằng BPMI (Business Process Management Initiative). BPMN hiện nay vẫn là tiêu chuẩn để mô hình hóa một tiến trình nghiệp vụ. Mục đích chính của BPMN là để cung cấp giải pháp kĩ thuật cho người sử dụng để xác định và quản lý các qui trình xử lý của họ bằng cách cung cấp một giải thích tiêu chuẩn mô tả chính xác các quá trình phức tạp. BPMN hỗ trợ ánh xạ giữa các mô hình và các ngôn ngữ thực thi, ví dụ như BPEL.

Quá trình mô hình hóa trong BPMN được thực hiện bằng các sơ đồ đơn giản. Các sơ đồ này bao gồm một tập hợp các hình khối đơn giản. Qua các sơ đồ này, người sử dụng và các nhà phát triển dịch vụ có thể dễ dàng hiểu các tiến trình xử lý. Các tập hợp hình cơ bản bao gồm:

 Flow Objects: các sự kiện, hành động và gateway.

 Connecting Objects: Sequence Flow, Message Flow, Association

 Swimlanes: Pool, Lanel.

Hình 5-38: Tập hợp các mô hình trong BPMN

5.2.3.5 Web Services Choreography Interface (WSCI)

WSCI là ngôn ngữ mô tả giao tiếp dựa trên XML. Nó mô tả các bản tin giữa các dịch vụ web tham gia vào nhóm trao đổi. Đặc tả WSCI được Sun, SAP, BEA và Intalio đưa ra. WSCI cung cấp sự liên kết các bản tin, các qui tắc về tứ tự, điều khiển việc thực thi, các phiên giao tiếp và hỗ trợ tương tác động giữa các dịch vụ. WSCI không xác định các qui trình xử lý nghiệp vụ, trái ngược với BPEL4WS. Hơn nữa, một văn bản WSCI chỉ đặc tả một dịch vụ tham gia vào nhóm trao đổi. WSCI không có qui trình xử lý tương tác phối hợp giữa các dịch vụ.

Hình 5-39: Web Services Choreography Interface (WSCI)

Sau đây em xin đưa một ví dụ đơn giản về WSCI. Ví dụ này về quá trình xử lý của một dịch vụ du lịch, được tạo ra từ các hành động tuần tự, ví dụ như ReceiveComfrimation. Trong quá trình xử lý, còn có cả các văn bản cho người mua dịch vụ và nhà cung cấp.

5.2.3.6 Business Process Management Language (BPML)

BPML được sử dụng để mô tả các qui trình nghiệp vụ. Đặc tả BPML được tổ chức Business Process Management Initiative (BPMI.org) đưa ra. BPML được so sánh với BPEL4WS vì nó cung cấp các cấu trúc mô tả tiến trình xử lý tương tự như BPEL. Nó cũng cho phép định nghĩa các hành động cơ bản để nhận và kích hoạt dịch vụ, các hành động có cấu trúc để xử lý các lựa chọn có điều kiện, các hành động có tính tuần tự và song song. Một điểm mạnh nữa của BPML là nó có tính bền bỉ và liên kết chặt chẽ, vì thế nó có khả năng quản lý các tiến trình dài. Các bản tin XML được sử dụng để hỗ trợ sự tương tác giữa các dịch vụ tham gia vào quá trình, bằng các xác định chức năng và thành phần tham gia tương tự với cấu trúc của BPEL. BPML cũng được sử dụng để tạo ra các quá trình con để tham gia vào quá trình lớn hơn.

Hình 5-41: Ví dụ đơn giản về BPML

5.2.3.7 Business Process Execution Language for Web Services (BPEL4WS).

Đặc tả BPEL4WS hiện nay đã được IBM, Microsoft và BEA phát triển toàn diện. Đặc tả này là kết hợp của XLANG và WSFL. BPEL4WS cho phép mô hình hóa các hành vi của dịch vụ web trong một quá trình nghiệp vụ. Nó bao

phối hợp giữa các dịch vụ web tham gia vào tiến trình xử lý. Ngôn ngữ này có thể được dịch và thực hiện bằng các bộ phối hợp dịch vụ như activeVOS, apacheODE hoặc jBPM JBOSS. Bộ phối hợp dịch vụ này xử lý các hành động trong quá trình và điều chỉnh hệ thống khi có lỗi xuất hiện. Em xin trình bày sâu hơn về BPEL trong phần sau.

Một phần của tài liệu đồ án tốt nghiệp đại học khảo sát các phương pháp phối hợp dịch vụ (Trang 99 - 105)

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

(116 trang)
w