T ỔNG HỢP QUÁ TRÌNH W EB CÓ NGỮ NGHĨA

Một phần của tài liệu Tổng hợp các dịch vụ web có ngữ nghĩa = design and implement a semantic web process composition framnework (Trang 34 - 38)

Để tổng hợp quá trình Web có ngữ nghĩa từ nhiều dịch vụ Web thì một yếu tố quan trọng trước tiên là phải biểu diễn tốt ngữ nghĩa của từng dịch vụ Web, vì mỗi dịch vụ Web là một thành phần nguyên tố của quá trình Web. Ngữ nghĩa cuỷa moói dũch vuù Web neõn bao goàm:

• Cam kết tuân theo ontology nào (qua ontology ta xác định được dịch vụ Web thuộc domain nào)

• Ngữ nghĩa của dữ liệu nhập

• Ngữ nghĩa của dữ liệu xuất

• Ngữ nghĩa của tiền điều kiện (preconditions) để tiến hành dịch vụ Web.

Đây là các ràng buộc để dịch vụ Web được thực hiện thành công

• Ngữ nghĩa của kết quả (effect) thực thi dịch vụ Web

• Ngữ nghĩa của tiến trình thực thi dịch vụ Web. Phần ngữ nghĩa này cho biết mối tương quan giữa dữ liệu nhập và dữ liệu xuất cũng như ảnh hưởng của tiến trình thực thi dịch vụ Web đến môi trường toàn cục trong đó dịch vụ Web được thực thi

Ngữ nghĩa trong trường hợp cần rollback dịch vụ Web. Phần ngữ nghĩa này chưa từng được đề cập trong các công trình hiện có. Trong METEOR-S có đề cập đến tất cả 6 loại ngữ nghĩa trên, chỉ có loại ngữ nghĩa trong trường hợp cần rollback dịch vụ Web là chưa được đề cập.

Trong BPEL để tổng hợp quá trình Web từ nhiều dịch vụ Web thì có khái

giao dịch (gồm nhiều dịch vụ Web) bị vi phạm đặc tính ACID (atomic, consistent, isolated, durable).

Tuy nhiên trong BPEL thì compensationHandler chỉ nêu ra sẽ làm gì trong trường hợp giao dịch thất bại chứ không nêu được ngữ nghĩa của việc rollback từng dịch vụ Web. Tác giả đề tài này tin tưởng rằng cần thiết phải mô tả ngữ nghĩa của việc rollback từng dịch vụ Web.

Cũng không thể mô tả ngữ nghĩa cho compensationHandler vì compensationHandler có dạng rất chung chung: “nếu thực hiện giao dịch gồm n dịch vụ Web mà thất bại thì rollback các dịch vụ Web đã hoàn tất”.

Chính vì vậy nếu ta mô tả ngữ nghĩa cho compensationHandler thì sẽ gặp khó khăn là ngữ nghĩa của compensationHandler sẽ khác đi tùy vào số dịch vụ Web đã hoàn tất trước khi giao dịch thất bại. Những phân tích này cho thấy mô tả ngữ nghĩa khi rollback dịch vụ Web như một phần ngữ nghĩa của dịch vụ Web là hợp lý nhất.

Đây là mở rộng đáng kể trong việc mô tả ngữ nghĩa cho dịch vụ Web của đề tài này so với các công trình hiện có. Trong tương lai thì việc sử dụng quá trình Web như một hay nhiều giao dịch là tất yếu, và muốn làm việc trên các giao dịch thì phải xử lý rốt ráo vấn đề rollback. Có thể phát bieồu nhử sau:

1. Việc dùng dịch vụ Web có ngữ nghĩa là nhằm thể hiện một cách tường minh ngữ nghĩa của dịch vụ Web như người cung cấp dịch vụ Web mong muoán

2. Việc mô tả ngữ nghĩa khi rollback dịch vụ Web giúp xác định một cách tường minh ngữ nghĩa của việc rollback dịch vụ Web khi dịch vụ Web được dùng như một phần của giao dịch.

3. Việc mô tả ngữ nghĩa khi rollback dịch vụ Web là cần thiết để cung cấp các quá trình Web có ngữ nghĩa thực sự có ngữ nghĩa về việc rollback một giao dịch bao gồm nhiều dịch vụ Web

4. Việc mô tả ngữ nghĩa khi rollback dịch vụ Web nên được tiến hành tại từng dịch vụ Web

METEOR-S có đề cập đến ba dạng khác nhau của dịch vụ Web mà việc tổng hợp quá trình Web hỗ trợ, đó là

• Giao dieọn cuỷa dũch vuù Web

• Bản mô tả dịch vụ Web có ngữ nghĩa

Điều này có nghĩa một quá trình Web có thể được tạo ra từ nhiều dịch vụ Web đã có hiện thực cụ thể bằng một ngôn ngữ lập trình nào đó. Quá trình Web cũng có thể được tổng hợp từ nhiều giao diện của dịch vụ Web, nghĩa là được tổng hợp từ bất cứ dịch vụ Web nào hiện thực giao diện đề ra.

Tuy nhiên chỉ khi quá trình Web được tổng hợp từ các bản mô tả dịch vụ Web có ngữ nghĩa thì quá trình Web mới thực sự có ngữ nghĩa.

Những hỗ trợ này của METEOR-S là tốt hơn rất nhiều so với BPEL. BPEL chỉ cho phép tạo ra quá trình Web bằng cách tổng hợp các hiện thực cụ thể của dịch vụ Web mà thôi.

Ví dụ sau, lấy từ một ví dụ mẫu trong BPWS4J của IBM minh họa cho hạn chế của BPEL. Chú ý các dòng số 5, 11, 12, 30, 31 và 32 của tài liệu BPEL. Các dòng này quy định rằng quá trình Web được tổng hợp từ dịch vụ Web nằm trong namespace cố định có tên chỉ ra ở dòng 5, kiểu của thông số phục vụ cho hàm getQuote phải có tên cố định là GetQuoteInput và GetQuoteOutput. Tên hàm phải cố định là getQuote. URL chỉ ra tài liệu chứa các mô tả WSDL của dịch vụ Web này cũng phải cố định. Dịch vụ Web này phải là một hiện thực cụ thể trong một ngôn ngữ lập trình nào đó.

Tuy nhiên việc tạo quá trình Web bằng cách tổng hợp các hiện thực cụ thể của dịch vụ Web cũng có những linh hoạt nhất định, đó là thứ tự thông số của hàm thay đổi được, thân hàm thay đổi được.

Hình 8 Giới hạn của BPEL

Luận văn này cố gắng cung cấp việc tổng hợp quá trình Web từ cả 03 dạng đặc tả khác nhau của dịch vụ Web như trong METEOR-S, với việc thêm vào ngữ nghĩa trong trường hợp cần rollback dịch vụ Web. Các chi tiết về thiết kế và hiện thực được trình bày trong phần 3.6 và 3.7.

Một phần của tài liệu Tổng hợp các dịch vụ web có ngữ nghĩa = design and implement a semantic web process composition framnework (Trang 34 - 38)

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

(79 trang)